【问题标题】:PDF opens in Acrobat X but not programatically in VB.NETPDF 在 Acrobat X 中打开,但在 VB.NET 中不能以编程方式打开
【发布时间】:2012-06-20 20:51:29
【问题描述】:

我在 VB.NET 中编写了一个与第 3 方 Web 服务的接口。该界面的最后一步涉及第三方向我们(作为流)交付 PDF 文档。流式传输完成后,我将 PDF 的副本保存在我们的服务器上,以便我们的用户可以通过单击我们系统中的链接来查看 PDF。 PDF 在 Acrobat X 中可以正常打开,但是当我尝试以编程方式打开它时,出现错误提示“文件已损坏且无法修复”。我也可以在 IE 中很好地打开文件,没有任何问题,并且显示此 PDF 的相同代码在许多其他现有 PDF 上也可以正常工作,这些 PDF 早于第 3 方界面。

按照我在网上看到的一些帖子中的建议,我已经清空了临时 Internet 文件。我还在 Notepad++ 中打开了 PDF,%PDF 标记在前,%%EOF 标记在最后,所以我可以看到的文档源中肯定没有可见的损坏。以下是我们用来在我们网站上的单独浏览器实例中打开 PDF 的(非常标准的)代码:

PDFFile = System.AppDomain.CurrentDomain.BaseDirectory & Request.QueryString("LetterPath") & Request.QueryString("Letter") 
Response.Clear()
Response.ClearHeaders()
Response.BufferOutput = True
Response.ContentType = "application/pdf"
Response.WriteFile(PDFFile)
Response.Flush()

有人处理过这个问题或有什么想法吗?

【问题讨论】:

  • 是的,做到了....谢谢!代码中实际上有 Response.End 语句,但它们被注释掉了。取消注释它们,一切都很好。不知道为什么它在我们的任何其他 PDF 中都不是问题。谢谢马格努斯!
  • 太好了,我会将其作为答案发布,以便您接受。

标签: vb.net pdf


【解决方案1】:

添加Response.End() 应该可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多