我正在尝试设置一本书以在Blurb.com上打印。我正在准备PDF,并且想要设置MediaBox,Bleedbox和TrimBox来确认我的文档已正确设置以进行打印。关于BleedBox,这里有一个existing question,但是答案不像pdfinfo所报告的那样更改输出,并且不包括更改多个框。
测试脚本
#!/bin/sh
gs -o output.pdf \
-sDEVICE=pdfwrite \
-r72 \
-dPDFX \
-sProcessColorModel=DeviceCMYK \
-dFIXEDMEDIA \
-dDEVICEWIDTHPOINTS=660 \
-dDEVICEHEIGHTPOINTS=910 \
-c "[/BleedBox [36 36 600 877] /PAGES pdfmark" \
-f test_in.pdf
pdfinfo -f 1 -l 1 -box output.pdf
输出
GPL Ghostscript 9.50 (2019-10-15)
Copyright (C) 2019 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 17.
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
Page 14
Page 15
Page 16
Page 17
Producer: GPL Ghostscript 9.50
CreationDate: Sun Jan 5 15:46:42 2020
ModDate: Sun Jan 5 15:46:42 2020
Tagged: no
Form: none
Pages: 17
Encrypted: no
Page 1 size: 660 x 910 pts (rotated 0 degrees)
Page 1 MediaBox: 0.00 0.00 660.00 910.00
Page 1 CropBox: 0.00 0.00 660.00 910.00
Page 1 BleedBox: 0.00 0.00 660.00 910.00
Page 1 TrimBox: 0.00 0.00 660.00 910.00
Page 1 ArtBox: 0.00 0.00 660.00 910.00
File size: 1213265 bytes
Optimized: no
PDF version: 1.3
您的输入是PDF文件(而不是PostScript程序),这意味着它已经具有一个/ MediaBox以及其他框。请注意,设置-dFIXEDMEDIA意味着您实际上不应该尝试更改MediaBox,我提到这一点是因为您在问题中引用了MediaBox。
您的命令行从设置BleedBox开始,然后运行PDF文件。 PDF文件自己的BleedBox(如果存在)因此会覆盖您使用pdfmark设置的BleedBox,因为它是在初始设置之后出现的。
如果运行PDF文件运行pdfmark 之后,则pdfmark将覆盖PDF文件,这是(我相信)您想要的。
因此使用命令行:
gs -o output.pdf \
-sDEVICE=pdfwrite \
-r72 \
-dPDFX \
-sProcessColorModel=DeviceCMYK \
-dFIXEDMEDIA \
-dDEVICEWIDTHPOINTS=660 \
-dDEVICEHEIGHTPOINTS=910 \
test_in.pdf \
-c "[/BleedBox [36 36 600 877] /PAGES pdfmark" \
-f
注意:您正在请求PDF / X-3输出,但是尚未设置PDF / X定义程序,这意味着该输出将不符合PDF / X-3,因为您没有指定CMYK ICC配置文件。参见here
要设置多个Box值,只需将它们添加到pdfmark中。 pdfmark参考今天可以在here上找到,但要警告Adobe经常在其网站上重新布置家具,它可能会移动。搜寻“ pdfmark技术参考”应该找到它。