使用iTextSharp不会将HTML呈现为PDF

时间:2014-02-19 15:07:49

标签: c# html pdf itextsharp

我正在为我正在使用iTextSharp库的传输部门开发一个内部系统。

到目前为止,一切都已完成,但PDF生成并未按预期工作。当用户按下“提交”按钮时,系统会生成PDF文件。

我用这个例子来吸取灵感:

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End(); 

PDF文件的生成成功:IE要求我打开或下载文件,但是当我按下打开时,我没有得到我期望的结果......

我将表单的片段传递给上面的代码:

//var theForm = document.forms['frm_transport']; if (!theForm) { theForm = document.frm_transport; }
Laden/Lossen: tot uur.
Bezorgen op:
Staat klaar:
Transportnummer
Afleveradres
Bedrijf:
T.a.v.
Adres:
Postcode:
Plaats
Provincie:
Land:
Telefoon:
Transport kosten
Prioriteit: NormaalSpoed
Kosten: Selecteer...Ontvangervoor Organistatie
SPOED: Wanneer moet deze aangeleverd worden?
Datum:
Tijd:
Indien transportkosten voor organistatie kosten afboeken op:
Kostenplaats:

> Projectcode:
Indien voor rekening ontvanger:
Klantnummer
Opmerkingen
function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() !=
false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value =
eventArgument; theForm.submit(); } } //

我看到系统没有填充CSS和填充的表单。它只是“复制”RAW html数据。

它包含原始未知原因的RAW Javascript代码。

我尝试了什么

我看到其他用户HERE问了同样的问题,但我必须重新编写我的HTML代码。

我在这里缺少什么?我是C#.net和iTextSharp的初学者。

0 个答案:

没有答案