【问题标题】:Windows programmable virtual printer "device"Windows 可编程虚拟打印机“设备”
【发布时间】:2018-04-28 16:03:55
【问题描述】:

我不知道这个 Windows 服务是如何调用的,或者我应该如何标记它。 但是我在 Windows 上看到了一些软件驱动的打印设备/配置,例如 Send to OneNoteConvert to PDF (来自不同的 pdf 应用程序) .

所以我想自己创建一个这样的设备,比如说一个将文档转换为 PDF 文件的虚拟打印机设备。

它是怎么称呼的?我在哪里可以找到有关它的一些信息?

谢谢。

【问题讨论】:

    标签: windows service printing printers


    【解决方案1】:

    很多这些应用程序(在 Windows 上)实际上使用内置的 Windows PostScript 打印机驱动程序从应用程序生成 PostScript 程序。

    然后将其发送到将程序存储在磁盘上的虚拟打印机(在 Windows 10 之前的 Windows 版本中,使用端口监视器)。然后它启动一个 PostScript 解释器,它能够从 PostScript 文件创建 PDF 文件。值得注意的是,其中包括 Adob​​e Acrobat Distiller、JAWS PostScript 解释器和 Ghostscript。因为 Ghostscript 是开源的,所以它可能是使用最广泛的。

    另一种方法是编写打印机驱动程序。这需要接受 OS 本机绘图操作(根据操作系统而有所不同),然后为这些绘图操作生成 PDF 等效项,并将整个内容打包为 PDF 文件。

    第一个解决方案最简单,因为它利用了其他人(操作系统供应商和 PostScript 解释器供应商)所做的工作。后者,我想你会发现,要困难得多

    当然,由于 Windows 和 MacOS 现在都可以生成 PDF 文件,现在实现这些似乎有些多余。

    【讨论】:

    • 哇,感谢您提供的信息,首先我不打算转换 PDF 或其他东西,这只是一个示例 :) 我将开始阅读有关 Windows PostScript 打印机驱动程序 那么,再次感谢。
    • 如果您不想创建 PDF 文件,那么您几乎肯定不想使用 PostScript 打印机驱动程序。相反,您需要创建自己的打印机驱动程序,该驱动程序采用操作系统绘图原语并在您想要输出的任何内容中创建等效项。这就是 PostScript 打印机驱动程序所做的,它接受操作系统标记操作并创建一个 PostScript 程序,该程序在 PostScript 打印机上制作相同的标记。 Epson 驱动程序会产生 ESC/P 输出等。
    • 很难说,不知道你到底想达到什么,我也不知道RESTfull是什么......
    • 嗯...在我看来,“打印”并不是您真正想要做的。如果您获取(例如)一个 PDF 文件,并在 Acrobat 中打开它。当您打印它时,应用程序会在打印机设备上下文(创建以与特定打印机兼容)上绘制内容的视觉表示,然后告诉 DC 将自己呈现给打印机。然后打印机设备驱动程序进行这些绘图操作并创建适合打印机的内容。可能是位图,可能是新的 PDF 文件,但不会是原始文件。
    • 打印 API(至少在 Windows 上)无法访问原始文件,只是应用程序选择发送到打印管道的任何内容。
    猜你喜欢
    • 2012-05-31
    • 1970-01-01
    • 2013-04-29
    • 2016-04-26
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多