将所有 PDF 页面调整为字母大小 - 如何调整或删除 CropBox?
Resize all PDF pages to letter size - how to resize or remove CropBox?
我使用的服务要求所有 PDF 页面的大小完全相同。现在,我的 PDF 的第二页是美国信纸大小,但第一页比它小一点 - 我希望第一页也是信纸大小。
Here's a sample PDF 我开始的内容。以下是 pdfinfo
关于此文件开头的内容:
Creator: pdftk 2.02 - www.pdftk.com
Producer: itext-paulo-155 (itextpdf.sf.net-lowagie.com)
CreationDate: Fri Jun 5 11:37:13 2020 CDT
ModDate: Fri Jun 5 11:37:13 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: AcroForm
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 576 x 755.999 pts
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 576.00 756.00
Page 1 CropBox: 0.00 0.00 576.00 756.00
Page 1 BleedBox: 0.00 0.00 576.00 756.00
Page 1 TrimBox: 0.00 0.00 576.00 756.00
Page 1 ArtBox: 44.83 151.48 534.17 576.50
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 484669 bytes
Optimized: no
PDF version: 1.
我的第一次尝试是这样的:
gs -dBATCH -dNOPAUSE -q \
-sPAPERSIZE=letter -dFIXEDMEDIA -dPDFFitPage \
-sDEVICE=pdfwrite -sOutputFile=/tmp/output.pdf \
/tmp/input.pdf
下面是 pdfinfo
对输出的描述:
Creator: pdftk 2.02 - www.pdftk.com
Producer: GPL Ghostscript 9.26
CreationDate: Fri Jun 5 11:46:15 2020 CDT
ModDate: Fri Jun 5 11:46:15 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 603.429 x 792 pts
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 612.00 792.00
Page 1 CropBox: 4.29 0.00 607.71 792.00
Page 1 BleedBox: 4.29 0.00 607.71 792.00
Page 1 TrimBox: 4.29 0.00 607.71 792.00
Page 1 ArtBox: 51.25 158.69 563.89 603.95
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 143412 bytes
Optimized: no
PDF version: 1.7
此时我使用的服务仍然拒绝我的 PDF 页面大小不匹配,我猜是因为 PDF 的第 1 页设置了 CropBox。
此时我尝试使用以下命令将 CropBox 设置为与 MediaBox 相同的尺寸:
gs -dBATCH -dNOPAUSE -q \
-sPAPERSIZE=letter -dFIXEDMEDIA -dPDFFitPage \
-sDEVICE=pdfwrite -sOutputFile=/tmp/output.pdf \
-c "[/CropBox [0 0 612 792] /PAGES pdfmark" \
-f /tmp/input.pdf
但它似乎没有任何效果 - pdfinfo
仍然相同,只是文件大小在 143435 bytes
处稍大一些。
如何调整 PDF 的 CropBox 大小或删除 CropBox 以使所有内容以 MediaBox 页面大小呈现?
这是我的 Ghostscript 版本:
GPL Ghostscript 9.26 (2018-11-20)
好吧,我发现 this answer 包含使用 sed
(!) 删除 CropBoxes 的方法,这似乎对我有用:
sed -i.bak -e "/CropBox/,/]/s#.# #g" /tmp/output.pdf
pdfinfo
:
Creator: pdftk 2.02 - www.pdftk.com
Producer: GPL Ghostscript 9.26
CreationDate: Fri Jun 5 12:03:07 2020 CDT
ModDate: Fri Jun 5 12:03:07 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 612 x 792 pts (letter)
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 612.00 792.00
Page 1 CropBox: 0.00 0.00 612.00 792.00
Page 1 BleedBox: 0.00 0.00 612.00 792.00
Page 1 TrimBox: 4.29 0.00 607.71 792.00
Page 1 ArtBox: 51.25 158.69 563.89 603.95
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 143413 bytes
Optimized: no
PDF version: 1.7
希望在 Ghostscript 中有更好的方法来执行此操作,而不是通过直接文本编辑来破坏文件,但现在它正在运行,我正在使用的服务现在正在接受该文件。
我使用的服务要求所有 PDF 页面的大小完全相同。现在,我的 PDF 的第二页是美国信纸大小,但第一页比它小一点 - 我希望第一页也是信纸大小。
Here's a sample PDF 我开始的内容。以下是 pdfinfo
关于此文件开头的内容:
Creator: pdftk 2.02 - www.pdftk.com
Producer: itext-paulo-155 (itextpdf.sf.net-lowagie.com)
CreationDate: Fri Jun 5 11:37:13 2020 CDT
ModDate: Fri Jun 5 11:37:13 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: AcroForm
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 576 x 755.999 pts
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 576.00 756.00
Page 1 CropBox: 0.00 0.00 576.00 756.00
Page 1 BleedBox: 0.00 0.00 576.00 756.00
Page 1 TrimBox: 0.00 0.00 576.00 756.00
Page 1 ArtBox: 44.83 151.48 534.17 576.50
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 484669 bytes
Optimized: no
PDF version: 1.
我的第一次尝试是这样的:
gs -dBATCH -dNOPAUSE -q \
-sPAPERSIZE=letter -dFIXEDMEDIA -dPDFFitPage \
-sDEVICE=pdfwrite -sOutputFile=/tmp/output.pdf \
/tmp/input.pdf
下面是 pdfinfo
对输出的描述:
Creator: pdftk 2.02 - www.pdftk.com
Producer: GPL Ghostscript 9.26
CreationDate: Fri Jun 5 11:46:15 2020 CDT
ModDate: Fri Jun 5 11:46:15 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 603.429 x 792 pts
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 612.00 792.00
Page 1 CropBox: 4.29 0.00 607.71 792.00
Page 1 BleedBox: 4.29 0.00 607.71 792.00
Page 1 TrimBox: 4.29 0.00 607.71 792.00
Page 1 ArtBox: 51.25 158.69 563.89 603.95
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 143412 bytes
Optimized: no
PDF version: 1.7
此时我使用的服务仍然拒绝我的 PDF 页面大小不匹配,我猜是因为 PDF 的第 1 页设置了 CropBox。
此时我尝试使用以下命令将 CropBox 设置为与 MediaBox 相同的尺寸:
gs -dBATCH -dNOPAUSE -q \
-sPAPERSIZE=letter -dFIXEDMEDIA -dPDFFitPage \
-sDEVICE=pdfwrite -sOutputFile=/tmp/output.pdf \
-c "[/CropBox [0 0 612 792] /PAGES pdfmark" \
-f /tmp/input.pdf
但它似乎没有任何效果 - pdfinfo
仍然相同,只是文件大小在 143435 bytes
处稍大一些。
如何调整 PDF 的 CropBox 大小或删除 CropBox 以使所有内容以 MediaBox 页面大小呈现?
这是我的 Ghostscript 版本:
GPL Ghostscript 9.26 (2018-11-20)
好吧,我发现 this answer 包含使用 sed
(!) 删除 CropBoxes 的方法,这似乎对我有用:
sed -i.bak -e "/CropBox/,/]/s#.# #g" /tmp/output.pdf
pdfinfo
:
Creator: pdftk 2.02 - www.pdftk.com
Producer: GPL Ghostscript 9.26
CreationDate: Fri Jun 5 12:03:07 2020 CDT
ModDate: Fri Jun 5 12:03:07 2020 CDT
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 2
Encrypted: no
Page 1 size: 612 x 792 pts (letter)
Page 1 rot: 0
Page 2 size: 612 x 792 pts (letter)
Page 2 rot: 0
Page 1 MediaBox: 0.00 0.00 612.00 792.00
Page 1 CropBox: 0.00 0.00 612.00 792.00
Page 1 BleedBox: 0.00 0.00 612.00 792.00
Page 1 TrimBox: 4.29 0.00 607.71 792.00
Page 1 ArtBox: 51.25 158.69 563.89 603.95
Page 2 MediaBox: 0.00 0.00 612.00 792.00
Page 2 CropBox: 0.00 0.00 612.00 792.00
Page 2 BleedBox: 0.00 0.00 612.00 792.00
Page 2 TrimBox: 0.00 0.00 612.00 792.00
Page 2 ArtBox: 0.00 0.00 612.00 792.00
File size: 143413 bytes
Optimized: no
PDF version: 1.7
希望在 Ghostscript 中有更好的方法来执行此操作,而不是通过直接文本编辑来破坏文件,但现在它正在运行,我正在使用的服务现在正在接受该文件。