Entwickler-Ecke

Sonstiges (Delphi) - in bestehendes PDF schreiben


jahuer1 - Di 14.06.05 12:05
Titel: in bestehendes PDF schreiben
Ich habe ein "Basis"-PDF mit einem Logo und Begrüssungstext. In dieses PDF wird nun ein beliebiger Text hinzugefügt. Im Text wechselt der Font zuweilen.

Problem:
Das so generierte PDF ist ein paar MB gross!!! :(
(so etwa 10 MB pro Seite...)

Das hat offenbar mit der völlig ineffizienten Schnell-Speicherung von Dokumenten bei PDF zu tun (Kennen wir ja vom Adobe Acrobat {Unterschied von "Speichern" und "Speichern unter..."})

Was kann ich dagegen unternehmen?

Ich verwende die Komponente "iSEDQuickPdf".


(Das Ganze muss natürlich im Programm ablaufen...)


jahuer1 - Di 21.06.05 10:22
Titel: Lösung gefunden
Es geht grundsätzlich darum, ob bei einem Schriftwechsel der neue Font mit eingebettet wird oder nicht.
Wird der Font eingebettet, verhält sich PDF extrem ineffizient! :evil: Bei mir wurde pro Wechsel ca. 1MB :!: draufgeladen...
Wenn ihr also nicht MB-schwere PDF's wollt: den Font nicht zwingend einbetten. (Entspricht zwar nicht gewissen Kommunikationsstandards, ist aber beim Gebrauch von Standardfonts auch nicht nötig).

Für iSEDQuickPDF - User:

QuickPDF.AddTrueTypeFont(fName,0); // Font wird nicht eingebettet
vs.
QuickPDF.AddTrueTypeFont(fName,1); // Font wird eingebettet