Tag: fop

使用Apache FOP时无法使用波兰语特殊字母

使用FOP生成PDF并使用波兰语字母,我一直在努力。 我一直在这里阅读很多post,但到目前为止还没有成功! 这是我的模板: 我的XML: Chcemy mieć pewność, że nasze produkty będą miały długą żywotność i stosujemy opakowania, aby uchronić je przed uszkodzeniem podczas przenoszenia i transportu. 和我的Java代码调用它: private void PolishTest() throws IOException, FOPException, TransformerException { // the XSL FO file File xsltFile = new File(“C:\\Temp\\PolishTest.xsl”); // the XML file which provides the input StreamSource xmlSource […]

在java中将字符串转换为XML输入流

我正在尝试使用FOP和Java生成PDF文档。 我将XML作为字符串而不是文件接收。 如何将此XML字符串转换为XML输入流,以便我可以调用xslfoTransformer.transform(source,res); 其中source是我的XML字符串作为输入流。 请提供您的建议。

使用OutputStream在FOP中渲染图像

我想在PDF上渲染图像,这将由FOP生成。 要渲染图像我使用标签如下所示: 我也尝试通过提供完整的URL作为: 在控制器中我有一个请求映射(../offlinePaper/displayImage) ,它从getParameter获取图像名称disImg并解密图像并返回OutputStream 。 但是当我生成PDF时,我发现日志文件中的错误为: Image not available. URI: http://10.2.10.79:80/Web/offlinePaper/displayImage?disImg=4bec89f0-5b97-40c3-b7c9-ac555a664df8. Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for http://10.2.10.79:80/Web/offlinePaper/displayImage?disImg=4bec89f0-5b97-40c3-b7c9-ac555a664df8 (No context info available) 但是,如果我复制此URL并粘贴到URL中,那么图像将显示在浏览器中,我还发现,当我生成PDF时,请求映射(假设要调用图像解密)不会被调用。 更新 另外一个奇怪的想法我知道,如果Web服务器是Tomcat ,使用相同的代码PDF可以成功生成,但如果我在Glassfish上部署应用程序则会出错。

FopFactory.newInstance()时Fopexception

我正在使用struts 2,我正在尝试使用fop从xml和xsl创建一个pdf文件。 我在这两个url中开发我的代码http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleXML2PDF.java?view=markup和http://justcode.wordpress的.com / 2009/01/16 / generare-PDF-CON-struts2的-FOP-XML-E-XSLT / 这是我的代码,我正在尝试使用两种不同的方式 public class JspToPdfTest extends ActionSupport{ private InputStream inputStream; private Xml2PdfManager xml2PdfManager; public InputStream getInputStream() { return inputStream; } public void setInputStream(InputStream inputStream) { this.inputStream = inputStream; } public JspToPdfTest(){ xml2PdfManager = new Xml2PdfManager(); } public String doPrint() { String xml = “C:\\Users\\Administrator\\workspace\\path\\actions\\forms\\testeFOPxml.xml”; String xslPath = “C:\\Users\\Administrator\\workspace\\path\\actions\\forms\\xml2fo.xsl”; […]

Java Applet中的Apache FOP – 没有为数据找到ImagePreloader

我正在研究一个成熟商业产品的问题。 简而言之,我们使用Apache POI库的一部分来读取Word .DOC或.DOCX文件,并将其转换为XSL-FO,以便我们可以进行令牌替换。 然后,我们使用FOP(嵌入到Java程序中)将FO数据转换为PDF以进行打印。 问题是,所有这些都是在Internet Explorer中运行的Java applet内的客户端上完成的。 最初我们使用的FOP为0.93,效果相当不错。 但是,在生成PDF时无法利用DOC文件中的字体,并将所有内容映射到Times,其中一个客户不喜欢。 理论上可以通过添加某种字体度量数据来使其工作,但这可能需要对它可能遇到的每种字体进行相对复杂的定义,并且我们无法预测客户端在MS之外可能使用的字体。核心字体集。 为了解决这个问题,FOP升级到1.0,这增加了对从操作系统自动检测字体的支持。 这很有效,但我们注意到图像处理已停止工作,信头已消失。 似乎已经发生的事情是FOP内的图像加载器在0.93和0.95之间的某个点被重写,因此它不使用Jimi和JAI,而是使用ImageIO。 早期的实现工作正常,但新代码不喜欢作为applet运行。 图像嵌入在FO数据的URI中,因此我们得到如下错误:2014-09-30 17:00:10,607 ERROR [org.apache.fop.apps.FOUserAgent]图像不可用。 URI:data:image / jpeg; base64,iVBORw0KGgoAAAANSUhEUgAAALQAAABSCAIAAABysmn6AAA …… ggg ==。 原因:org.apache.xmlgraphics.image.loader.ImageException:不支持文件格式。 找不到数据的ImagePreloader:image / jpeg; base64,iVBORw0KGgoAAAANSUhEUgAAALQAAABSCAIAAABysmn6AAAA … 当运行测试工具时,会生成正确的输出,但是当在浏览器中作为applet运行时,我们会收到上述错误,这使我怀疑浏览器applet安全性会以某种方式阻塞ImageIO插件加载程序。 FOP转换的内容,即触发错误的位是: // Step 4: Setup JAXP using identity transformer TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); // identity transformer transformer.transform(src, res); […]