Я преобразую небольшие строки HTML в PDF, как это:
// set a path to where you want to write the PDF to.
string sPathToWritePdfTo = @"path\new_pdf.pdf";
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
sbHtml.Append("<html>");
sbHtml.Append("<html>");
sbHtml.Append("<body>");
sbHtml.Append("<font size='14'> my first pdf</font>");
sbHtml.Append("<br />");
sbHtml.Append("this is my pdf!!!!");
sbHtml.Append("</body>");
sbHtml.Append("</html>");
// create file stream to PDF file to write to
using (System.IO.Stream stream = new System.IO.FileStream
(sPathToWritePdfTo, System.IO.FileMode.OpenOrCreate))
{
// create new instance of Pdfizer
Pdfizer.HtmlToPdfConverter htmlToPdf = new Pdfizer.HtmlToPdfConverter();
// open stream to write Pdf to to
htmlToPdf.Open(stream);
// write the HTML to the component
htmlToPdf.Run(sbHtml);
// close the write operation and complete the PDF file
htmlToPdf.Close();
Интересно, я могу выполнить приведенное выше преобразование для больших строк HTML, не используя метод добавления. Я попробовал эту строку:
string sbHtml=File.ReadAllText("mypath/pdf.html");
Вместо этой строки:
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
но это не сработало: у меня было исключение в строке:
htmlToPdf.Run(sbHtml);
"xmlexception не обработан, но код пользователя
Я также должен упомянуть, что путь, который я прочитал в html-файле, взят с моего компьютера !!
Это не от сервера или чего-либо еще. Я хотел бы получить ответы на оба пути.