Ruby 如何使用脚本化过程在打印布局中嵌入多个SVG图像?

Ruby 如何使用脚本化过程在打印布局中嵌入多个SVG图像?,ruby,svg,Ruby,Svg,我目前有一个脚本,可以生成大量3.5英寸见方的SVG图像。我需要的是能够把这些SVG的布局,可以轻松准确地打印 我尝试过使用HTML模板,但HTML/CSS没有足够强大的打印支持 哪种文档布局语言最适合处理SVG图像,如何在脚本语言中实现这一点 我使用Ruby生成SVG,虽然更可取,但不要求Ruby也是生成打印布局的语言。如果您有预算,这就是您想要的。由于您已经尝试使用CSS+HTML使其工作,您可能已经有了一个工作解决方案。只需生成HTML、SVG和CSS(使用最佳控件),然后将其传递给Pri

我目前有一个脚本,可以生成大量3.5英寸见方的SVG图像。我需要的是能够把这些SVG的布局,可以轻松准确地打印

我尝试过使用HTML模板,但HTML/CSS没有足够强大的打印支持

哪种文档布局语言最适合处理SVG图像,如何在脚本语言中实现这一点

我使用Ruby生成SVG,虽然更可取,但不要求Ruby也是生成打印布局的语言。

如果您有预算,这就是您想要的。由于您已经尝试使用CSS+HTML使其工作,您可能已经有了一个工作解决方案。只需生成HTML、SVG和CSS(使用最佳控件),然后将其传递给Prince生成PDF。我已经在几个项目中使用过它,效果非常好

值得注意的是,有一些免费选项可以像Prince一样工作,但它们可能不像Prince那样尊重您的分页选项

否则,您可能可以通过创建一个页面大小的SVG图像并将其布局,添加到多个外部SVG文件的链接,来将一些东西组合在一起


这两个选项中的任何一个最终都会生成PDF,这是确保无论使用哪种浏览器或操作系统都能打印相同内容的唯一方法。

我建议将所有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

    (可能是最轻量级的选项)

您还可以将与Cairo PDF曲面一起使用。不过,文档似乎很稀少或分散。

谢谢您的帮助!我最终使用了Batik,因为其他SVG渲染器都没有正确实现我的CSS属性选择器。蜡染正是我需要的。谢谢你的建议。王子看起来很漂亮,但不幸的是我没有多少预算。wkhtmltopdf可能会工作,但在第一次尝试时,它没有正确呈现我的布局。我认为HTML布局不适合这项工作。