【问题标题】:ITextSharp Error - The document has no pagesITextSharp 错误 - 文档没有页面
【发布时间】:2014-07-18 00:29:53
【问题描述】:

我是使用 ITextSharp 的新手,想创建一个简单的 pdf 文件。我在 localhost 中尝试,它工作正常,但放入服务器它无法创建并显示错误消息“文档没有页面。”。我试着在网上找到解决方案,但还是一样。如何解决此类问题?

下面是我的代码。

 var html = GenerateHTML(lst, getuser);

                        Response.ContentType = "application/pdf";

                        Response.AddHeader("content-disposition", "attachment;filename=Commision_" + name + "_" + DateTime.Now.ToString("yyyyMM") + ".pdf");

                        Response.Cache.SetCacheability(HttpCacheability.NoCache);

                        //Render PlaceHolder to temporary stream

                        StringReader reader = new StringReader(html);

                        //Create PDF document

                        Document doc = new Document(PageSize.A4);

                        HTMLWorker parser = new HTMLWorker(doc);

                        PdfWriter.GetInstance(doc, Response.OutputStream);

                        doc.Open();
                        try
                        {
                            doc.NewPage();
                            parser.Parse(reader);
                        }
                        catch (Exception )
                        {
                        }
                        finally
                        {
                            doc.Close();
                        }

【问题讨论】:

标签: c# asp.net itextsharp


【解决方案1】:

我猜你在 doc.close 之后错过了以下两行

Response.Write(doc);
Response.End();

【讨论】:

  • docDocument 的一个实例,它是 iTextSharp 内部的一个帮助类,用于创建 PDF。它本身实际上并不代表 PDF,因此写入流没有任何意义。那里的很多代码都错误地尝试了这个并且失败了。将其写入流就像创建 Person 类的实例并将其写入流。如果没有序列化上下文(Document 没有)意外的事情将会发生。
猜你喜欢
  • 2014-07-27
  • 2012-08-22
  • 2015-03-18
  • 2012-04-03
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
相关资源
最近更新 更多