Windows 10:无需保存对话框即可打印 PDF 文件的简单方法

Windows 10: Simple way to print a PDF-file without the save-dialog

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

我已经尝试过的:

and Printing PDFs from Windows Command Line

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

我从 post 得到的另一个想法是创建一个 (VBA-/PowerShell-) 脚本,但我在这方面不是很有经验。

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

在这一点上我已经尝试了很多,但必须有一种方法来获得这个 运行。任何帮助将不胜感激!

Windows 上的 Microsoft Print to PDF 不是“免费的”,只是“租用的”,但是这表示您可以将所有者设计的行为更改为与“提示”不同的“端口”或使用驱动程序打印到您想要的命名文件。

要使用一个固定的输出文件名,例如 %TEMP%OUT.PDF,您最好使用 cloning/duplicate“Microsoft Print to PDF”到您选择的打印机名称,因此 我将我的打印称为“我的打印为 PDF”,因为它的输入更短,自动打印的文件会转到 MyData 文件夹。有关视觉指南,请参阅 如果有帮助,请在那里投票。

另一种方法是使用类似

的结构
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 位 portable.exe https://www.sumatrapdfreader.org/prerelease 所以所有你需要的是:-

SumatraPDF -print-to "My Print to PDF" filename.pdf(或支持的其他类型)

还有其他印刷品 methods/options 但请注意,这不是扁平化表单,因为“扁平化”意味着将表单转换为纯可读文本,而 SumatraPDF 仅将 PDF 打印为图像。

因此,将 SumatraPDF 与无提示端口相结合将提供一个命令来构建已知输出,然后您需要监视该输出并重命名为您选择的一个,如果您被淹没并且“运行 安静而深刻”,没有 GDI 反馈(打印是 spooling/erroring),时间随输入 PDF 的复杂性而变化。

您使用“慢”这个词,但这是 PDF 的固有特征“缓慢而稳定”的输出是其设计目标。

作为 SumatraPDF 的替代品,另外两个查看器更适合 PDF 命令行打印。一种是 Acrobat Reader,按照上面的“/Terminate and Stay Resident”,它做得非常好,因此应该是首选。一个很好的替代轻量级但功能强大的 PDF 处理程序是 Tracker PDF X-change,它具有命令行打印和它自己的可编程打印机驱动程序。

Win2PDF 有一个 command line to create image only (flattened) PDF files