使用PDFKit导入完整的SVG

jcv*_*dan 8 javascript svg pdfkit

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

val*_*tin 8

在寻找这个问题的答案时,我发现了一个小型的开源库,可以解决这个问题: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);
Run Code Online (Sandbox Code Playgroud)

参数是这样的:

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

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

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

这里查看演示.


Flo*_*ann 4

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