Autor Beitrag
C++arsten
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 79



BeitragVerfasst: Fr 22.07.11 09:53 
Hallo,

ich starte mit Printer.BeginDoc, dann wird der Drucker "gefüllt", es endet mit Printer.EndDoc. Drucken funktioniert, sogar mit xps-Drucker. Ich möchte nun aber die Datei nicht drucken, sondern als pdf speichern. Hat jemand dazu einen Rat? Danke!

MfG
Carsten
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Fr 22.07.11 11:28 
virtuellen PDF Drucker installieren und auf den drucken (z.B. FreePDF). Oder mal die diversen PDF Komponenten (QuickPDF, Gnostice, ...) ausprobieren.
C++arsten Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 79



BeitragVerfasst: Sa 23.07.11 09:52 
ich probiers mal und melde mich, danke.
Kawa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45
Erhaltene Danke: 1



BeitragVerfasst: Sa 23.07.11 18:00 
Hallo,
aus Memo oder Richedit Datei willst du als PDF Speichern!
C++arsten Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 79



BeitragVerfasst: So 24.07.11 09:58 
Hallo, pdfcreator scheint das Problem zu lösen.
Ich melde mich, wenn das Problem abschließend gelöst ist.

MfG Carsten
C++arsten Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 79



BeitragVerfasst: So 24.07.11 17:06 
pdfcreator läuft. Danke erst einmal für die Antworten.

Nun habe ich noch eine Frage. Das Drucken soll im Hintergrund erfolgen, d. h. der user soll nicht über den Druckerdialog gehen müssen. Mir würde ein Codeschnipsel reichen, wie ich eine Seite mehrfach als pdf in einem gegebenen Verzeichnis (soll programmseitig festgelegt werden) abspeichern kann.

Hat jemand einen Rat?
Kawa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45
Erhaltene Danke: 1



BeitragVerfasst: So 24.07.11 22:42 
man kann auch so lösen ohne Komponente und Drucker Dialog!

die Units einfügen in "uses"
ausblenden Delphi-Quelltext
1:
SynCommons, SynPdf, SQLite3Pages,Fastmm4					



direkt Speichern
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
   begin
 with TGDIPages.Create(self) do
  try            
   BeginDoc;      
    Font.Size := 9;
    AppendRichEdit(RichEdit.Handle);
   EndDoc;       

    ExportPDF(ChangeFileExt(paramstr(0),'test.pdf'),true,false);
    finally     
      Free;
 end;
 end;

---------------------------
mit SaveDialog Speichern

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.Button2Click(Sender: TObject);
   var
  dateiname:String;
BEGIN
  if SaveDialog1.Execute then
          begin
 with TGDIPages.Create(self) do
  try              
   BeginDoc;      
    Font.Size := 9;
    AppendRichEdit(RichEdit.Handle);
   EndDoc;       

               if TFileName(SaveDialog1.FileName) = '*.pdf' then
                    case SaveDialog1.FilterIndex of
          0:  dateiName := ChangeFileExt(SaveDialog1.FileName,'.pdf');
          end
          else
           SaveDialog1.FileName :=ChangeFileExt(SaveDialog1.FileName,'.pdf');
           dateiName :=ChangeFileExt(SaveDialog1.FileName,'.pdf');
           ExportPDF(TFileName(SaveDialog1.FileName),true,false);
          finally      
      Free;
   end;
    END;
   END;


Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
C++arsten Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 79



BeitragVerfasst: Mo 25.07.11 21:59 
Hallo Kawa,

danke für die Antwort. Doch wo holst du denn das her: SynCommons, SynPdf, SQLite3Pages,Fastmm4?
Kawa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.07.11 23:48 
user profile iconC++arsten hat folgendes geschrieben Zum zitierten Posting springen:
Hallo Kawa,

danke für die Antwort. Doch wo holst du denn das her: SynCommons, SynPdf, SQLite3Pages,Fastmm4?


wenn ich schaffe gucke ich morgen (26.07.11) nach!
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Di 26.07.11 06:02 
FastMM4 kannst Du erst mal vergessen (ist der Delphi Speichermanager), die beiden Syn... Units brauchst Du wohl: das sollte von SynopsePDF sein, die PDF Komponente, die in dem Code verwendet wird (nur so viel zum Thema "ohne Komponente"): blog.synopse.info/ca...s/Synopse-PDF-engine
SQLite3Pages stammt auch aus dem Synopse Umfeld. Mußt schauen, ob Du sie brauchst oder ob sie nicht schon bei der PDF Engine dabei ist.
Kawa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45
Erhaltene Danke: 1



BeitragVerfasst: Di 26.07.11 21:59 
ok,

gehe mal bitte die Seite: synopse.info/fossil/...9320457a69760e0b2789

dann " ZIP archive" (5mb) herunterladen!,da sind auch Beispiele drin.

Für diesen Beitrag haben gedankt: Blawen