Sto cercando uno strumento da riga di comando open source per ritagliare il file PDF proprio come possiamo fare con Adobe Acrobat Pro. Ho provato PdfTk, ImageMagick, PyPDF e GhostScript, tutti senza successo fino ad ora.
Sto cercando uno strumento da riga di comando open source per ritagliare il file PDF proprio come possiamo fare con Adobe Acrobat Pro. Ho provato PdfTk, ImageMagick, PyPDF e GhostScript, tutti senza successo fino ad ora.
Ti suggerisco di dare un'occhiata a PDFcrop .
Se desideri ritagliare un pdf con i margini sinistro, superiore, destro e inferiore di 5, 10, 20 e 30 punti (punti), quindi esegui
pdfcrop --margins '5 10 20 30' input.pdf output.pdf
nel terminale. Per ritagliare effettivamente qualcosa, usa i valori negativi nell'argomento per il ritaglio. Ad esempio,
pdfcrop --margins '-50 -50 -50 -50' input.pdf output.pdf
ritaglia 50 punti a sinistra, in alto, a destra, in basso (in quest'ordine).
Se si esegue solo il comando pdfcrop input
, verrà generato un file denominato input-crop.pdf con margini zero. Lo trovo molto utile quando includo illustrazioni in formato PDF nei documenti.
Ritaglio di più file
Sfortunatamente, pdfcrop non può ritagliare più file al momento. È comunque facile scrivere uno script che ritagli tutti i pdf nella cartella in cui si trova lo script.
Crea un nuovo file vuoto e chiamalo something.sh
. Aprilo con un editor di testo e inserisci quanto segue:
#!/bin/bash
for FILE in ./*.pdf; do
pdfcrop "${FILE}"
done
Salvalo e chiudi. Quindi fai clic con il pulsante destro sul file, vai su Proprietà & gt; Permessi e controlla il campo Consenti l'esecuzione del file come programma . Ora chiudi la finestra di dialogo. Esegui lo script facendo doppio clic su di esso e scegliendo Esegui nel terminale . E la nuova versione ritagliata a zero margine di tutti i pdf con suffisso -crop verrà ora stampata nella cartella. Se vuoi margini o altre cose, puoi ovviamente solo aprire lo script e aggiungere argomenti dopo pdfcrop
.
Grazie per Rasmus, puoi installare pdfcrop dal pacchetto texlive-extra-utils:
sudo apt-get install texlive-extra-utils
Quindi ritaglia i file pdf usando il comando di ritaglio PDF come:
pdfcrop input.pdf output.pdf
usa --help
per vedere altri parametri sorprendenti come --margins
pdfcrop --margins 5 input.pdf output.pdf
che ritaglia il pdf con 5 bp da ciascun lato della pagina
Puoi anche ritagliare i file PDF usando semplicemente Ghostscript. Ho scritto un piccolo script per semplificare il processo (ispirato da questa risposta ):
#!/bin/bash
if [ $# -lt 5 ]
then
echo "Usage: 'basename $0' <pdf-file> <x_min> <x_max> <y_min> <y_max>"
echo "Notes:"
echo " - all coordinates are absolute; no calculation of width/height necessary"
echo " - use 'gv' to determine the coordinates"
exit 65
fi
file="$1"
xmin="$2"
xmax="$3"
ymin="$4"
ymax="$5"
base="${file%.*}"
outfile="${base}_cropped.pdf"
echo "writing to: $outfile"
gs \
-o $outfile \
-sDEVICE=pdfwrite \
-c "[/CropBox [$xmin $ymin $xmax $ymax] /PAGES pdfmark" \
-f $file
Per determinare le coordinate per il ritaglio, utilizzo gv
, che stampa le coordinate del cursore del mouse usando le stesse unità di Ghostscript. Ad esempio, qui determino le coordinate minime per x / y (i valori nell'angolo in alto a sinistra):
Oralecoordinatemassime:
E infine, eseguo lo script pdf_crop_by_coordinates.sh test.pdf 45 429 38 419
producendo un test_cropped.pdf
che assomiglia a questo:
Non ho idea, però, di come la soluzione di Ghostscript sia comparabile a pdfcrop
in termini di qualità e correttezza.
Quando non riesco a fare qualcosa con pdftk, il prossimo posto che faccio è PDFjam , che è un comando line wrapper per il pdfpages pacchetto LaTeX (quindi è necessario anche installare una distribuzione TeX). Per assistenza su come usarlo, ti consiglio la schermata di aiuto regolare:
pdfjam --help
poiché la pagina man è sparsa e la pagina Web si concentra sugli esempi.
Per ritagliare un PDF, il comando che ti serve è qualcosa del tipo:
pdfjam --keepinfo --trim "10mm 15mm 10mm 15mm" --clip true --suffix "cropped" input.pdf
Questo produrrà un file chiamato input-cropped.pdf
. L'ordine dei ritagli deve essere lasciato, in basso, a destra, in alto, come per \includegraphics
da graphicx .
Per dare un'idea di come si confronta con PDFcrop, ho avuto motivo di ritagliare un PDF piuttosto elaborato di recente. Il mio originale era 675 kB, la mia versione ritagliata tramite PDFjam era 1,2 MB, mentre una versione ritagliata tramite PDFcrop era di 4,5 MB. Mentre sia PDFjam che PDFcrop hanno rimosso gli hyperlink e i segnalibri incorporati, PDFjam con l'opzione --keepinfo
ha conservato le proprietà del documento (ad esempio titolo, autore, oggetto).
Questo può aiutarti.
Questo è in accordo con la versione più recente di Ubuntu e della vita.
Questo è Master PDF Editor . Puoi usarlo ritagliare, aggiungere alcune cose, ecc.
Potresti utilizzare uno script pypdf da questa pagina . Ma nella risposta a questa domanda di stackexchange , sembra che ci siano molti opzioni pure.
Leggi altre domande sui tag command-line pdf open-source