J'ai un fichier PDF pour lequel je souhaite modifier la taille de ses pages ; appelons-le file.pdf
. Et j'ai un autre fichier PDF qui servira de modèle à file.pdf
; appelons-le model.pdf
.
Pour clarifier :je veux file.pdf
les pages doivent être de même mesure que model.pdf
's pages.
Utilisation de pdfinfo
sur model.pdf
J'obtiens les informations pertinentes suivantes :
Tagged: no
Form: none
Pages: 22
Encrypted: no
Page size: 612 x 783 pts
Page rot: 0
MediaBox: 0.00 0.00 720.00 891.00
CropBox: 54.00 54.00 666.00 837.00
BleedBox: 54.00 54.00 666.00 837.00
TrimBox: 54.00 54.00 666.00 837.00
ArtBox: 54.00 54.00 666.00 837.00
File size: 3324788 bytes
Optimized: no
PDF version: 1.7
Je ne comprends pas vraiment à quoi correspondent les deux premières colonnes de la *Box
les champs signifient, mais en cherchant sur Google, je suis arrivé à la conclusion que ma cible sont les deux dernières colonnes de la MediaBox
domaine. Donc, je veux file.pdf
être 720x891
, et je pense que les unités sont pts
.
J'ai donc trouvé cet outil appelé pdfposter
qui est censé pouvoir changer la taille des pages d'un PDF, et je l'ai fait (notez que j'ai déjà fait la conversion de points en pouces):
pdfposter -m10x12.375inch file.pdf new_file.pdf
Tout se passe bien, mais quand je vérifie new_file.pdf
avec pdfinfo
J'obtiens :
Tagged: no
Form: none
Pages: 32
Encrypted: no
Page size: 630.22 x 891 pts
Page rot: 0
MediaBox: 54.33 32.60 774.33 923.60
CropBox: 54.33 32.60 684.55 923.60
BleedBox: 54.33 32.60 684.55 923.60
TrimBox: 54.33 32.60 630.22 891.00
ArtBox: 54.33 32.60 630.22 891.00
File size: 3005203 bytes
Optimized: no
PDF version: 1.3
Il est clair que quelque chose s'est mal passé puisque la taille des pages du nouveau PDF est de 774.33x923.60
et non 720x891
; de plus, les deux premières colonnes de la MediaBox
changé de 0.00 0.00
à 54.33 32.60
et je n'ai aucune idée de pourquoi ni de ce que cela signifie.
J'ai aussi essayé d'utiliser pdfjam
mais cela ajoute simplement plus d'espace blanc aux bordures, tout en laissant le contenu du PDF intact.
Donc ma question est :comment puis-je changer la taille de mon file.pdf
's pages à celle de model.pdf
.
Remarque : Il est très important pour moi que le PDF redimensionné soit de la même qualité que le PDF original.
Réponse acceptée :
Vous pouvez utiliser pdfjam avec le --papersize
argument pour définir le format du papier de sortie. Vous devrez peut-être également utiliser --scale
et --offset
si vous voulez faire plus que redimensionner la page et son contenu ensemble.
pdfjam --papersize="$(LC_ALL=C pdfinfo model.pdf | awk '/^Page size:/ {printf "{%fbp,%fbp}", $3, $5}')" file.pdf new_file.pdf