PDF 文件不应该以 %PDF 开头吗?
我正在尝试使用撲克1.5.2,建议在 Stack Overflow 上以及 GhostScript 9.26 在全新安装的 Windows 10 上创建“打印为 PDF”打印机。
我以前在之前的笔记本电脑上做过这个,没有问题。不确定我的语法有什么问题。我使用这里的说明:
说明书上说:
用户命令
"C:\Program Files\gs\gs9.21\bin\gswin64c.exe" -dBATCH -dSAFER -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dAutoRotatePages=/PageByPage -r600 -sOutputFile="%f" -
请注意版本号 9.21 如何出现在可执行文件路径中。
还要注意,该命令以一个重要的尾随连字符结尾。
使用管道 - 在 Windows 7 和 8 上选中此项 - 在 Win 10 上不选中此项。保留其他字段的默认设置。单击 [确定]
(我用 9.26 代替了 9.21)。
我尝试了安装过程,无论是选中还是取消选中,但无论哪种方式,我得到的都是 PS 文件,而不是 PDF。PDF 阅读器无法读取该文件:
Windows 测试页(PDF 格式)以以下内容开头:
%!PS-Adobe-3.0
%%Title: Test Page
%%Creator: PScript5.dll Version 5.2.2
%%CreationDate: 8/5/2019 12:35:10
%%For: myname
%%BoundingBox: (atend)
%%Pages: (atend)
%%Orientation: Portrait
%%PageOrder: Special
[etc.]
这不应该以 %PDF 开始吗? 看起来输出文件正在通过 GS 控制台(gswin64c)无需转换为 PDF。
答案1
这实际上只是早期 PostScript 跨平台打印的一种更新的预 PDF 打印方式。
在 Linux Mac 或 Dos 上,您可以设置 PrintDrivers 来生成 Postscript 文件,然后使用端口重定向器(如 RedMon),注意不要在 Windows 10 或 11+ 中使用 RedMon,因为它本身并不合适,因此 MFileMon 是首选。
Adobe PDF 生成也类似,先打印到 Postscript,然后 Distil(使用后台 Distiller 应用程序转换为 PDF)。
因此,该过程的核心是打印一个 Postscript 文件,然后使用文件监视器将其重新发送,作为从 Postscript 到 PDF 的转换。
问)
在第二阶段通过 GhostScript 之类的命令行转换器推送文件怎么会失败呢?
A)
一些未知数,例如版本 9.27(2019-04-03)在 OP 提问时是最新版本,但语法变化意味着要谨慎对待更新语法的变化。
我使用的是 10+(目前是 10.02.01),所以让我们测试一下 PS 2 PDF 功能
cd /d "/path to GS exec folder/bin"
我的很奇怪,但是 C:\Users\owners name\Downloads\Apps\PDF\GS\10.01.2\gs-10.01.2\bin
也是 32 位,但对于测试来说没什么区别
gswin32c.exe -oescher.pdf -sDEVICE=pdfwrite -f ..\examples\escher.ps
回复
GPL Ghostscript 10.01.2 (2023-06-21) 版权所有 (C) 2023 Artifex Software, Inc. 保留所有权利。此软件根据 GNU AGPLv3 提供,不附带任何保证:有关详细信息,请参阅文件 COPYING。从 %rom%Resource/Font/NimbusSans-Regular 加载 NimbusSans-Regular 字体... 4444880 3010829 1781400 489115 2 已完成。
C:\用户\lez\下载\应用程序\PDF\GS\10.01.2\gs-10.01.2\bin>
看起来不错,到目前为止,PS 已转换为 PDF,没有任何问题!
运行 cmd> escher.pdf
,您的默认 PD 查看器(可能是 GS 本身 :-) 将以 PDF 格式加载文件
我现在还建议使用较新的 MFileMon(目前为 1.6.1)https://github.com/lomo74/mfilemon)
遗憾的是,这些说明非常老旧,是 2009 年的,而且最新的二进制发布版本 (1.6.1) 不包含一些较新的更新 !! 并且安装也似乎非常旧。
无论如何,安装后要测试 1.6.1,让我们设置正确的参数。该应用程序不同寻常,因为它充当端口服务,所以没有启动图标,因此需要通过打印机进行配置。
另一个奇怪的是,你直到添加它才看到它,因此在这里,对于其他打印静音到 PDF 文件,我需要单击添加端口!现在我可以使用它了!