如何在 Server 2012 中将 Text to PDF 程序配置为打印机以在服务器上用于创建 PDF
Posted
技术标签:
【中文标题】如何在 Server 2012 中将 Text to PDF 程序配置为打印机以在服务器上用于创建 PDF【英文标题】:How to configure Text to PDF programe as Printer in Server 2012 to be used on server for creating PDF's 【发布时间】:2016-07-28 13:45:27 【问题描述】:我的目标是在 Server 2012 R2 上创建一个 C# Web 表单应用程序,将文本(和图片)转换为 PDF 并将其发送给客户端。 我有所有代码,只需要正确设置打印机。 打印机(PDF 程序)必须可以通过客户端浏览器访问(它发送请求,服务器使用打印机创建 PDF并将其发送给客户端)。
无论我尝试什么,结果都是:
无法确定打印机的应用程序文件夹 '\服务器名称\Win2PDF'。使用设置重新安装打印机 程序可能会解决问题。
第一步是选择一个免费 Text to PDF程序,该程序适用于Server 2012 R2(因为Microsoft Print to PDF 出于某种原因没有)。我的程序唯一提到 PDF 程序的地方是在代码中选择打印机名称:
"PdfSettings.PrinterName = Win2PDF;".
目前的选择:
Win2PDF - 迄今为止最好的。只在文档中添加一个额外的空白页(可接受)。
CutePDF - 不支持 .NET
bioPDF - 底部有红色水印
PDFsharp - 我必须重新实现文档创建逻辑(大量工作)
Spire.PDF - 免费试用
Win10PDF - 免费试用,带水印
其次,我进入Print Managment、Print Servers、Printers,然后选择已安装的程序(Win2PDF)、Properties :
分享:勾选“分享这台打印机” 端口:不确定要选择什么,所以我启用了打印机假脱机,还检查了一个标准 TCP/IP 端口(我之前创建的)李> 安全性:我确保那里的每个用户都有打印权限。当我右键单击 Win2PDF 并转到 目录中的列表时,我得到:
无法发布所选打印机。目录服务不可用。
我不确定如何处理使用组策略部署。
我还为此启用了 Branch Office Direct Printing。
第三,我确保 Printer Spooler 正在运行。当我转到 /System32/spool/PRINTERS 时,我看到一个空文件夹,这是一个问题吗?有人建议尝试删除 PRINTERS 文件夹的内容,但我什么也删不掉。另外,在我安装了 Spooling 功能后,文章说去 Server Manager,Print Services 看看 Spooling 是否在列表中(@ 987654321@) 它不在我的名单上!有问题吗?
我不知道出了什么问题或下一步该尝试什么。请帮忙!
【问题讨论】:
像 iText#/PdfSharp 这样的 PDF 库可以让您构建和保存/流式传输 PDF,而无需使用虚拟打印机。 问题是重新实现打印逻辑(一个相当复杂的报告)。如果我找不到解决方案,看来我将不得不使用其中两个中的一个。谢谢@Alex 【参考方案1】:答案是尝试不同的方法。我不应该尝试使用虚拟打印机(我还没有找到让它工作的方法)。
要从代码创建 PDF,最好的方法是使用 iTextSharp.dll。有了它,您需要一些代码(不多,但您必须知道自己在做什么)。
【讨论】:
以上是关于如何在 Server 2012 中将 Text to PDF 程序配置为打印机以在服务器上用于创建 PDF的主要内容,如果未能解决你的问题,请参考以下文章
如何在SQL Server中将datetime值转换为yyyymmddhhmmss?
在 SQL SERVER 2012 中将 NULL 转换为空白
在 SQL Server 2012 中将两个 nvarchar 列与 Unicode 文本进行比较