我目前有一个脚本可以生成大量3.5平方英寸的SVG图像。我需要的是能够将这些SVG放在一个可以轻松准确打印的布局中。
我尝试过使用HTML模板,但HTML / CSS没有足够强大的打印支持。
哪种文档布局语言最适合处理SVG图像,以及如何以脚本语言实现?
我使用Ruby来生成我的SVG,虽然更好,但不要求Ruby也是用于生成打印布局的语言。
答案 0 :(得分:1)
我建议将所有SVG编译为更大的SVG,将所有内容放在您想要的位置,并使用多个选项之一将其转换为PDF:
inkscape -f in.svg -A out.pdf
java -jar batik-rasterizer.jar -m application/pdf -d out.pdf in.svg
rsvg-convert -f pdf -o out.pdf in.svg
您也可以将rsvg2 Ruby gem与Cairo PDF表面一起使用。但是,文档似乎很少或分散。
答案 1 :(得分:0)
如果您有预算,Prince就是您想要的。既然您已经尝试使用CSS + HTML来实现它,那么您可能已经准备好了一个可行的解决方案。只需生成HTML,SVG和CSS(使用CSS3 paged media extensions进行最佳控制),然后将其传递给Prince以生成PDF。我已将它用于多个项目,并且效果很好。
有免费的选项可以像Prince一样工作,尤其是wkhtmltopdf,但他们可能不会像普林斯那样尊重您的分页选项。
否则,您可以使用Cairo一起破解某些内容,方法是创建页面大小的SVG图像并进行布局,添加指向多个外部SVG文件的链接。
这些选项中的任何一个都将最终生成PDF,这是确保无论使用哪个浏览器或操作系统都能打印相同的唯一方法。