Shell-Skripte: Seitenbreite eines PDFs ändern?

484
kdb

Ich habe eine gescannte PDF-Datei, bei der verschiedene Seiten unterschiedliche Seitenbreiten aufweisen, da das PDF aus mehreren Quellen verkettet wurde. Dies neigt dazu, Zuschauer zu stürzen.

Gibt es ein Befehlszeilentool, das allen Seiten die gleiche Breite zuweisen kann?

Da der Scanvorgang groß und bereits stark komprimiert ist, sollten die eigentlichen Bitmap-Bilder unverändert bleiben, und der OCR-Text sollte dabei erhalten bleiben.

Zum Beispiel:

  • Vor.
    • Seitengröße 15x10 cm
    • Bildanzeigegröße 15x10 cm
    • Bildpixelgröße 1500x1000
  • Nach dem.
    • Seitengröße 30x20 cm
    • Bildanzeigegröße 30x20 cm
    • Bildpixelgröße 1500x1000, unveränderter binärer Datenstrom.

Eine Lösung mit Imagemagick wäre zu bevorzugen, da sie Shell-Skripts über Cygwin leicht zugänglich ist. Ich habe jedoch den Verdacht, dass es nicht möglich ist, zu verhindern, dass Imagemagick die Bilder neu codiert.

1

1 Antwort auf die Frage

1
harrymc

Sie könnten Ghostscript ausprobieren :

gs -sOutputFile=output.pdf -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -dPDFFitPage -f input.pdf 

Ändern Sie a4die Größe, die Ihren Bedürfnissen besser entspricht.

Siehe Papiergröße in der Dokumentation auswählen .

Sie sollten GhostScript (gs) über das Cygwin- setup.exeProgramm installieren können .

Das funktioniert ja! Mit Ausnahme des ungewöhnlichen Eckfalls werden Seiten mit Querformat automatisch um 90 ° gegen den Uhrzeigersinn gedreht. Wissen Sie, ob es eine Möglichkeit gibt, die Orientierung zu behalten? kdb vor 6 Jahren 0