PDFMarks 初始视图放大到 FitPage
Posted
技术标签:
【中文标题】PDFMarks 初始视图放大到 FitPage【英文标题】:PDFMarks Initial View Magnification to FitPage 【发布时间】:2016-07-06 23:38:11 【问题描述】:我正在使用 ghost 脚本将我的 postscript 文件转换为 PDF/A。
下面是生成PDF/A文件的命令
gs -q -dPDFA=2 -dBATCH -dNOPAUSE -dNOOUTERSAV -sProcessColorModel=DeviceGray \
-sDEVICE=pdfwrite -dFastWebView=true -dPSFitPage -dDOPDFMARKS \
-sOutputFile=NewPDF.pdf PDFA_def.ps abc.ps pdfmarks
PDFMarks 文件如下所示:
[ /Title (Document title)
/DOCINFO pdfmark
[ /Page 1 /Title (COVER PAGE) /OUT pdfmark
[ /PageMode /UseOutlines /View [/FitPage]/Page 1 /DOCVIEW pdfmark
[ Catalog <</ViewerPreferences<</DisplayDocTitle true>>/PageLayout/OneColumn>> /PUT pdfmark
当 PDF/A 生成时,放大属性设置为仅默认值。我需要将其设置为 FitPage。
我尝试使用 /Fit、/FitB、/FitH 等,但它们似乎都不起作用。
【问题讨论】:
【参考方案1】:没有“FitPage
”,使用此选项会导致 Acrobat 在打开生成的 PDF 文件时发出警告(Ghostscript 不会尝试完全验证 pdfmark 操作数)
Fit
使用 CropBox 来确定缩放比例,并且您没有指定 CropBox,因此除非您的其他 PostScript 这样做,否则不会有一个。您提到的其他选项可能存在类似问题。
PUT pdfmark 也不正确,“<>
”应该是“<<
”。
您不需要(也不应该使用)-dNOOUTERSAVE
。
除非您有充分的理由,否则我不会使用-dFastWSebView
,它只是需要更长的时间来处理并生成更大的文件而没有充分的理由。
PSFitPage
如果您不指定固定的媒体大小(您没有指定),则不会做任何有用的事情。
您不需要-dDOPDFMARKS
,它仅用于 PDF 输入(无论如何默认为 true)。
如果您希望 PDF/A 文件为灰色,您应该设置 -sColorConversionStrategy=DeviceGray
而不是干预ProcessColorModel
。
我使用了一个简单的空 PostScript 程序并添加了:
[ /PageMode /UseOutlines /View [/FitV] /Page 1 /DOCVIEW pdfmark
生成的 PDF 文件按预期显示。
【讨论】:
以上是关于PDFMarks 初始视图放大到 FitPage的主要内容,如果未能解决你的问题,请参考以下文章