【问题标题】:Automating Print To PDF From PrintDocument In .NET在 .NET 中从 PrintDocument 自动打印到 PDF
【发布时间】:2015-06-18 12:33:51
【问题描述】:

我想自动将 VB .NET PrintDocument 导出为 PDF(即无需任何用户交互)。我一直在尝试找到一个免费的 PDF SDK(或类似的东西)来允许我这样做。 我尝试了几款免费的 PDF 打印机(Bullzip 和 CutePDF),它们在打印文档时都会弹出一个保存对话框。我希望能够指定 PDF 的名称并通过代码保存位置,但我认为这两种打印机都无法做到。

很高兴听到面临相同问题的人过去做了什么,包括付费选项。谢谢。

【问题讨论】:

  • 您需要使用PDF库,它可以静默打印到打印机。
  • 对图书馆有什么建议吗?
  • 目前我正在尝试使用 PDFsharp 库重新创建我的文档,该库使用的图形代码与 System.Drawing.Graphics 非常相似。一切顺利,但目前有几件事让我很困惑,显然需要一段时间才能翻译。至于直接将 PrintDocument 转换为 PDF 的库,目前我发现的库非常昂贵(Foxit 和 Aspose)。
  • 查看 PdfViewer,它是一个开源并在 Apache 下获得许可。

标签: c# vb.net pdf printdocument


【解决方案1】:

您可以安装 BullZip 并使用配置工具来抑制所有对话框并将 Pdf 生成到预定义文件(所有打印请求的路径相同)。

在您的代码中,在打印之前,通过更改 BullZip 设置中的输出文件名来更新 PDF 打印机配置文件。更新 PDF 打印机配置文件 C:\Users\user_name\AppData\Roaming\PDF Writer\Bullzip PDF Printer\settings.ini(目录路径可能会有所不同)。

【讨论】:

  • 我不想购买 BullZip,您可能知道其他开源解决方案吗?
  • 我一周前下载了一个免费版本。链接不好找,是“社区版”link for Download
  • 这确实有效,但遗憾的是,我的 BullZip PDF 文档上的图形看起来非常糟糕。我试过的其他打印机——付费的——产生了更高质量的图像。 (这可能只是一个本地问题。我没有通过 BullZip 文档发现质量设置,但也许我错过了什么?)
  • BullZip 安装在我的家用电脑上,但我现在在办公室。当我回到家时,即 6 小时后,我会尝试查看质量设置:(。
  • 我找不到用于 Bullzip 的 settings.ini 文件,我在整个 C:\ 目录上使用了 FileLocator Pro,但对于 Bullzip 没有任何显示,我应该担心吗?当我尝试打印时,我可以在打印机选项中看到 Bullzip,所以我猜它已经安装了
【解决方案2】:

我在通过 IIS 中托管的 c# Web 应用程序自动打印 pdf 时遇到了类似的问题。我也在stackoverflow中提供了解决方案,您可以参考。我会帮你的。

How to print to network printer through application hosted in IIS

注意:对于 Web 应用程序或窗口服务,如果应用程序不是在有权访问打印机的用户下运行,则必须进行模拟。

【讨论】:

    猜你喜欢
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多