导出到pdf无法在asp.net中工作

时间:2014-02-11 07:41:39

标签: c# asp.net

任何人都可以帮我导出PDF格式的pdftable。我的文件没有导出到pdf并且它也没有显示任何错误我已经编写了代码下面的代码导出到pdf但是它没有正常工作我使用了itextsharp dll来编写代码

her is my code

 Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                Paragraph p, p1, p2;
                PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                pdfDoc.Open();
                string imagepath = GetImageUrl("images");

                iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/Logo.png");
                p2 = new Paragraph();
                p2.Add(gif);
                p2.Alignment = Element.ALIGN_LEFT;
                pdfDoc.Add(p2);

                p1 = new Paragraph(new Phrase(new Chunk(" INVOICE ", FontFactory.GetFont("verdana", 15, BaseColor.GRAY))));
                p1.Alignment = Element.ALIGN_CENTER;
                pdfDoc.Add(p1);

                p = new Paragraph(new Chunk("\n"));
                pdfDoc.Add(p);
                pdfDoc.Add(table1);

                pdfDoc.Add(table);
                string str = "This is a computer generated invoice. Please contact MSWindowsCare billing for more information at billing@mswindowscare.com";
                p = new Paragraph(str, FontFactory.GetFont("verdana", 7, BaseColor.GRAY));
                p.Alignment = Element.ALIGN_CENTER;
                pdfDoc.Add(p);
                pdfDoc.Close();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;" + "filename=SalesInvoice.pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Write(pdfDoc);
                HttpContext.Current.ApplicationInstance.CompleteRequest();

1 个答案:

答案 0 :(得分:0)

做一些调试。我要做的第一件事就是将pdfDoc写入文件并检查这是否真的是正确的pdf或空的什么。

基本上取代:

Response.Write(pdfDoc);

把某些东西放到dile系统然后尝试打开它。

然后从那里拿走它。这有助于你解决问题。

从未使用过PdfWriter,但我认为排队可能不会像你想象的那样写出pdf的字节。结果将是客户端上的明显错误,而不是服务器上的错误。