iTextSharp-编写HTML到pdf文档
本文关键字:pdf 文档 HTML 编写 iTextSharp- | 更新日期: 2023-09-27 18:29:15
我已经尽了最大努力让它发挥作用,但网上关于iTextSharp的所有信息似乎都过时了。(我使用的是5.5.3版)
我有一个简单的字符串变量,其中包含我想要呈现为PDF的HTML。
有一些使用XMLWorker/XMLWorkerHelper的示例,但这些类似乎不再是iTextSharp的一部分。HTMLWorker仍然可用,但抱怨已经过时。(也不起作用)
这就是我目前所拥有的:
public byte[] RenderPdf()
{
MemoryStream file = new MemoryStream();
Document document = new Document(this.PageSize);
PdfWriter writer = PdfWriter.GetInstance(document, file);
string HTML = GetHTMLFromActionResult();
document.Open();
//Missing code here to inject HTML into document variable.
document.Close();
return file.ToArray();
}
额外信息:
这是一个运行在.Net Framework 4.5.2 上的C#MVC5 Web应用程序
我在你的帖子中看到了两个单独的问题:
(1)iTextSharp的XML Worker在哪里
如果要使用XML Worker,则需要一个额外的DLL。我不确定你通常在哪里得到iTextSharp,但如果你去SourceForge,你可以清楚地看到这两个项目:http://sourceforge.net/projects/itextsharp/files/
首先下载itextsharp和xmlworker,并确保版本号对应。
(2)在哪里可以找到XML Worker的文档
我上一次更新这些例子是在上周末,所以说它们已经过时是不公平的。也许你没有搜索官方网站:http://itextpdf.com/sandbox/xmlworker
我最近添加了一些例子来回答以下问题:
- iText部分HTML呈现
- 使用XMLWorker和itext解析html时,如何向pdftable添加单元格间距
- RowSpan在iTextSharp中不工作
当然,这些例子是Java中的iText例子,但如果你浏览这些例子,你会在StackOverflow上找到相应问题的链接,其中许多问题都是关于Java中的iTextSharp的。将Java示例移植到C#是相当容易的。
您需要调用writer.close()
。