ApacheFop和Java映像问题-组合多个源
我正在尝试使用ApacheFop和Java“自动化”构建PDF。我想尽量减少硬编码,因为我事先不知道我需要支持的所有文件组合。此外,我想尝试不在硬盘上保存文件。HD上的文件引入了安全性、性能、线程和清理方面的考虑,我不想处理这些问题 我现在使用的测试用例有1个FO和2个PNG文件。其中一个PNG文件超过1MB 理想情况下,我会创建3个来源:ApacheFop和Java映像问题-组合多个源,java,xml,apache-fop,Java,Xml,Apache Fop,我正在尝试使用ApacheFop和Java“自动化”构建PDF。我想尽量减少硬编码,因为我事先不知道我需要支持的所有文件组合。此外,我想尝试不在硬盘上保存文件。HD上的文件引入了安全性、性能、线程和清理方面的考虑,我不想处理这些问题 我现在使用的测试用例有1个FO和2个PNG文件。其中一个PNG文件超过1MB 理想情况下,我会创建3个来源: InputStream fo = new InputStream(new File("C:\\Temp\\FOP\\Test\\blah.fo")); In
InputStream fo = new InputStream(new File("C:\\Temp\\FOP\\Test\\blah.fo"));
InputStream png1 = new InputStream(new File("C:\\Temp\\FOP\\Test\\image-1.png"));
InputStream png2 = new InputStream(new File("C:\\Temp\\FOP\\Test\\image-2.png"));
Source foSrc = new StreamSource(fo);
Source png1Src = new StreamSource(png1);
Source png2Src = new StreamSource(png2);
然后将它们组合在一起生成PDF。我找不到一种使用API来实现这一点的方法
FO文件通过以下方式引用图像:
<fo:external-graphic src="file:image-1.png"/>
<fo:external-graphic src="file:image-2.png"/>
此代码库仅查找两个图像中较小的图像。似乎较大的那个被忽略了,因为它大于某个极限
<fo:external-graphic src="url('data:image/png;base64,iVBORw...ggg==')"/>
<fo:external-graphic src="url('data:image/png;base64,iVBORw...ggg==')"/>