我已经尝试过最大的努力让这个工作,但网上关于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应用程序
答案 0 :(得分:1)
我在帖子中看到两个单独的问题:
(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
我最近在回答以下问题时添加了一些示例:
当然,这些示例是Java中的iText示例,但是如果您浏览示例,您将在StackOverflow上找到相应问题的链接,其中许多问题都与Java中的iTextSharp有关。将Java示例移植到C#非常容易。
答案 1 :(得分:-1)
您需要致电writer.close()
。