Abh*_*uke 4 pdf image-manipulation image imagemagick
我遇到了PNG到PDF转换的问题.
实际上我有大的PNG文件不是大小而是内容.
在PDF转换中,它会创建一个大的PDF文件.我的质量没有任何问题,但每当我尝试在PDF查看器中打开此PDF时,它都会以"适合页面"模式打开.
因此,我无法在初始视图中看到创建的PDF,但我需要将其缩放到100%.
我的问题是:我可以创建一个始终以缩放100%打开的PDF吗?
你可以在Ghostscript的帮助下实现你想要的.
Ghostscript支持通过将PostScript片段插入其命令行参数-c "...[PostScript code here]...".
PostScript有一个特殊的运算符叫pdfmark.大多数PostScript解释器都不理解此运算符,但Acrobat Distiller和(对于其大多数参数)在生成PDF时也由Ghostscript理解.
所以你可以尝试插入
-c "[ /PageMode /UseNone /Page 1 /View [/XYZ null null 1] \
/PageLayout /SinglePage /DOCVIEW pdfmark"
Run Code Online (Sandbox Code Playgroud)
进入PDF-> PDF转换Ghostscript命令行.
请注意有关此代码段的各种基本内容:
关于[和]运营商/关键字,命令行代码段的内容似乎是"不平衡的" .但事实并非如此!最初的[由final pdfmark关键字平衡.(不要问 - 我没有定义这种语法...)
"内部" [ ... ]括号分隔表示所需页面设置的数组/View.
并非所有PDF查看器都尊重PDF文件中嵌入的视图设置(Acrobat软件会这样做!).
大多数PDF查看器允许用户覆盖嵌入在PDF文件中的视图设置(Acrobat软件也会这样做).也就是说,您可以告诉您的查看者永远不会尊重它打开的PDF文件中的任何设置,但是要始终以"适合宽度"打开它.
关于此代码段的一些具体事项:
/UseNone表示:文档显示没有书签或缩略图.它可以被替换为
/UseOutlines (也显示书签,而不仅仅是页面)/UseThumbs (显示页面的缩略图图像,而不仅仅是页面/FullScreen (以全屏模式打开文档)[/XYZ <left> <top> <zoom>]意味着:缩放因子为1(= 100%),距页面原点的左边距离是特殊的"空"值,这意味着保留先前的用户设置值; 页面原点的最远距离也是"空".这个数组可以替换为
/Fit (使页面适应当前窗口大小)/FitB (使可见页面内容适应当前窗口大小)/FitH <top>' (to adapt the page width to the current window width);`表示从页面原点到窗口上边缘的所需距离.因此,要更改现有PDF文件的设置,您可以执行以下操作:
gs \
-o out.pdf \
-sDEVICE=pdfwrite \
-c "[ /PageMode /UseNone /Page 1 /View [ /XYZ null null 1 ] " \
-c " /PageLayout /SinglePage /DOCVIEW pdfmark" \
-f in.pdf
Run Code Online (Sandbox Code Playgroud)
要检查Ghostscript命令是否有效,请在能够处理二进制文件的文本编辑器中打开PDF.搜索/View或/PageMode关键字并检查它们是否存在,作为值插入到PDF根对象中.
如果有效,请检查PDF查看器是否符合设置.如果它不尊重它们,请查看查看者首选项设置中是否存在覆盖设置.
我对我的样本PDF进行了快速测试.以下是PDF根对象的字典现在的外观,并在以下帮助下进行检查pdf-parser.py:
pdf-parser-beta.py -s Catalog a.pdf
obj 1 0
Type: /Catalog
Referencing: 3 0 R, 9 0 R
<<
/Type /Catalog
/Pages 3 0 R
/PageMode /UseNone
/Page 1
/View [/XYZ null null 1]
/PageLayout /SinglePage
/Metadata 9 0 R
>>
Run Code Online (Sandbox Code Playgroud)
要了解有关pdfmark运算符的更多信息,请访问"pdfmark参考文件类型:pdf".您应该可以在Adobe网站和其他地方找到它:
为了让ImageMagick根据需要创建PDF,您可以破解定义委托设置的文件.有关此主题的更多帮助,请参阅此处的示例: