与将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服务器)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)