我需要使用apache FOP将SVG转换为PDF。我有一个基本上有效的解决方案。 但问题是,我无法设置PDF的背景颜色。 目前,我已尝试以根SVG元素的样式设置背景颜色。 SVG在SVG查看器中正确显示,但转换为PDF时,背景颜色丢失。所以我假设SVG / PDF转码器不支持这个。
我现在要做的是在PDFTranscoder的配置中设置背景颜色。 但不幸的是,这似乎也不可行。这里的类文档(https://www.cs.helsinki.fi/group/xmltools/formatters/fop/fop-0.93/javadocs/org/apache/fop/svg/PDFTranscoder.html)中提到的PDFTranscoder.KEY_BACKGROUND_COLOR键似乎不存在:
PDFTranscoder pdf = new PDFTranscoder();
pdf.addTranscodingHint(SVGAbstractTranscoder.KEY_WIDTH, width);
pdf.addTranscodingHint(SVGAbstractTranscoder.KEY_HEIGHT, height);
pdf.addTranscodingHint(PDFTranscoder.KEY_DEVICE_RESOLUTION, resolution);
pdf.addTranscodingHint(PDFTranscoder.KEY_BACKGROUND_COLOR, backgroundColor);