我将小的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();
我想我可以在不使用append方法的情况下为大html字符串进行上述转换。我试过这一行:
string sbHtml=File.ReadAllText("mypath/pdf.html");
而不是这一行:
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
但它不起作用:我有一个例外:
htmlToPdf.Run(sbHtml);
“xmlexception未处理用户代码
我还要提到我读取html文件的路径来自我的电脑!! 它不是来自服务器或其他任何东西。我想获得两条路径的asnwers。
答案 0 :(得分:0)
如果转换器的字符串过载,您只需使用:
htmlToPdf.Run(File.ReadAllText(@"mypath/pdf.html"));
如果不是,只接受StringBuilder:
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
sbHtml.Append(File.ReadAllText(@"mypath/pdf.html"));
答案 1 :(得分:0)
这会有帮助吗?
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
sbHtml.Append(File.ReadAllText("mypath/pdf.html"));
答案 2 :(得分:0)
关于异常,请确保HTML是有效的XHTML。 PDFizer需要有效的XHTML。