我将 Apache FOP 与 XSL-FO 结合使用,将 XML 转换为格式化的 PDF。现在我在 Java 中有以下方法(忽略该方法现在没有返回布尔值的事实):
public boolean Transform() throws TransformerException, FOPException
{
Transformer lTransformer;
java.io.ByteArrayOutputStream lOutStream = new java.io.ByteArrayOutputStream();
FopFactory lFopFactory = FopFactory.newInstance();
FOUserAgent lFOAgent = lFopFactory.newFOUserAgent();
lTransformer = getTransformer(mXsltSource); // returns a new Transformer
Fop fop = lFopFactory.newFop(mMimeOut, lFOAgent, lOutStream);
Result res = new SAXResult(fop.getDefaultHandler());
lTransformer.transform(mSource, res); // transforms xml source to formatted XSL-FO transform
}
但是,我不确定如何使用“res”来确保“lTransformer.transform(StreamSource, Result)”方法正确执行(我假设这是 Result 对象的目的)。我查看了转换方法、Result 类和 SAXResult 类的 javadocs,但这些并没有产生太大的帮助。有人可以对此提供一些见解吗?
TL;博士; 在javax.xml.transform.Transformer.transform(StreamSource, Result)中传递 Result 的目的是什么,如何使用它来检查操作是否成功完成?