【问题标题】:Couldn’t open PDF. Something’s keeping this PDF from opening. With VB.NET PrintForm无法打开 PDF。有什么东西阻止了这个 PDF 打开。使用 VB.NET 打印表单
【发布时间】:2019-02-23 21:10:24
【问题描述】:

我正在尝试在 VB.Net 中使用 PrintForm 打印表单

这个表单有几个标签和一个图表控件。 我使用了这个非常简单的代码

 Dim pf As New PrintForm
    pf.Form = Me
    pf.PrintAction = PrintAction.PrintToFile
    pf.PrintFileName = "../../generated_pdf.pdf"
    pf.Print()

它生成了“generated_pdf.pdf”文件。当我试图打开这个文件时,它给了我一个错误 Couldn’t open PDF Something’s keeping this PDF from opening.

关于如何解决此错误并成功生成可以使用正确内容打开和查看的工作 pdf 的任何想法?

应该转换成pdf的表格是这样的

【问题讨论】:

  • 您实际上可能没有生成有效的 .pdf 文件。
  • 只是给某些东西一个扩展名并不能神奇地使它成为那种类型的文件。 PDF 文件(就像所有其他文件一样)具有已定义的内容类型。你不能只是给任何东西一个 PDF 扩展名并期望它以某种方式变成正确的内容类型,就像你不能在你的 Prius 侧面贴一个标有 Ferrari 的标志并期望它顿时身价十万多。 PrintForm 生成图像,而不是 PDF。
  • 您可以在其他应用程序(例如 Adob​​e Reader)中打开 PDF 吗?
  • @VisualVincent 解决方案是更改一些 PrintForm 属性以将打印机更改为 PDFCreator 或代替打印以打开预览窗口,您可以在其中选择 pdf 打印机作为打印机。

标签: vb.net printform


【解决方案1】:

PrintForm 不知道如何处理 PDF 文件,这就是它不起作用的原因。

It only knows how to do .eps, .ps & .ai.

如果您想要 PDF,您需要知道如何将上述格式之一转换为 PDF 的东西。

Ghostscript & Ghostscript.Net 做得很好,并且是免费和开源的。还有其他的,但我实际使用过这些并且知道它们有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多