OpenPDF erzeugt riesige PDFs, wenn Grafiken über PdfGraphics2D#drawImage gezeichnet werden

inflamer

Bekanntes Mitglied
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!
 
Zuletzt bearbeitet:

inflamer

Bekanntes Mitglied
Edit: Die derart "gute" Kompression war dem Umstand gesschuldet, dass dieselbe Grafik mehrfach gedruckt wurde...

Das Thema kann damit von mir aus gelöscht werden, pardon... :oops:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
A JasperReports (iReports) und openPDF Allgemeine Java-Themen 4
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
I PDF-Drucker erzeugt nur A4-Seiten Allgemeine Java-Themen 2
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
Seikuassi Input/Output ZipOutputStream erzeugt zu großes .zip-Archiv Allgemeine Java-Themen 3
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
G Thread erzeugt nicht plausible NullPointerException Allgemeine Java-Themen 7
Antoras Micro-benchmark für parallel vs. sequentiell erzeugt unerwartetes Ergebnis Allgemeine Java-Themen 8
H XML-File mit Java erzeugt Frage Allgemeine Java-Themen 10
H Wie erzeugt man einen Daemon? Allgemeine Java-Themen 7
N FileOutputStream erzeugt datei Allgemeine Java-Themen 8
N Servlet welches PDF erzeugt Allgemeine Java-Themen 10
G Hibernate search (Lucene) - Index wird nicht rechtzeitig erzeugt? Allgemeine Java-Themen 2
P Java TrayIcon erzeugt hohe Systemauslastung Allgemeine Java-Themen 5
K Programm erzeugt Seitenfehler Allgemeine Java-Themen 2
G Programm erzeugt ständig neue Strings . Allgemeine Java-Themen 2
A Exception in Konstruktor - trotzdem wird Objekt erzeugt! Allgemeine Java-Themen 3
P Sinnfragen, um eine riesige Verzeichnisstruktur zu durchsuchen und zu verarbeiten Allgemeine Java-Themen 20

Ähnliche Java Themen

Neue Themen


Oben