【问题标题】:AWT preview in FOP 1.1FOP 1.1 中的 AWT 预览
【发布时间】:2013-07-28 00:47:19
【问题描述】:

我在我的应用程序中使用 Apache FOP 进行报告。它曾经与 FOP 1.0 一起工作正常,但由于与 java webstart 结合的错误,我不得不升级到 1.1。转换工作,我可以直接输出 PDF 或 RTF 没有问题,但预览不再工作。

转换代码:

TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(Loader.loadResource("Export/" + daten.getFO()).openStream()));
Source src = new DOMSource(daten.createXML());
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);

旧的打印预览代码(使用 1.0):

Fop fop = fopFactory.newFop(MimeConstants.MIME_FOP_AWT_PREVIEW);

对于 1.1,此代码不会打开预览窗口,没有任何反应,没有异常。 我尝试像这样重写预览:

AWTRenderer renderer = new AWTRenderer(foUserAgent);
foUserAgent.setRendererOverride(renderer);
PreviewDialog dlg = PreviewDialog.createPreviewDialog(foUserAgent, null, false);
renderer.setStatusListener(dlg);                
dlg.setVisible(true);
fop = fopFactory.newFop(foUserAgent);

通过这些更改,我可以看到预览窗口并获得正确数量的页面。页眉和页脚也会显示,但页面内容为空。

有谁知道 1.0 和 1.1 之间发生了什么变化?我找不到任何关于 AWTRenderer 的信息。我不认为问题出在 .fo 文件或数据上,就像我说的那样直接转换为 PDF 文件效果很好。

【问题讨论】:

    标签: java xslt awt apache-fop


    【解决方案1】:

    经过数小时的搜索,我找到了一个关于此的bug report。这在 FOP 的中继版本中已修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多