Ich benutze Mac OS X Snow Leopard. Ich habe ein PDF mit Formularfeldern, Anmerkungen und Stempeln. Ich möchte diese PDF-Datei einfrieren (oder "reduzieren"), damit die Formularfelder nicht geändert werden können und die Anmerkungen / Stempel nicht mehr bearbeitet werden können. Da ich tatsächlich viele dieser PDFs habe, möchte ich dies automatisch über die Befehlszeile tun.
Einige Dinge, die ich mit ihrem Erfolg ausprobiert / in Betracht gezogen habe:
- In Vorschau öffnen und in Datei drucken. Dadurch wird eine völlig flache PDF-Datei erstellt, ohne die Dateigröße zu ändern. Die einzige Möglichkeit zur Automatisierung scheint jedoch darin zu bestehen, ein klobiges, auf der Benutzeroberfläche basierendes AppleScript zu schreiben , das ich zu vermeiden versucht habe.
- Öffnen Sie in Acrobat Pro und verwenden Sie zum Reduzieren eine JavaScript-Funktion . Auch hier bin ich mir nicht sicher, wie ich dies in der Befehlszeile automatisieren soll.
- Verwenden Sie
pdftk
mit derflatten
Option. Dies glättet jedoch nur Formularfelder, keine Stempel und andere Anmerkungen. - Verwenden Sie,
cupsfilter
die PDF aus vielen Dateiformaten erstellen können. So werdenpdftk
nur die Formularfelder abgeflacht. - Verwenden Sie
cups-pdf
diese Option, um den Druckserver des Mac anzuschließen und eine PDF-Datei zu speichern, anstatt zu drucken. Ich habe die Macports-Version verwendet . Die resultierende Datei ist flach, aber riesig. Ich habe es mit einer 8MB-Datei versucht. das abgeflachte PDF war 358MB! Vielleicht kann dies mit einem Ghostscript-Aufruf wie in Ubuntu kombiniert werden. Tipp: So reduzieren Sie die PDF-Dateigröße über die Befehlszeile .
Alle anderen Vorschläge würden geschätzt.
Antworten:
Versuchen Sie es mit
pdf2ps
undps2pdf
nacheinander. Es ist etwas umständlich, hat mir aber geholfen, mein 30-MB-Dokument auf 17 MB zu reduzieren. Nicht so sehr, wie ich es mir gewünscht hätte, aber immer noch besser. Ich habe diese Idee von einem Freund erhalten, der diese Methode verwendet hat, um die Kennwortberechtigungen für ein PDF-Dokument zu entfernen.Ich hoffe, das hilft!
quelle
pdf2ps file.pdf - | ps2pdf - file_flat.pdf
. Die Datei ist von 300K auf 500K gestiegen, was eine große prozentuale Zunahme darstellt, aber nichts anderes als die 4400% ige Zunahme der erzieltencups-pdf
Methode.pdf2ps -q -sOutputFile=- file.pdf | ps2pdf - file_flat.pdf
.brew install ghostscript
.Also das ist, was ich in letzter Zeit verwendet habe. Ich denke, funktionell macht es das gleiche wie
pdf2ps file.pdf - | ps2pdf - file_flat.pdf
, aber es schien für mich besser zu funktionieren.quelle
Es ist möglicherweise nicht optional, aber haben Sie überlegt, cups-pdf mit pdftk oder cupsfilter zu verketten? Wie Sie bereits erwähnt haben, wird cups-pdf eine flache PDF-Datei erstellen und diese dann über pdftk oder cupsfilter auf eine akzeptable Größe bringen?
Alternativ werfen
/System/Library/Printers/Libraries/convert
Sie einen Blick auf Sie sollten in der Lage sein, etwas zu tunquelle
/System/Library/Printers/Libraries/convert
. Ich habe es versuchtcupsfilter
. Beim Konvertieren von PDF nach PDF wurden keine Änderungen an der Datei vorgenommen. Beim Konvertieren von PDF nach PS und dann nach PDF gingen die Anmerkungen verloren.WARNUNG: gs und pdf2ps | ps2pdf reduzieren PDFs NICHT!
Wenn Sie gs oder pdf2ps gefolgt von ps2pdf verwenden, erhalten Sie ein mehrschichtiges PDF mit dem Inhalt unter Anmerkungen in Originalform . Sie können diesen Fehler in der Vorschau überprüfen, indem Sie Alles auswählen, dann Kopieren und dann In ein TextEdit-Fenster einfügen (im Rich-Text-Modus). Sie sehen den Text oder die Grafiken beispielsweise unter Redaktionsanmerkungen. Dies ist eindeutig sehr schlecht, wenn Sie legal benötigen, dass dieser Inhalt aus der Ausgabe entfernt wird.
Eine funktionierende Lösung
ImageMagick kann mit dem folgenden Befehl ein konfigurierbares, mehrseitiges, einschichtiges, abgeflachtes PDF mit Rastern für jede Seite erstellen:
Dieser Befehl rastert document_original.pdf, erstellt ein pixelbasiertes Bild jeder Seite mit 150 DPI und gibt das Ergebnis als document_flat.pdf aus.
Ein Hinweis zur Bildqualität
Aufgrund der Rasterung wird ein nicht skalierbares PDF-Dokument (Zoom und es wird angezeigt, dass der Text oder die ursprünglichen Vektorgrafiken pixeliert sind) erstellt. Es wird wahrscheinlich eine größere Dateigröße haben, es sei denn, das Original enthält sehr komplexe Vektorinhalte wie Punktstreudiagramme.
Durch Ändern der Dichte können Sie eine größere Datei gegen eine Ausgabe mit höherer Auflösung eintauschen.
Der gesamte Text wird in jedem Seitenbild in rohe Pixel umgewandelt. Text- und Vektordiagramme leiden am meisten. Experimentieren Sie mit dem DPI, bis Sie brauchbare Ausgabedateien erhalten.
quelle
Applescript ist wahrscheinlich der beste / schnellste Weg zur Kommandozeile. Sobald es funktioniert, können Sie es als Anwendung speichern und in Ihrer Befehlsshell einen Alias erstellen, um es auszuführen. Danach geben Sie einfach Ihren Alias in die Befehlszeile ein.
quelle