我知道这是一个旧线程,但仍然需要一些研究才能使其正常工作。它现在可用于 Visual Studio 2013 中的 NuGet。NuGet 包称为crispin.fop。在下面的代码中,我传入了一个“fop”文件和我想要创建的新 PDF 文件,“瞧”,它被创建了。
using org.apache.fop.tools;
using org.apache.fop.apps;
using org.xml.sax;
using java.io;
public void GeneratePDF(string foFile, string pdfFile)
{
OutputStream os = new BufferedOutputStream(new FileOutputStream(new java.io.File(pdfFile)));
try
{
FopFactory fopFactory = FopFactory.newInstance();
Fop fop = fopFactory.newFop("application/pdf", os);
FOUserAgent foUserAgent = fop.getUserAgent();
javax.xml.transform.TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = factory.newTransformer();
javax.xml.transform.Source src = new javax.xml.transform.stream.StreamSource(new java.io.File(foFile));
javax.xml.transform.Result res = new javax.xml.transform.sax.SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);
}
catch (Exception ex)
{
throw ex;
}
finally
{
os.close();
}
}