当前位置:  开发笔记 > 编程语言 > 正文

在.NET中编写虚拟打印机

如何解决《在.NET中编写虚拟打印机》经验,为你挑选了4个好方法。

我正在寻找创建一个将数据传递给我的.NET应用程序的虚拟打印机.我想创建一个安装程序,安装打印机和.NET应用程序.我们真的很高兴能够用C#编写它,但我觉得这需要编写一个打印机驱动程序是非托管代码.有谁知道一个相当干净的教程或如何做到这一点的例子?



1> 小智..:

访问http://www.printerplusplus.com.它是开源的.NET虚拟打印机.它为您提供了一个安装程序和一个.NET类,用于编写代码来处理"打印机数据".


经过多次浪费时间:不适用于Windows 8及更高版本.
网站不再有效.

2> Ogglas..:

您正在使用Github项目提出的问题:Microsoft/Windows-driver-samples/print/XPSDrvSmpl

https://github.com/Microsoft/Windows-driver-samples/tree/master/print/XPSDrvSmpl

安装人员:http://wixtoolset.org/

应用:收听内部端口

流程:从单个安装程序安装打印机和应用程序.用户使用您的驱动程序打印内容,同时应用程序侦听内部端口.发送数据时,应用程序会将其选中.这适用于XPS,可以转换为PDF,但无论您打印什么,流程都是类似的.如果您还需要其他任何东西,请查看GitHub上的Microsoft/Windows-driver-samples/print /或其他特定于您需求的来源.

更新:

关于如何让驱动程序在这里工作的很多问题都是一个简单的例子:

如果您尚未安装Windows驱动程序工具包(WDK),请首先下载.安装时选择在最后一步添加Visual Studio的扩展名.在Visual Studio 2017安装中,您需要Desktop development with C++拥有正确的SDK.如果你没有它,请看下面的anser如何添加它.

如何向Visual Studio 2017添加功能?

https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit

然后下载.zipWindows-driver-samples master 的文件:

https://github.com/Microsoft/Windows-driver-samples/archive/master.zip

导航到该文件夹\print\XPSDrvSmplXPSDrvSmpl.sln在Visual Studio中打开.

然后按照GofHub上的微软自己的指南.正如您所看到的,它适用于Visual Studio 2015,但我认为它在2017年是相同的(尚未测试):

要使用Windows驱动程序工具包(WDK)10和Visual Studio 2015构建驱动程序解决方案,请执行以下步骤.

    在Visual Studio 2015中打开解决方案文件.

    将所有非二进制文件(通常位于示例的\ install目录中)添加到Package项目中:a.在Solution Explorer中,右键单击Driver Files b.选择Add,然后单击Existing Item c.导航到下载示例的位置,然后选择安装目录中的所有文件,或等效的非二进制文件集,如INF,INI,GPD,PPD文件等.单击添加

    配置要添加到驱动程序包中的这些文件:在Solution Explorer中,右键单击解决方案,然后选择Add> New Project.在Visual C++/Windows驱动程序/包下选择驱动程序安装包.湾 在Solution Explorer中,右键单击Package项目并选择Properties.C.在左窗格中,单击"配置属性">"驱动程序安装">"包文件".d.在右侧窗格中,使用省略号按钮(...)浏览到需要添加到驱动程序包的文件集.应添加在步骤2-c中添加的除INF文件之外的所有数据文件.此配置是按体系结构的,因此必须对将要构建的每个体系结构重复此配置.即 单击确定.

    打开INF文件并对其进行编辑以匹配构建的输出.一个.打开INF文件.湾 在Version部分中,添加对目录文件的引用,如下所示:CatalogFile = XpsDrvSmpl.cat.C.在SourceDisksFiles部分中,将要构建的DLL文件的位置更改为= 1.这表示此驱动程序中没有特定于体系结构的目录.如果同时发送多个体系结构,则需要手动整理驱动程序INF.

此时,Visual Studio 2015将能够构建驱动程序包并将文件输出到磁盘.要配置驱动程序签名和部署,请参阅开发,测试和部署驱动程序.

https://github.com/Microsoft/Windows-driver-samples/tree/master/print/XPSDrvSmpl#build-the-sample



3> CMS..:

我想你将不得不做很多 WinAPI包装.开始研究Windows驱动程序开发工具包,找到您必须要做的事情.

我还发现了这个用于.NET的商业打印机驱动程序资源工具包 ......



4> Douglas Ande..:

您可以简单地让您的应用程序像LPD类型的打印机或监视器端口9100一样暴露自己.然后您可以安装任何您喜欢的打印驱动程序,并将其指向您的应用程序.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有