batch pdf groesse optimieren
-
-
Das ist etwas anderes.
Ich habe ein Archivierungssystem wo ich die PDFs onthefly auf TIFF erzeuge, da
liegen die als CCIT-FAX vor (und nicht als Druckvorstufe). Bei Dir bleibt nur, die
PDFs zu zerlegen, die Bilder zu skalieren und dann die PDFs neu zu erstellen.Ich weiß nicht, ob es da etwas fertiges gibt. Leider ist PDF etwas zickig

-
mmmh, also das einfachste was mir einfällt ist die bilder mit pdfimages (aus dem poppler-utils paket) zu extrahieren, diese zu komprimieren und dann mit pypdf gegen die orginal bilder auszutauschen.
-
borg schrieb:
mmmh, also das einfachste was mir einfällt ist die bilder mit pdfimages (aus dem poppler-utils paket) zu extrahieren, diese zu komprimieren und dann mit pypdf gegen die orginal bilder auszutauschen.
Ey, das ist aber die blanke Faulheit

Aus dem PDF die xref auslesen und alle Objects die Bilder darstellen auf die
Platte schreiben. Die Struktur des PDF ändert sich ja nicht, nur die Offsets.
Zwischendrin die Builderl runterskalieren, je nach Format.
-
borg schrieb:
mmmh, also das einfachste was mir einfällt ist die bilder mit pdfimages (aus dem poppler-utils paket) zu extrahieren, diese zu komprimieren und dann mit pypdf gegen die orginal bilder auszutauschen.
So einfach ist das aber nicht - denn du musst den Kontext wissen indem das Bild vorkommt um zu wissen auf was du es skalieren musst.
Diese Arbeit ist nicht trivial, sonst haette ich es laengst selbst gemacht.
PS:
es gibt kommerzielle Tools die das machen - es ist eine sehr gaengige Arbeit PDFs zu optimieren. Nur will ich eigentlich dafuer kein Geld ausgeben. Deshalb suche ich eben eine freie Variante.
-
Shade Of Mine schrieb:
So einfach ist das aber nicht - denn du musst den Kontext wissen indem das Bild vorkommt um zu wissen auf was du es skalieren musst.
Was meinst du mit Kontext? Woher kennen kommerzielle Programme den Kontext?
-
PDFs sind für den Druck gemacht, dh ein Bild kann eine Auflösung von 10mio mal 10mio haben und dennoch nur auf 1x1 cm gedruckt werden.
Nur woher weiß ich auf was für eine Fläche ich das Bild drucken muss? Das ist das Problem wenn ich die Bilder einfach nur ohne Kontext aus dem PDF nehme. Natürlich ist es auch möglich den Kontext auszulesen - wie sollte sonst ein Viewer das Bild in der richtigen Größe darstellen? Aber man muss eben das ganze PDF parsen dafür - und das ist eben keine triviale Aufgabe.
Es sei denn du kennst eine freie Library die das kann.
-
Probier's mal mit der PDF-Doku (irgendwo bei Adobe). Die Größe kann man auslesen
und dann entsprechend das Bild skalieren. Dann alles wieder zusammenschraddeln, nur
die xref muß neu erzeugt werden.
-
Scheppertreiber schrieb:
Probier's mal mit der PDF-Doku (irgendwo bei Adobe). Die Größe kann man auslesen
und dann entsprechend das Bild skalieren. Dann alles wieder zusammenschraddeln, nur
die xref muß neu erzeugt werden.Wenn ihr keine Ahnung habt, dann sagt bitte nichts.
Ich habe mich mit dem Thema bereits näher befasst - ich würde nicht fragen wenn ich da nicht schon einige Zeit rein investiert hätte.Wenn es so trivial ist, dann mach doch bitte mal kurz selber.
Es hat schon seinen Grund warum die guten Tools die das können sehr teuer sind.
Statt solchen Antworten kann man gleich JFGI sagen - hat den selben Inhalt dann.
Einfach mal kurz einen kompletten PDF Parser bauen... ja klar. Meine Güte - ist es so schwer zu sagen "Nein, ich kenne kein fertiges Tool"? Bzw. dann einfach nichts sagen.
Was natürlich geht wäre ein Hinweis auf eine Library die das kann. Aber ich habe noch keine gefunden. Das alleine sollte einem ja schon zu denken geben wie trivial diese Aufgabe ist, oder?
Es gibt zB ein Unix-Tool das pdfopt heisst und PDFs optimiert. Aber es kann nur Linearisieren und sonst nix. pdfimages kann zB nichtmal korrekt die Images exportieren.
Sorry wenn ich jetzt etwas sauer wirke, aber die Vorschläge sind einfach nur Schwachsinn. Deshalb: bitte nur posten wenn man etwas zum Thema beitragen kann...
-
Es ist kein Schwachsinn.
Ich erstelle in meiner Software PDFs und habe mich auch mit Grausen durch die
Doku gewühlt. Es ist anfangs etwas sperrig, ansonsten aber das einzige Format
das reproduzierbare Ergebnisse bringt (im Gegensatz zu zB HTML).Es gibt die PDF-Lib (xpdf). Nimm die wenn Du nicht auch dazu zu bequem bist.
Schreiben werde ich Dir so ein Programm nicht, hier gilt Hilfe zur Selbsthilfe.
Nimm es an oder nicht.
-
Scheppertreiber schrieb:
Es ist kein Schwachsinn.
Ich erstelle in meiner Software PDFs und habe mich auch mit Grausen durch die
Doku gewühlt. Es ist anfangs etwas sperrig, ansonsten aber das einzige Format
das reproduzierbare Ergebnisse bringt (im Gegensatz zu zB HTML).Es gibt die PDF-Lib (xpdf). Nimm die wenn Du nicht auch dazu zu bequem bist.
Schreiben werde ich Dir so ein Programm nicht, hier gilt Hilfe zur Selbsthilfe.
Nimm es an oder nicht.Das Problem dabei ist: ein PDF erstellen ist einfach. Aber es kostet sicher 40 Stunden eine Software zu schreiben die Bilder auslesen kann und diese richtig umwandeln kann.
xpdf ist leider nicht dokumentiert und pdfimages bringt mir nix - wie schon gesagt. uU bietet xpdf die benötigte Funktionalität - nur ohne Doku bringt mir das herzlich wenig.
PS:
und die Frage war: kennt jemand ein fertiges Tool
und nicht:
kann mir jemand den PDF Standard erklären.Ich will kein Programm selber schreiben - nur wenn es gewisse funktionalität in einer Library schon gibt.
Ist das so schwer zu verstehen?
Klar kann ich mich mit der PDF Spezifikation hinsetzen und alles von Hand machen - aber wo ist der Sinn? Da kaufe ich einfach den Acrobat und bin billiger davongekommen und das ergebnis ist auch perfekt.
-
Hehe, Forum-Suche benutzen

http://www.c-plusplus.net/forum/viewtopic-var-p-is-1588115.html#1588115
(mein eigenes Thema *g*)