2

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

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

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

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

4

2 回答 2

2

我建议将所有 SVG 编译为更大的 SVG,将所有内容放在您想要的位置,然后使用多个选项之一将其转换为 PDF:

  • 在命令行上使用Inkscape ,例如
    inkscape -f in.svg -A out.pdf
  • 使用蜡染
    java -jar batik-rasterizer.jar -m application/pdf -d out.pdf in.svg
  • 使用librsvg,例如
    rsvg-convert -f pdf -o out.pdf in.svg
    (可能是最轻量级的选项)

您还可以使用带有 Cairo PDF 表面的rsvg2 Ruby gem 。不过,文档似乎稀缺或分散。

于 2013-01-09T09:02:40.950 回答
0

如果您有预算,Prince就是您想要的。由于您已经尝试使用 CSS+HTML 来使其正常工作,因此您可能已经准备好一个可行的解决方案。只需生成 HTML、SVG 和 CSS(使用CSS3 分页媒体扩展以获得最佳控制),然后将其传递给 Prince 以生成 PDF。我已经在几个项目中使用了它,并且效果很好。

有像 Prince 一样工作的免费选项,尤其是wkhtmltopdf,但它们可能不像 Prince 那样尊重您的分页选项。

否则,您可以通过创建页面大小的 SVG 图像并对其进行布局、添加多个外部 SVG 文件的链接来使用Cairo一起破解某些东西。

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

于 2013-01-09T07:04:29.957 回答