如何在不光栅化字体的情况下添加 TrimBox 和 BleedBox
How to add TrimBox and BleedBox without fonts being rasterized
我希望 Ghostscript 准备 PDF 用于印刷制作。输入的 PDF(版本 1.3)为 RGB,使用透明度并具有裁剪标记。
- 通过应用 ICC 配置文件将颜色转换为 CMYK
- 添加裁切框和出血框
我使用以下命令成功完成了上述步骤:
gs -o output.pdf -sDEVICE=pdfwrite -dPDFX -r100 -dOverrideICC=true -sOutputICCProfile=ISOcoated_v2_300_eci.icc -sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK -dRenderIntent=3 input.pdf -c "[ /PAGES pdfmark << /PDFXSetBleedBoxToMediaBox false /PDFXTrimBoxToMediaBoxOffset [29 29 29 29] /PDFXBleedBoxToTrimBoxOffset [8 8 8 8] >> setdistillerparams" -f
但不幸的是,字体被栅格化了。
我发现是 -dPDFX
造成的。
但似乎需要 -dPDFX
来添加 TrimBox 和 BleedBox。如果没有 -dPDFX
,字体保持不变,但不会添加方框。
我在 OSX,PDF 包含两种 Type 3 字体。
非常感谢任何帮助。
好的,几点:
Ghostscript(尤其是 pdfwrite 设备)不会向 PDF 文件添加任何内容。它根据提供的输入生成全新的 PDF 文件,该文件可能是也可能不是 PDF 文件。
描述了该过程 here,我建议您阅读它。从本质上讲,如果是 PDF 文件,您不能假设生成的 PDF 文件的内容与输入的内容有任何关系。
您对 ICC 配置文件的使用不会导致转换为 CMYK,这是通过设置 ColorConversionStrategy 完成的。您的 OverrideICC 和 OutputICCProfile 设置没有做任何事情,您应该删除这些开关。此外,如果您正在设置 ColorConversionStrategy,则不应设置 ProcessColorModel。类似地,设置 RenderIntent 对 pdfwrite 设备没有任何作用,也将其删除。
不要设置分辨率。所做的只是设置必须呈现的任何内容的分辨率(例如,从包含透明度的输入文件创建 PDF 文件 < 1.4 版)。所以删除 -r100.
-dPDFX 不会导致字体光栅化。
如果发生这种情况,那么几乎可以肯定这与选择 PDFX 无关,没有看到您的输入文件我无法进一步评论。
使用 TrimBox 或 BleedBox 创建 PDF 文件不需要 -dPDFX。
当然,您的 PostScript 实际上 所做的是创建 PDFX Bleed 和 Trim Offsets,是的,如果您想要那些,那么您需要清楚地设置 PDFX。另一方面,如果您真的想设置正常的常规出血或 Trim 框,那么 pdfmark 参考中也有记录(请参阅 1.7 pdfmark 参考的第 37 页):
The syntax for specifying a non-default page cropping for a particular
page in a document is as follows:
[ /CropBox [xll yll xur yur]
/PAGE pdfmark The syntax for specifying the default page cropping for a document is as follows:
[ /CropBox [xll yll xur yur]
/PAGES pdfmark
显然您会用 Bleed 或 Trim 代替 CropBox。
更新
此命令行:
gs -sDEVICE=pdfwrite -sOutputFile=new.pdf /temp/input.pdf -c "[/CropBox [100 100 7568 3784] /PAGES pdfmark" -f
为我生成了一个 PDF 文件 (new.pdf),它在页面树根节点中有一个 CropBox。页面树中的条目由定义它们的节点下的所有页面继承,当我用 Acrobatm 打开文件时,我可以看到裁剪标记不再可见。
所以对我来说,一切正常,而且没有使用 PDFX。添加 -sColorConversionStrategy=CMYK 应该足以获取 CMYK 文件。因为它没有使用 PDF/X,所以它会保持透明度而不是渲染它。请注意,由于您的文件全部为 DeviceGray,因此无论如何颜色都保持不变。
我忘了说,使用 /TrimBox 而不是 /CropBox 对我来说效果也非常好,方式完全相同。
我希望 Ghostscript 准备 PDF 用于印刷制作。输入的 PDF(版本 1.3)为 RGB,使用透明度并具有裁剪标记。
- 通过应用 ICC 配置文件将颜色转换为 CMYK
- 添加裁切框和出血框
我使用以下命令成功完成了上述步骤:
gs -o output.pdf -sDEVICE=pdfwrite -dPDFX -r100 -dOverrideICC=true -sOutputICCProfile=ISOcoated_v2_300_eci.icc -sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK -dRenderIntent=3 input.pdf -c "[ /PAGES pdfmark << /PDFXSetBleedBoxToMediaBox false /PDFXTrimBoxToMediaBoxOffset [29 29 29 29] /PDFXBleedBoxToTrimBoxOffset [8 8 8 8] >> setdistillerparams" -f
但不幸的是,字体被栅格化了。
我发现是 -dPDFX
造成的。
但似乎需要 -dPDFX
来添加 TrimBox 和 BleedBox。如果没有 -dPDFX
,字体保持不变,但不会添加方框。
我在 OSX,PDF 包含两种 Type 3 字体。
非常感谢任何帮助。
好的,几点:
Ghostscript(尤其是 pdfwrite 设备)不会向 PDF 文件添加任何内容。它根据提供的输入生成全新的 PDF 文件,该文件可能是也可能不是 PDF 文件。
描述了该过程 here,我建议您阅读它。从本质上讲,如果是 PDF 文件,您不能假设生成的 PDF 文件的内容与输入的内容有任何关系。
您对 ICC 配置文件的使用不会导致转换为 CMYK,这是通过设置 ColorConversionStrategy 完成的。您的 OverrideICC 和 OutputICCProfile 设置没有做任何事情,您应该删除这些开关。此外,如果您正在设置 ColorConversionStrategy,则不应设置 ProcessColorModel。类似地,设置 RenderIntent 对 pdfwrite 设备没有任何作用,也将其删除。
不要设置分辨率。所做的只是设置必须呈现的任何内容的分辨率(例如,从包含透明度的输入文件创建 PDF 文件 < 1.4 版)。所以删除 -r100.
-dPDFX 不会导致字体光栅化。
如果发生这种情况,那么几乎可以肯定这与选择 PDFX 无关,没有看到您的输入文件我无法进一步评论。
使用 TrimBox 或 BleedBox 创建 PDF 文件不需要-dPDFX。
当然,您的 PostScript 实际上 所做的是创建 PDFX Bleed 和 Trim Offsets,是的,如果您想要那些,那么您需要清楚地设置 PDFX。另一方面,如果您真的想设置正常的常规出血或 Trim 框,那么 pdfmark 参考中也有记录(请参阅 1.7 pdfmark 参考的第 37 页):
The syntax for specifying a non-default page cropping for a particular page in a document is as follows: [ /CropBox [xll yll xur yur] /PAGE pdfmark The syntax for specifying the default page cropping for a document is as follows: [ /CropBox [xll yll xur yur] /PAGES pdfmark
显然您会用 Bleed 或 Trim 代替 CropBox。
更新
此命令行:
gs -sDEVICE=pdfwrite -sOutputFile=new.pdf /temp/input.pdf -c "[/CropBox [100 100 7568 3784] /PAGES pdfmark" -f
为我生成了一个 PDF 文件 (new.pdf),它在页面树根节点中有一个 CropBox。页面树中的条目由定义它们的节点下的所有页面继承,当我用 Acrobatm 打开文件时,我可以看到裁剪标记不再可见。
所以对我来说,一切正常,而且没有使用 PDFX。添加 -sColorConversionStrategy=CMYK 应该足以获取 CMYK 文件。因为它没有使用 PDF/X,所以它会保持透明度而不是渲染它。请注意,由于您的文件全部为 DeviceGray,因此无论如何颜色都保持不变。
我忘了说,使用 /TrimBox 而不是 /CropBox 对我来说效果也非常好,方式完全相同。