过去,我使用了一个名为Ibex PDF Creator的商业库,它使用运行良好的 XSL-FO 标准从 XML 数据生成 PDF 文档。
这是我将如何使用它的示例:
XML 数据:
<DocumentRoot>
<!-- Some content -->
</DocumentRoot>
XSL-FO 布局:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/DocumentRoot">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ibex="http://www.xmlpdf.com/2003/ibex/Format">
<ibex:properties
title="Some document"
subject=""
author=""
keywords=""
creator="" />
<fo:layout-master-set>
<fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm">
<fo:region-body margin-bottom="1cm" margin-top="3cm"/>
<fo:region-before extent="20mm"/>
<fo:region-after extent="8mm"/>
<fo:region-start extent="1mm"/>
<fo:region-end extent="1mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
</<fo:root>
</xsl:template>
</xsl:stylesheet>
在 .NET 中生成 PDF 文档:
var data = new MemoryStream(dataBytes);
var layout = new MemoryStream(layoutBytes);
var pdf = new MemoryStream();
// Using the Ibex PDF Creator .NET API
var doc = new FODocument();
doc.generate(data, layout, pdf);
我希望这有帮助。