PDF's komprimieren

Status
Nicht offen für weitere Antworten.

Verjigorm

Top Contributor
Hallo,

ich suche eine Möglichkeit mit Java PDFs zu komprimieren.
Wir haben mehrere tausend PDF's, die einfach zu groß sind.
Wir haben zwar in der Firma den Acrobat Reader Pro (irgendwas) der das auch kann, aber man muss dazu jede PDF einzeln öffnen und komprimieren. (bis zu 90% kleiner, ohne merklichen Verlust)
Bei der Menge an PDF's ein Faß ohne Boden, da täglich teilweise hunderte (nicht komprimierte) hinzukommen.

Jemand ne Idee, wie man das programmgesteuert machen könnte?
Der Acrobat bietet leider dazu kein Kommandozeilen-Funktion.
Habe auch bereits nach sonstigen Freeware-Tools gesucht, wie z.B. den Free PDF Compressor 1.12 aber die waren allesamt sch****

Muss ja auch nicht unbedingt über Java steuerbar sein, würde auch reichen, wenn er mehrere PDFs (z.B. alle in einem ordner) komprimieren könnte.

mfg Verjigorm
 

Verjigorm

Top Contributor
Arbeite mal mit gezippten PDFs :bahnhof:
Davon werden Hunderte pro Tag geöffnet und verändert (von Hand!)....
 

frapo

Bekanntes Mitglied
Arbeite mal mit gezippten PDFs :bahnhof:
Davon werden Hunderte pro Tag geöffnet und verändert (von Hand!)....

Hm.. okay.. ich dachte es ging um das reine archivieren von Dokumenten. Das diese ständig wieder geöffnet und verändert werden war mir nicht klar.

Das erscheint mir alles etwas umständlich im Handling, gibt es da nicht die Möglichkeit eine richtige Dokumentenverwaltung einzusetzen?
 

Der Müde Joe

Top Contributor
vielleicht mal mit iText ausprobieren, wobei ich da nicht so viel Erfahrung habe:
Java:
File outFile = new File("copy.pdf");
File inFile = new File("orig.pdf");
PdfReader reader = new PdfReader(new FileInputStream(inFile));
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy copy = new PdfCopy(document, new FileOutputStream(outFile));

copy.setCompressionLevel(9);
copy.setFullCompression();

document.open();
int pages = reader.getNumberOfPages();
for(int i = 1 ; i <= pages; i++) {
	PdfImportedPage page = copy.getImportedPage(reader, i);
	copy.addPage(page);
}
document.close();
System.out.println("Size original: " + inFile.length() / 1024 + " KB");
System.out.println("Size out: " + outFile.length() / 1024 + " KB");
System.out.println("Shrinked: " + ((int)((1 - (double)outFile.length() / inFile.length())*100) ) + " %");
 

Verjigorm

Top Contributor
Ok danke, mit iText habe ich mich bisher noch nie beschäftigt.
Habe es jetzt mal eingebaut und sieht soweit ganz gut aus.
Werde das mal weiter testen.

mfg Verjigorm
 

Verjigorm

Top Contributor
Size original: 1103 KB
Size out: 1103 KB
Shrinked: 0 %
Size original: 297 KB
Size out: 297 KB
Shrinked: 0 %
Size original: 670 KB <-----
Size out: 669 KB <-----
Shrinked: 0 %
Size original: 304 KB
Size out: 304 KB
Shrinked: 0 %
Size original: 996 KB
Size out: 996 KB
Shrinked: 0 %
Size original: 1102 KB
Size out: 1101 KB
Shrinked: 0 %
Size original: 1010 KB
Size out: 1010 KB
Shrinked: 0 %
Size original: 569 KB
Size out: 569 KB
Shrinked: 0 %
Size original: 194 KB
Size out: 194 KB
Shrinked: 0 %
Size original: 634 KB <-----
Size out: 633 KB <-----
Shrinked: 0 %
Size original: 472 KB
Size out: 472 KB
Shrinked: 0 %
Size original: 353 KB
Size out: 353 KB
Shrinked: 0 %
Size original: 456 KB
Size out: 456 KB
Shrinked: 0 %
Size original: 310 KB
Size out: 310 KB
Shrinked: 0 %
Size original: 448 KB
Size out: 448 KB
Shrinked: 0 %
Size original: 410 KB
Size out: 410 KB
Shrinked: 0 %
Size original: 529 KB <-----
Size out: 528 KB <-----
Shrinked: 0 %
Size original: 771 KB <-----
Size out: 770 KB <-----
Shrinked: 0 %
Size original: 784 KB
Size out: 784 KB
Shrinked: 0 %
Size original: 718 KB
Size out: 718 KB
Shrinked: 0 %
Size original: 711 KB
Size out: 711 KB
Shrinked: 0 %
Size original: 752 KB
Size out: 752 KB
Shrinked: 0 %
Size original: 795 KB
Size out: 795 KB
Shrinked: 0 %
Size original: 371 KB
Size out: 371 KB
Shrinked: 0 %
Size original: 270 KB <-----
Size out: 269 KB <-----
Shrinked: 0 %
Size original: 325 KB
Size out: 325 KB
Shrinked: 0 %

hm scheint rein garnix zu bringen.
Wenn ich die durch den Acrobat Reader jage, sind die nur noch 10% so groß.
 

Der Müde Joe

Top Contributor
hmmm..schade..habs mit ein paar PDFs probiert und teils hat geklappt, aber eben auch nicht bei allen. Vielleicht kann man da noch was rausholen mit dem PdfStream oder so, kenne mich aber leider damit auch nicht besonders aus. Ein Versuch wars wert...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben