Mám soubor PDF, u kterého chci změnit velikost stránek; říkejme tomu file.pdf . A dostal jsem další soubor PDF, který bude sloužit jako vzor pro file.pdf; říkejme tomu model.pdf .
Pro upřesnění:Chci file.pdf stránky mají stejnou velikost jako model.pdf stránky.
Pomocí pdfinfo na model.pdf Dostávám následující relevantní informace:
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
Opravdu nerozumím prvním dvěma sloupcům *Box pole znamenají, ale při hledání na Googlu jsem dospěl k závěru, že mým cílem jsou poslední dva sloupce MediaBox pole. Takže chci file.pdf být 720x891 , a myslím, že jednotky jsou pts .
Tak jsem našel tento nástroj s názvem pdfposter který by měl být schopen změnit velikost stránek PDF, a udělal jsem to (všimněte si, že jsem již provedl převod z bodů na palce):
pdfposter -m10x12.375inch file.pdf new_file.pdf
Všechno jde dobře, ale když zkontroluji new_file.pdf s pdfinfo Chápu:
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
Zjevně se něco pokazilo, protože velikost stránek nového PDF je 774.33x923.60 a ne 720x891; navíc první dva sloupce MediaBox změněno z 0.00 0.00 na 54.33 32.60 a nemám ponětí proč nebo co to znamená.
Zkoušel jsem také použít pdfjam ale pouze přidá více bílého místa k okrajům, zatímco obsah PDF zůstane nedotčen.
Moje otázka tedy zní:jak mohu změnit velikost mého file.pdf na stránky model.pdf .
Poznámka: Je pro mě velmi důležité, aby velikost PDF byla ve stejné kvalitě jako původní PDF.
Přijatá odpověď:
Můžete použít pdfjam s --papersize argument pro nastavení výstupní velikosti papíru. Možná budete také muset použít --scale a --offset pokud chcete udělat více, než změnit velikost stránky a jejího obsahu dohromady.
pdfjam --papersize="$(LC_ALL=C pdfinfo model.pdf | awk '/^Page size:/ {printf "{%fbp,%fbp}", $3, $5}')" file.pdf new_file.pdf