使用PDFKit导入完整的SVG

时间:2014-07-27 15:54:56

标签: javascript svg pdfkit

有谁知道是否可以将完整的SVG导入PDFKit文档?我可以从文档中看到它有完整的SVG支持,并且有绘制路径的方法等,但我看不到导入完整SVG文档的方法。

2 个答案:

答案 0 :(得分:6)

在搜索这个问题的答案时,我发现了一个小型的开源库,可以解决这个问题:SVG-to-PDFKit

如果实现自己的界面不方便,这个很容易使用(来自自述文件的代码示例):

PDFDocument.prototype.addSVG = function(svg, x, y, options) {
  return SVGtoPDF(this, svg, x, y, options), this;
};
doc.addSVG(svg, x, y, options);

参数如下:

  

doc [PDFDocument] =使用PDFKit创建的PDF文档

     

svg [SVGElement或string] = SVG对象或XML代码

     

x,y [number] =将添加SVG的位置

查看演示here

答案 1 :(得分:2)

不幸的是,从V0.7(2014年11月)开始,PDFKit不支持将SVG内容绘制到PDF中。 Hovever,大多数构建块都在那里(功能涵盖了大多数SVG演示属性+一个SVG path解析器),因此实现这一点就是从根遍历SVG文档树,跟踪转换和属性状态(在继承值的情况下)并绘制您遇到的SVG图形基元(包括path s)。当然,诸如符号定义和过滤器之类的东西实现起来会更复杂,但对于基本几何和过滤器而言。考虑到PDFKit提供的功能,这样做不需要花费几个小时的时间。