Windows 上的 Microsoft Print to PDF 并非“免费”,而只是“租用”,但是这表示您可以将所有者设计的行为更改为与“提示”不同的“端口”,或者使用驱动程序打印到您想要的命名文件。
要使用 ONE 固定输出文件名,如 %TEMP%OUT.PDF,最好将“Microsoft Print to PDF”克隆/复制到您选择的打印机名称,因此我称我的“My Print to PDF”为更短的类型并且自动打印的文件进入 MyData 文件夹。有关视觉指南,请参阅https://stackoverflow.com/a/69169728/10802527,如果有帮助,请在那里投票。
另一种方法是使用类似的结构
CliPdfApp /PrintTo file.pdf "Microsoft Print to PDF" "Microsoft Print to PDF" "C:\MyFavourite Places\FileName.pdf
然而,很少有应用程序遵循所需的约定,因此写字板将通过命令行转换 Docx 或 RTF,但无法处理 PDF,并且 Edge AFAIK 并非旨在使 PDF 格式 CLI 打印友好:-)。但是你在问题中的那些链接会建议acrord32 /p
或者/t filename printer printdriver filename
这可能是扁平化 acroforms 的最佳方法
免责声明我支持 SumatraPDF,因此可以建议“仅打印为图像”它完美地作为一个 32 或 64 位的便携式.exe https://www.sumatrapdfreader.org/prerelease,所以您只需要:-
SumatraPDF -print-to "My Print to PDF" filename.pdf
(或支持的其他类型)
还有其他打印方法/选项,但 BE-AWARE 不是展平表格,因为“展平”意味着将表格转换为纯可读文本,而 SumatraPDF 仅将 PDF 打印为图像。
因此,将 SumatraPDF 与无提示端口相结合将提供一个命令来构建已知输出,然后您需要监视该输出并重命名为您选择的一个,如果您在没有 GDI 反馈的情况下被淹没并且“无声且深入地运行”,这可能会很棘手(打印是假脱机/错误)并且时间与输入 PDF 的复杂性一样可变。
您使用“缓慢”一词,但这是 PDF 的固有特性,“缓慢而稳定”输出是其设计目标。
作为 SumatraPDF 的替代品,另外两个查看器更适合 PDF 命令行打印。一个是 Acrobat Reader,如上所述“/终止并保持驻留”,它做得非常好,所以应该首选。一个很好的替代轻量级但功能强大的 PDF 处理程序是 Tracker PDF X-change,它具有命令行打印和自己的可编程打印机驱动程序。