我正在使用这个 dll iTextSharp 5.3.0 来制作一个 pdf 文件。有没有办法在 pdf 中转换完整的 .aspx 页面?我的页面有网格和服务器端代码。
这是我的代码:
受保护的无效Button1_Click(对象发送者,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 和这里: Itextsharp 中的 HTMLParser 问题
提前致谢!