Hallo zusammen,
das Teil ist super, wenn man allerdings feintunen will, muss man im Code wühlen. So musste ich erst tief in selbigen hinein, um herauszufinden, dass um etwa Barcodes präzise zu speichern, es da eine Konstante ByteBuffer.HIGH_PRECISION gibt, damit Koordinaten mit 6 statt (per Default) nur mit 2 Nachkommastellen gespeichert werden. 6 ist zwar schon over the top, aber immerhin...
Nun denn, jetzt gibt's das im Titel erwähnte nächste Problem: Erstellt man die PDF über das PdfGraphics2D-Objekt, so kann man im Konstruktor nur angeben, ob Grafiken generell als JPEG gespeichert werden sollen oder eben nicht. Hat man Grafiken mit Transparenz an Bord, fällt diese scheinbar einzige Einstellmöglichkeit bzgl. Grafikspeicherung schon mal weg.
Bei convertImagesToJPEG=false wird allerdings die PDF-Datei einfach nur riesig. Des Weiteren ergibt eine testweise Kompression via Pack-Programm aus einer so erzeugten 70 MB-PDF-Datei eine 870 KB-7z-Datei, was doch sehr darauf hindeutet, dass die enthaltenen Grafiken schlicht als unkomprimierte Bitmaps erfasst wurden (wenn auch mit alpha-Channel). Und das trotz PdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION);
Bevor ich mir da selbst was mühsam basteln muss, wollte ich hier Forum mein Glück versuchen, für den Fall, dass jemand bereits eine elegante Lösung dazu hat.
Danke!
das Teil ist super, wenn man allerdings feintunen will, muss man im Code wühlen. So musste ich erst tief in selbigen hinein, um herauszufinden, dass um etwa Barcodes präzise zu speichern, es da eine Konstante ByteBuffer.HIGH_PRECISION gibt, damit Koordinaten mit 6 statt (per Default) nur mit 2 Nachkommastellen gespeichert werden. 6 ist zwar schon over the top, aber immerhin...
Nun denn, jetzt gibt's das im Titel erwähnte nächste Problem: Erstellt man die PDF über das PdfGraphics2D-Objekt, so kann man im Konstruktor nur angeben, ob Grafiken generell als JPEG gespeichert werden sollen oder eben nicht. Hat man Grafiken mit Transparenz an Bord, fällt diese scheinbar einzige Einstellmöglichkeit bzgl. Grafikspeicherung schon mal weg.
Bei convertImagesToJPEG=false wird allerdings die PDF-Datei einfach nur riesig. Des Weiteren ergibt eine testweise Kompression via Pack-Programm aus einer so erzeugten 70 MB-PDF-Datei eine 870 KB-7z-Datei, was doch sehr darauf hindeutet, dass die enthaltenen Grafiken schlicht als unkomprimierte Bitmaps erfasst wurden (wenn auch mit alpha-Channel). Und das trotz PdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION);
Bevor ich mir da selbst was mühsam basteln muss, wollte ich hier Forum mein Glück versuchen, für den Fall, dass jemand bereits eine elegante Lösung dazu hat.
Danke!
Zuletzt bearbeitet: