Ho un file PDF per il quale voglio cambiare le dimensioni delle sue pagine; chiamiamolo file.pdf
. E ho ottenuto un altro file PDF che servirà da modello per file.pdf
; chiamiamolo model.pdf
.
Per chiarire:voglio file.pdf
Le pagine di 's devono essere della stessa misura di model.pdf
pagine di s.
Utilizzando pdfinfo
su model.pdf
Ottengo le seguenti informazioni rilevanti:
Non capisco davvero quali siano le prime due colonne del *Box
i campi significano, ma facendo un po' di ricerca su Google sono giunto alla conclusione che il mio obiettivo sono le ultime due colonne del MediaBox
campo. Quindi, voglio file.pdf
essere 720x891
e penso che le unità siano pts
.
Quindi ho trovato questo strumento chiamato pdfposter
che dovrebbe essere in grado di modificare la dimensione delle pagine di un PDF, e l'ho fatto (notare che ho già effettuato la conversione da punti a pollici):
pdfposter -m10x12.375inch file.pdf new_file.pdf
Tutto va bene, ma quando controllo new_file.pdf
con pdfinfo
Ottengo:
Tagged:noForm:nonePages:32Encrypted:noPage size:630.22 x 891 ptsPage rot:0MediaBox:54.33 32.60 774.33 923.60CropBox:54.33 32.60 684.55 923.60BleedBox:54.33 32.60 684.55 923.60TrimBox:54.33 32.60 630.22 891.00ArtBox:54.33 32.60 630.22 891.00 Dimensione file:3005203 bytesOttimizzato:noVersione PDF:1.3
Chiaramente qualcosa è andato storto poiché la dimensione delle pagine del nuovo PDF è 774.33x923.60
e non 720x891
; inoltre le prime due colonne del MediaBox
cambiato da 0.00 0.00
a 54.33 32.60
e non ho idea del perché o di cosa significhi.
Ho anche provato a usare pdfjam
ma aggiunge solo più spazio bianco ai bordi, lasciando inalterato il contenuto del PDF.
Quindi la mia domanda è:come posso cambiare la dimensione del mio file.pdf
's pagine a quella di model.pdf
.
Nota: Per me è molto importante che il PDF ridimensionato sia della stessa qualità del PDF originale.
Risposta accettata:
Puoi usare pdfjam con --papersize
argomento per impostare il formato carta di output. Potrebbe anche essere necessario utilizzare --scale
e --offset
se vuoi fare di più che ridimensionare la pagina e il suo contenuto insieme.
pdfjam --papersize="$(LC_ALL=C pdfinfo model.pdf | awk '/^Dimensione pagina:/ {printf "{%fbp,%fbp}", $3, $5}')" file .pdf nuovo_file.pdf