进行一些更改后,我能够使用相同的示例文件创建PDF / A输出:
- 在 输入FO文件中 ,我
font-family="Helvetica"
在影响所有文本的位置显式添加了(或您最喜欢的字体系列)
如果没有此设置,即使FOP在未font-family
设置no时默认使用Helvetica ,显然也无法为其找到配置。
- 在 配置文件中 ,我将Helvetica字体系列映射到了现有字体,例如Arial
<font kerning="yes" embed-url="/Library/Fonts/arial.ttf"> <font-triplet name="Helvetica" weight="normal"/> </font>
- 在 Java代码中 ,我将FOP配置为使用配置文件,并通过用户代理启用了可访问性
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; import org.apache.fop.apps.FopFactoryBuilder; ... DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder(); Configuration cfg = cfgBuilder.buildFromFile(new File("/Users/lfurini/fop.xconf")); FopFactoryBuilder fopFactoryBuilder = new FopFactoryBuilder(new File(".").toURI()).setConfiguration(cfg); FopFactory fopFactory = fopFactoryBuilder.build(); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); // configure foUserAgent as desired foUserAgent.setAccessibility(true); foUserAgent.getRendererOptions().put("pdf-a-mode", "PDF/A-1b"); ...


