3
我使用Apache FOP/Batik将SVG转换为PDF。当运行下面的代码java命令行程序,一切完美的作品:在JRuby下使用Batik/FOP SVG进行PDF转换时的边框字符
public byte[] convert(String svg) throws TranscoderException, java.io.IOException {
ByteArrayInputStream instream = new ByteArrayInputStream(svg.getBytes(StandardCharsets.UTF_8));
ByteArrayOutputStream outstream = new ByteArrayOutputStream(50 * 1024);
TranscoderInput input = new TranscoderInput(instream);
TranscoderOutput output = new TranscoderOutput(outstream);
Transcoder transcoder = new PDFTranscoder();
transcoder.transcode(input, output);
return outstream.toByteArray();
}
然而,在JRuby(1.7)运行Ruby应用程序称为相同的代码使每一个文本字符被包裹在一个灰色的框。 jruby和普通的java程序都运行在同一台机器上,并使用相同的jvm(Oracle 8,仅安装了jvm)。我验证了它不是输入/输出问题,改变了从文件中读取svg并将结果PDF写回的方法。
任何想法可能会导致此行为?当log4j.logger.org.apache.fop记录器设置为DEBUG,大概是某种诊断目的
请给后人的缘故提供解决方案的概要这里,而不是简单地链接到外部资源。 – Suever