蜡染:在Linux上的svg到pdf(没有X服务器)

蜡染:在Linux上的svg到pdf(没有X服务器),第1张

概述蜡染:在Linux上的svg到pdf(没有X服务器

与将SVG转换为pdf的方法相似,svg2pdf转换在windows下成功运行,文本项目可在search结果中search。 它在linux(Ubuntu)下生成pdfs(使用-Djava.awt.headless = true来避免由于缺lessX11窗口服务器而导致的exception),但是文本项不可search,有时甚至被编码为图像。

是否有可能在linux下保存pdf文本,我错过了一些运行时选项?

UPD:我可以以某种方式强制蜡染(SVGGraphics2D或SVGConverter)回退到默认字体,如果某些字体没有find?

按照下面的配方解决:

http://batik.2283329.n4.nabble.com/Placing-SVG-Text-into-pdf-td3778127.HTML

主要步骤:

用ant编译fop

将名称为pdf-transcoder.jar的fop-transcoder-allinone.jar复制到类路径中

将fop的lib目录下的xmlgraphics-commons-1.4.jar复制到classpath中

如果您想将字体从windows复制到linux,则只需将.ttf文件复制到正确的位置(注意:某些字体受版权保护,您需要获得安装这些字体的权限)。 没有必要把它们放到某种注册表中。

要使它们在Java中可用,您有两个选择:

在运行蜡染之前,您可以设置环境变量JAVA_FontS

打开jre/lib目录中的Font.propertIEs文件,并将其设置为相应的字体目录:

appendedFontpath=/usr/share/Fonts/truetype

安装imagemagick。 然后调用convert:

convert doc.svg doc.pdf

这将转换成pdf。

尝试为要使用的字体添加定义(使用url):

<?xml version="1.0" enCoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" wIDth="745" height="300" xml:space="preserve" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <desc>TEST</desc> <defs> <style type="text/CSS"> @Font-face { Font-family: "Font"; src: url('COMPLETE URL TO TTF file eg. http://example.com/Font.ttf') format('truetype'); } </style> </defs> <g transform="translate(174.5 53)"> <text Font-family="Font" Font-size="40" Font-weight="normal" stroke: none; stroke-wIDth: 1; stroke-dasharray: ; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: #333; opacity: 1;" transform="translate(-98.5 39)"> <tspan x="0" y="-26" fill="#333">TEXT THAT YOU WANT TO disPLAY</tspan> </text> </g> </svg>

我有同样的问题。 有一件事我忘了svg是type =“text / CSS” 。

总结

以上是内存溢出为你收集整理的蜡染:在Linux上的svg到pdf(没有X服务器)全部内容,希望文章能够帮你解决蜡染:在Linux上的svg到pdf(没有X服务器)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存