设置本地windows打印机打印到特定文件夹中的pdf而不提示[已关闭]

hlswsv35  于 2022-12-24  发布在  Windows
关注(0)|答案(1)|浏览(284)

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题有关,您可以留下评论,说明在何处可以回答此问题。
2天前关闭。
Improve this question
我想在Windows(W10)上设置一个本地打印机,以便格式化为pdf非pdf文件,并将其保存到我的应用程序正在监视的特定文件夹,无需任何用户干预(没有命名或目标选择提示),也无需第三方解决方案。
为了这样做,我已经创建了一个本地打印机使用microsoft打印到pdf驱动程序。与portprompt端口,我有一个提示步骤,以选择目标文件夹,但也设置文件名作为microsoft打印到pdf驱动程序似乎无法从原始文件中获得它。
为了跳过提示步骤,我创建了一个指向目标文件夹的端口。不幸的是,端口路径应该指向一个文件,所以我设置了一个如下的路径:"C:.....\目标文件夹\伪文件名. pdf"。
有了这个设置,我现在可以把我的非pdf文件打印到目标文件夹中的pdf文件。但我仍然有一个主要问题:每一个新的打印将覆盖以前的pdf,这是我不想要的。我还没有找到任何方法来使用一个唯一的文件名每一次。
目前我还没有找到任何解决办法。
如果你有任何想法。
先谢了。

dgtucam1

dgtucam11#

多年来,编程印刷已经发生了变化,它曾经是简单的
第一个月
其中一个dev:可能是report.prn之类的文件,另一个可能是remote \server\tcp:port
现在我们可以使用print file.txt lpt1:,甚至使用c:\进行假脱机和其他文件处理
例如,我们可以很容易地

write file.docx  "Microsoft Print to PDF" "Microsoft Print to PDF" c:\users\me\documents\docx.pdf

如果微软是一致的:-)我们可以对所有的应用程序使用相同的模式,但不,它不是那么简单。
对于“TIF 2 PDF”的图像,您可以通过MSPaint打印,但这样做不太简单。您需要一个提示符,而不是dev:port,这通常是这个问题的答案停止的地方。只需根据每次运行的需要重命名\outport\MyTIFF. pdf(在适当的超时后)。
然而,要给予一个直接的编程答案(以及为什么不使用它),你需要使用几个步骤来解决MS的弱点。
一个端口不能轻易地“动态”构建,它需要通过注册表在环境中设置,并且运行时摆弄CMD通常直到下一次重新引导才起作用。
因此,我们需要使用Powershell来构建一个新端口:-

powershell -Command "& {Add-PrinterPort -Name 'C:\users\ME\documents\anotherPort.pdf'}"

然后将我们的无提示打印机设置到那个新端口

powershell -Command "& {Set-Printer -Name 'A4LPdf' -PortName 'C:\users\ME\documents\another.pdf'}

运行你的有限打印命令,然后可能在适当的延迟后(与上面的复制相同!)添加另一个端口

**从理论上讲,您最终得到的端口数将与打印输出的端口数一样多**因此,不建议使用这种方法*即使您剔除以前的端口名,也会有因删除条目而使注册表膨胀的风险。
使用应用程序发送到一个固定端口(如您当前所做的那样),并使用多端口重定向器按时间周期收集输出。

相关问题