以PDF格式下载HTML5画布

时间:2018-01-04 14:48:57

标签: javascript canvas html5-canvas pdf-generation fabricjs

我正在使用fabricjs进行图形编辑。我想下载整个画布或(如果可能)给定坐标为pdf(但不是嵌入式png或jpg)。下载的文件应由Adobe Illustrator或Corel打开,并且应该是可编辑的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

最好的选择可能是jsPDF,但HTML5 Canvas生成的图片不是矢量图形,因此需要翻译一些工作。

答案 1 :(得分:0)

canvas和pdf之间没有直接的转换,它不是基于浏览器的图像。 您可以使用http://pdfkit.org/并为每个结构子类创建自定义导出方法,该方法考虑了http://pdfkit.org/绘制方法。

你必须考虑到canvas和fabricjs提供的不同程度比pdf / eps。

如果不使用光栅化,某些功能可能无法翻译。 我能想到的第一个是自定义fabricjs风格的自定义字体。

这不是一个简单的解决方案,有人可以为您提供一段代码来继续。

PDFkit和pdf一般都有一个类似于HTML5Canvas的画布变换方法,可以像HTML5Canvas一样绘制路径。

首先要做的是尝试将结构变换方法和路径命令模仿为jsdpf代码。

PDFkit提供doc.transform,您可以传递fabric.Object.calcTransformMatrix()的结果。

我建议您首先尝试使用路径和矩形,然后在熟悉代码时移动到Text。

图像应该是直截了当的。

对我来说,看起来jsPdf没有公开必要的API来执行此操作