0

我正在尝试使用例如Micorosft Print to PDF来打印某个文件夹中的 PDf 文件(或者只是一个接一个地打印文件),以创建扁平版本。但是,当使用 Microsoft Print to PDF 时,我需要指定输出文件的名称和路径。有没有办法绕过这个或专门从事此类工作的替代虚拟打印机?

我已经尝试过的:

Windows 10 从命令行打印到 PDF从 Windows 命令行打印 PDF

这些方法尝试使用命令提示符(我个人也很喜欢,因为它允许创建批处理文件并完全自动化该过程),但不幸的是,这些帖子中列出的程序/打印机要么不是免费的,要么显示保存 -文件对话框也是如此。此外,它们很慢(尽管这不是我的主要关注点)。到目前为止,PDFtoPrinter一直是最好的解决方案,尽管它也显示了保存文件对话框......

我从这篇文章中得到的另一个想法是创建一个(VBA-/PowerShell-)脚本,但我对此不是很有经验。

任何通过控制台打印一个 PDF 然后进行循环或什至对名称进行硬编码的方法就足够了。我可以轻松地将文件重命名为 1.pdf、2.pdf、3.pdf、...

在这一点上,我已经尝试了很多,但必须有办法让它运行。任何帮助将不胜感激!

4

2 回答 2

0

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,它具有命令行打印和自己的可编程打印机驱动程序。

于 2021-12-18T17:28:11.103 回答
0

Win2PDF 有一个命令行来创建仅图像(扁平化)PDF 文件

于 2021-12-21T22:24:15.867 回答