我正在使用Apache FOP/Batik将SVG转换为PDF。运行以下代码java命令行程序时,一切正常:
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 写回去不是输入/输出问题。
任何想法可能导致这种行为?
带有jruby的字符
当log4j . logger . org . Apache . FOP logger设置为DEBUG时,Apache FOP会添加这些框,大概是出于某种诊断目的。关闭该记录器以移除边框。
我在蜡染论坛上找到了答案:https://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/201601.mbox/browser
我正在尝试使用蜡染将 SVG 转换为 JPG。在SVG中,我正在使用外部谷歌字体,因此不幸的是,这失败了,并出现以下错误: 有没有办法解决这个问题,或者有一个简单的方法来扩展蜡染来支持这一点? 这是我使用的Java代码: 这是我的SVG文件: 谢谢,杰拉尔德
我成功地使用Apache Batik将SVG文件转换为PDF。 以下代码用于生成 PDF: 现在我想影响生成的PDF的页面大小,所以我得到了A4的页面大小。我怎么能这么做呢? 我已经尝试了一些关键提示,但没有效果。
问题内容: 有没有办法像下面的图片一样在文本周围集成边框? 问题答案: 使用多个文本阴影: 另外,您可以使用仅在webkit中起作用的文本笔划:
我有pdf格式的数据,我想把它转换成文本。我想删除图像,页眉和页脚,而数据将只以多行表格的形式保留,你能建议转换它的最佳方式吗?我尝试了Tabula和apache tika,但结果并不理想。
我试图计算矢量PDF中每个文本图示符的精确边界框。 这包括跟踪CTM,绘制/定位PDF指令等。,但也计算字形空间中每个特定字形的边界(使用嵌入式字体中GLYF表中的信息)。 我意识到PDF字体描述符包括每个嵌入式字体的粗略边界框,但这是字体中所有字形的组合——即适合字体中所有字形的最小边界框。为了我的目的,我需要更精确的定位。 我的具体应用是从乐谱的矢量PDF中提取音乐语义。因此,一个很好的约束是