Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie ändere ch die PDF Infos bei sdPDF ? (https://www.delphipraxis.net/160050-wie-aendere-ch-die-pdf-infos-bei-sdpdf.html)

Zacherl 26. Apr 2011 02:08

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Ich komm mir hier langsam echt verarscht vor du Luftpump. Nochmal zum mitschreiben:

1) PDF mit dsPDF.dll erstellen UND speichern
2) BeginDoc, SetDocumentInfo und EndDoc importieren (bei dir heißen sie dann BeginDocF, EndDocF, etc.)
3) BeginDoc aufrufen UND den Speicherort als der PDF Datei FileName übergeben (zur Erinnerung bei dir heißt es BeginDocF)
4) Mit SetDocumentInfo die gewünschten Infos ändern (heißt bei dir SetDocumentInfoF)
5) EndDoc aufrufen (heißt bei dir EndDocF)

Hier gibts sogar ne Demo:
http://delphistep.cis.si/dspdf.htm

thomas2009 26. Apr 2011 02:16

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Ja, wir reden die ganze Zeit doch über das Demo

was ist nun hier falsch ?
Delphi-Quellcode:
var
  H: THandle;
  BeginDocF: function(FileName: PChar): Integer; stdcall;
  EndDocF: function: Integer; stdcall;
  SetDocumentInfoF: function(what: Integer; Value: PChar): Integer; stdcall;
begin
PrintPreview.SaveAsPDF('temp.pdf');// ;)

if SavePDFDialog.Execute then begin
  H := LoadLibrary('dspdf.dll');
  if H > 0 then
  begin

    @SetDocumentInfoF := GetProcAddress(H, 'SetDocumentInfoF');
    BeginDocF('temp.pdf');
    SetDocumentInfoF(4,'Blabla');
    EndDocF();

PrintPreview.SaveAsPDF(SavePDFDialog.FileName);
end;
   FreeLibrary(H);
end;

  end;

Zacherl 26. Apr 2011 02:22

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Zitat:

Zitat von thomas2009 (Beitrag 1096942)
Ja, wir reden die ganze Zeit doch über das Demo

So .. ? Gut zu wissen ..

Zitat:

Zitat von thomas2009 (Beitrag 1096942)
was ist nun hier falsch ?

1) du rufst BeginDoc auf, ohne es importiert zu haben
2) du rufst BeginDoc mit leerem Dateinamen auf
3) du rufst EndDoc auf, ohne es importiert zu haben
4) du importierst SetDocumentInfo unter dem Namen 'SetDocumentInfoF'
5) .. soll ich weitermachen oder gehst du erstmal Grundlagen lernen?

Ganz nebenbei versuchst du wie ich das sehe das PDF einerseits mit PrintPreview.SaveAsPDF zu speichern und anderseits irgendwie im Code verwurschtelt mit der dsPDF.dll eine weitere PDF Datei zu erzeugen.
Du weißst schon, dass die SaveAsPDF Methode eine komplette PDF Datei speichert?

Nach Betrachten der dsPDF.dll Demo kam ich zu dem Schluss, dass man mit dieser DLL keine PDF Metainfos bearbeiten kann. Diese DLL ist dafür gemacht eine komplette PDF Datei mit Infos anhand von Metafile Grafiken zu speichern. Das heißt jede Seite musst du in einem TMetaFile Image haben und der PDF Datei hinzufügen.

Edit: Ahso ich habe bemerkt, dass du einen Smilie Kommentar im Quelltext hast. Stört dich das nicht, wenn der später in der EXE auftaucht?

thomas2009 26. Apr 2011 02:37

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Kommentare nach // oder zwischen { } und so weiter tauchen nie in exe Datei. das haben wie schon lang hier im Forum diskutiert und mit hex Programmen die exe Dateien nach Kommentare gesucht getestet.

Nun bin Müde. Gute Nacht

Zacherl 26. Apr 2011 02:38

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Zitat:

Zitat von thomas2009 (Beitrag 1096944)
Kommentare nach // oder zwischen { } und so weiter tauchen nie in exe Datei. das haben wie schon lang hier im Forum diskutiert und mit hex Programme die exe Dateien nach Kommentare gesucht.

Echt jetzt? :mrgreen: (http://www.delphipraxis.net/159082-a...-loeschen.html)

Gute Nacht anyways ..

thomas2009 26. Apr 2011 12:23

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Zitat:

Zitat von Zacherl (Beitrag 1096945)

Ja. Der Compiler ignoriert alle Kommentare und nicht mit der Anwendung kompiliert. Mindestens habe ich personlich mit einem Hex-Programm nach meinen Kommentaren in meine exe Datei gesucht und nichts gefunden.

Nun zurück zum Thema
Ich speicher die Datei als Komplette PDF-Datei so:
Delphi-Quellcode:
PrintPreview.SaveAsPDF('temp.pdf');
Du hast gesagt, so kann man die Datei danach nicht mehr ihre Infos ändern kann. OK

wie kann ich die Datei in Printpreview als PDF speichern, indem man später mit dem Code wie im Demo bearbeiten kann ?

Daniel 26. Apr 2011 12:47

AW: Wie ändere ch die PDF Infos bei sdPDF ?
 
Das hat so alles keinen Wert.
Du wirst Dich bitte mit der Komponente und ihrer Dokumentation auseinandersetzen. Wenn Du dies nicht möchtest, ist das Deine Entscheidung, aber in diesem Fall bliebe Dir dann auch dieses Forum als Unterstützung verwehrt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz