Я использую эту dll iTextSharp 5.3.0 для создания pdf-файла. Есть ли способ конвертировать полную .aspx страницу в pdf? На моей странице есть сетки и код на стороне сервера.aspx to pdf using itextSharp 5.3.0
Это мой код:
защищен недействительным Button1_Click (объект отправителя, EventArgs е) {
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
Заранее спасибо!
Спасибо за ваш ответ VahidN. Я, наконец, использовал wkhtmltopdf, и он работает отлично. Он использует webkit для рендеринга pdf, поэтому pdf выглядит точно так же, как на веб-странице. – user1482442