Java 使用FOP1.1打印时获得空白页
使用fop1.1,我尝试使用本节讨论的中间文件方法打印文档 问题是,它在第三步打印空白页 这是我用于测试的FO文件:Java 使用FOP1.1打印时获得空白页,java,printing,apache-fop,Java,Printing,Apache Fop,使用fop1.1,我尝试使用本节讨论的中间文件方法打印文档 问题是,它在第三步打印空白页 这是我用于测试的FO文件: <?xml version="1.0" encoding="UTF-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xml.apache.org/fop/extensions"> <fo:layout-master-set>
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xml.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master master-name="all" page-height="5.4cm" page-width="9.56cm" margin-top="0cm" margin-bottom="0cm" margin-left="0cm" margin-right="0cm">
<fo:region-body margin-top="0cm" margin-bottom="0cm" background-color="transparent" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="all">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:block-container absolute-position="absolute" top="5px" left="11px" height="30px" width="300px" overflow="hidden">
<fo:block font-weight="normal" font-style="italic" font-family="Arial">852147</fo:block>
</fo:block-container>
<fo:block-container absolute-position="absolute" top="50px" left="10px" height="30px" width="300px" overflow="hidden">
<fo:block font-weight="bold" font-style="normal" font-family="Arial" font-size="10pt">nabil</fo:block>
</fo:block-container>
<fo:block-container absolute-position="absolute" top="100px" left="10px" height="30px" width="300px" overflow="hidden">
<fo:block font-weight="bold" font-style="normal" font-family="Arial" font-size="10pt">madara</fo:block>
</fo:block-container>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
852147
纳比尔
马达拉
配置文件
<?xml version="1.0"?>
<!-- $Id: fop.xconf 1339442 2012-05-17 01:42:56Z gadams $ -->
<!-- NOTE: This is the version of the configuration -->
<fop version="1.1">
<fonts>
<auto-detect/>
</fonts>
<!-- Strict user configuration -->
<strict-configuration>true</strict-configuration>
<!-- Strict FO validation -->
<strict-validation>true</strict-validation>
<!-- Base URL for resolving relative URLs -->
<base>.</base>
<!-- Font Base URL for resolving relative font URLs -->
<font-base>./</font-base>
<source-resolution>72</source-resolution>
<target-resolution>72</target-resolution>
<default-page-settings height="11in" width="8.26in"/>
<renderers>
<renderer mime="application/pdf">
<filterList>
<!-- provides compression using zlib flate (default is on) -->
<value>flate</value>
</filterList>
<fonts>
<auto-detect/>
</fonts>
</renderer>
</renderers>
</fop>
真的
真的
.
./
72
72
扁平
步骤:
fop-cfg.xml-fo myfile.fo-at application/pdf myfile.at.xml
fop-c cfg.xml-atin myfile.at.xml-pdf myfile.pdf
(正确生成pdf文件)fop-atin myfile.at.xml-print
(使用pdf creator打印空白页)FOP1.1中的AWT渲染器(打印渲染器使用AWT渲染器)似乎有问题。我尝试了您的示例,使用以下步骤作为步骤3:
fop -atin myfile.at.xml -awt
我注意到了同样的结果——空白页。(注意:要使AWT渲染在Windows上工作,需要编辑fop.bat
,以便-Djava.AWT.headless=false
)
我发现很奇怪,控制台上没有记录任何错误,而且在FOP的JIRA实例中也找不到任何报告的bug。所以我决定玩FOP1.0
解决方法-下载FOP1.0而不是FOP1.1。使用以下步骤作为步骤3:
fop -atin myfile.at.xml -print all
注意:参数all用于打印所有页面。忽略此参数在1.0中失败,但在1.1中已修复
希望以上为您提供一个可行的解决方案!FOP1.1和AWT渲染器似乎存在未解决/未报告的问题:(你说“第三步打印空白页”是什么意思。在IE中打开pdf文件会返回一个空白页,因此我试图了解这是否是同一个问题,或者您是否得到了由
FOP
而不是其他人打印的某些内容。您可能需要提供更多的上下文以获得答案。请查看提供更多上下文的更新,谢谢您的关注离子。