我想完成以下任务:
给定html文件的路径名和pdf文件的所需路径名,使用ITextSharp将HTML文件转换为PDF。我已经看到很多代码示例接近这个但不完全是我需要的。我相信我的解决方案需要使用iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList()函数,但我无法使用它来处理实际的HTML文件并输出实际的PDF文件。
public void GeneratePDF(string htmlFileName, string outputPDFFileName)
{...}
是我真正想要正常工作的功能。
提前致谢
修改:以下是我尝试过的一个例子:
iTextSharp.text.Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Path.GetFullPath("fromHTML.pdf"), FileMode.Create));
doc.Open();
try
{
List<IElement> list = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(File.ReadAllText(this.textBox1.Text)), null);
foreach (IElement elm in list)
{
doc.Add(elm);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
doc.Close();
请注意,textBox1.Text包含我试图转换为pdf的html文件的完整路径名,我希望将其输出为“fromHTML.pdf”
谢谢!
答案 0 :(得分:1)
我有相同的要求,并被Google转移到此页面,但找不到具体的答案。 但经过一些头部攻击和试验,我已经能够使用iTextSharp库5.1.1成功将HTML代码转换为PDF。 我在这里分享的代码也使用相对路径处理HTML中的img标记。如果您的img标签没有绝对的src,iTextSharp库会抛出错误。 你在这里找到代码: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx
如果您需要更多信息,请与我们联系。代码在c#中。