【发布时间】:2012-06-29 17:59:13
【问题描述】:
我正在使用这个 dll iTextSharp 5.3.0 来制作一个 pdf 文件。 有没有办法在 pdf 中转换完整的 .aspx 页面?我的页面有网格和服务器端代码。
这是我的代码:
protected void Button1_Click(object sender, EventArgs e) {
createPDF(Server.MapPath("Default.aspx"));
}
private void createPDF(string html)
{
TextReader reader = new StringReader(html);
// step 1: creation of a document-object
Document document = new Document(PageSize.A4, 30, 30, 30, 30);
// step 2:
// we create a writer that listens to the document
// and directs a XML-stream to a file
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("c://test.pdf", FileMode.Create));
HTMLWorker worker = new HTMLWorker(document);
document.Open();
worker.StartDocument();
List<IElement> p = HTMLWorker.ParseToList(new StreamReader(html), new StyleSheet());
for (int k = 0; k < p.Count; k++)
{
document.Add((IElement)p[k]);
}
worker.EndDocument();
worker.Close();
document.Close();
}
它可以工作,但文件 test.pdf 只是纯文本。 html 没有得到很好的解释,我的网格丢失了,我的服务器端值(网格中的值)也丢失了。 我还尝试了这里的代码: http://forums.asp.net/t/1199774.aspx 和这里: Problem with HTMLParser in Itextsharp
提前致谢!
【问题讨论】:
标签: asp.net pdf itextsharp