Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这可能比强迫打印机驱动程序执行某些您可能无法可靠工作的操作更可靠,也能为您提供更好的控制_C#_.net_Printing_Driver_Converter - Fatal编程技术网

C# 这可能比强迫打印机驱动程序执行某些您可能无法可靠工作的操作更可靠,也能为您提供更好的控制

C# 这可能比强迫打印机驱动程序执行某些您可能无法可靠工作的操作更可靠,也能为您提供更好的控制,c#,.net,printing,driver,converter,C#,.net,Printing,Driver,Converter,根据您更新的评论,听起来好像您希望将各种图像和文档类型转换为一种常见的图像类型。将您提到的几种可能的源格式之一转换为位图格式(如.PNG)的过程称为渲染或光栅化。您希望采用其中一种输入格式,将其渲染为位图表示,然后将其写入.PNG格式的文件。虽然使用打印驱动程序当然可以做到这一点,但要做到这一点,您通常需要依赖一个已安装的应用程序,该应用程序允许您将源文档传递给它,以便打印到驱动程序。为了实现这一点,您希望能够以这种方式处理的每种源文件类型都需要安装一个应用程序,该应用程序可以从shell执行操

根据您更新的评论,听起来好像您希望将各种图像和文档类型转换为一种常见的图像类型。将您提到的几种可能的源格式之一转换为位图格式(如.PNG)的过程称为渲染或光栅化。您希望采用其中一种输入格式,将其渲染为位图表示,然后将其写入.PNG格式的文件。虽然使用打印驱动程序当然可以做到这一点,但要做到这一点,您通常需要依赖一个已安装的应用程序,该应用程序允许您将源文档传递给它,以便打印到驱动程序。为了实现这一点,您希望能够以这种方式处理的每种源文件类型都需要安装一个应用程序,该应用程序可以从shell执行操作并执行您的请求。例如,如果要使用.DOC文件执行此操作,则需要安装Microsoft Word,因为它会正确响应PRINT shell命令。但是,基于shell的方法的限制是,它总是要打印到默认的系统打印机。因此,需要将驱动程序设置为运行进程的机器的默认打印机。因此,您需要查看您希望能够处理的每个源类型是否都有一个已安装或可安装的应用程序,该应用程序将允许您使用shell和print action动词打印它们

参考URL:

这种技术的问题在于,并非所有应用程序都正确或根本不响应打印谓词。这通常适用于所有主要的Microsoft应用程序,但在进一步使用此技术之前,您应该测试您想要支持的任何其他文档类型

这还提出了其他问题,但这还没有开始解决,例如如何处理多个页面格式。您列出了一些直接的图像类型,可以非常直接地转换为PNG文件。但是,您希望如何将多页Word文档文件呈现为PNG格式?你打算只使用一个非常大的PNG,所有页面一个接一个吗?或者,您是否打算为每个相应的源文档页面创建一个PNG文件?打印驱动程序方法可能不会给您太多的控制权

根据这些细节和过程中需要多少控制和可靠性,您可能需要考虑与过程完全不同的路由。也许你应该考虑使用工具/库,它们可以读取你想要支持的源文件格式并直接渲染它们,然后你可以保存到你的PNG文件中。我在过去使用过的一个库是LeadTools,它似乎适合并允许您对转换(渲染/光栅化)过程进行高度控制。这是一个相当昂贵的产品,但我的经验是,它确实可靠地支持多种格式


可能还有一些其他的开源工具,您可以将它们组合起来支持这种类型的功能,但我不熟悉任何一种工具,可以向您指出任何特定的东西。但希望这能帮助您了解一些信息,以便将一个过程整合在一起,这可能比试图强制打印机驱动程序执行一些您可能无法可靠工作的操作更可靠,并为您提供更好的控制

我相信你的问题不清楚目的。你为什么不提供一个指向你正在谈论的司机的链接,并更详细地阐述你的问题?一步一步,你希望完成什么?我要求澄清,因为打印机驱动程序本身与将您列出的文档/文件格式转换为呈现的.PNG格式无关。@dmarietta:实际上,有几个打印驱动程序呈现为文件格式,而不是PCL或Postscript。我正在查看和1)。用户将上载具有上述2)指定的文件扩展名的文件。我的服务器将安装打印机驱动程序。3). 我的web服务将接收包含所需信息和服务器上文件位置的xml。4). 应用程序将使用打印机驱动程序,就像其他.net应用程序将使用真正的打印机驱动程序将文档打印到服务器上的某个位置一样。5). 然后应用程序将获取这些文件并将它们保存到数据库中。我知道转换为pdf将非常困难,并且有更多的库可用,但我必须指定转换为.png。如果你有更好的方法,请告诉我。谢谢,我相信你的问题不清楚目的。你为什么不提供一个指向你正在谈论的司机的链接,并更详细地阐述你的问题?一步一步,你希望完成什么?我要求澄清,因为打印机驱动程序本身与将您列出的文档/文件格式转换为呈现的.PNG格式无关。@dmarietta:实际上,有几个打印驱动程序呈现为文件格式,而不是PCL或Postscript。我正在查看和1)。用户将上载具有上述2)指定的文件扩展名的文件。我的服务器将安装打印机驱动程序。3). 我的web服务将接收包含所需信息和服务器上文件位置的xml。4). 应用程序将使用打印机驱动程序,就像其他.net应用程序将使用真正的打印机驱动程序将文档打印到服务器上的某个位置一样。5). 然后应用程序将获取这些文件并将它们保存到数据库中。我知道转换为pdf将非常困难,并且有更多的库可用,但我必须指定转换为.png。如果你有更好的方法,请告诉我。ThanksI在想如果