Einer unserer Anbieter hat begonnen, ein unnötig großes Bild auf die letzte Seite der PDF-Dateien zu kleben, die wir von ihnen erhalten. Ich muss das abschneiden. Wir haben jedoch Hunderte davon, daher ist es unerschwinglich, manuell einzusteigen. Was sind die besten Möglichkeiten, um die letzte Seite einer PDF-Datei automatisch zu extrahieren und dann zu löschen (vorzugsweise zuerst eine, dann die andere; ich muss noch über die Dateigröße bestätigen, dass ich keine lösche, die kein Bild enthält)? Betriebssystem ist Linux.
Ich kann es mit Ghostscript extrahieren, mit etwas in der Art von gs -dFirstPage=5 -dLastPage=5
, aber ich muss dies automatisieren, ich kann nicht durchgehen und manuell herausfinden, wie die Nummer der letzten Seite ist.
Irgendwelche Ideen?
Bearbeiten: Zur Verdeutlichung möchte ich einfach die letzte Seite aufteilen / löschen. Nicht das Bild darin, sondern den letzten Seitenzeitraum herausschneiden.
pdftk
- ich bin mir sicher, dass es allgemein möglich ist, für diese Art von Aufgabe zu arbeiten.Antworten:
Wie @Daniel Andersson bereits kommentierte, kann dies leicht gemacht werden mit
pdftk
:Ich weiß nicht, ob es mit einem Aufruf von pdftk möglich ist ...
Bearbeiten : Sie können es mit Thanosks Antwort kombinieren und verwenden (in Bash):
wenn Sie bereits die letzte Seite in die Variable extrahiert haben
$last
.quelle
Um die Antwort von @ Eldering weiter zu verbessern, können pdftk Version 1.45 und höher Seiten in umgekehrter Reihenfolge referenzieren, indem der Kleinbuchstabe r der Seitenzahl vorangestellt wird. Die letzte Seite in einem PDF ist r1, die vorletzte Seite ist r2 usw.
Zum Beispiel der einzelne pdftk-Aufruf:
löscht die letzte Seite aus input.pdf - die Eingabe sollte mindestens zwei Seiten lang sein.
Führen Sie Folgendes aus, um nur die letzte Seite einer PDF-Datei zu extrahieren und ihre Dateigröße zu testen:
Pdftk ist unter Linux verfügbar. Viele Distributionen haben eine Binärdatei, die Sie installieren können. Sie sollten jedoch sicherstellen, dass es sich um Version 1.45 oder höher handelt. Wenn nicht, können Sie pdftk aus dem Quellcode erstellen.
quelle
pdfinfo gibt Ihnen die Größe der tatsächlichen PDF-Datei an, und pdfimages gibt Ihnen einen Index der Bilder in dieser PDF-Datei. So können Sie ein Skript in das Formular schreiben
Das sollte zurückgegeben werden, wenn eine bestimmte Datei ein Bild auf der letzten Seite hat. Wenn dies der Fall ist, können Sie alle erforderlichen Manipulationen vornehmen.
quelle
Hier ist eine Lösung mit pdfjam anstelle von pdftk:
Wobei das erste Argument die zu trimmende Datei und das zweite Argument die Anzahl der zu schneidenden Seiten ist (standardmäßig 1).
quelle
Eine einzeiler Lösung wäre die Verwendung
find
zusammenpdftk
:HINWEIS : Die zugeschnittenen Dateien werden in diesem Beispiel in einem Unterverzeichnis gespeichert
cut
, das aufgerufen wird , um den ursprünglichen Dateinamen beizubehalten, dapdftk
das Überschreiben von Eingabedateien nicht möglich ist.quelle