Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以pdf格式下载HTML5画布_Javascript_Canvas_Html5 Canvas_Pdf Generation_Fabricjs - Fatal编程技术网

Javascript 以pdf格式下载HTML5画布

Javascript 以pdf格式下载HTML5画布,javascript,canvas,html5-canvas,pdf-generation,fabricjs,Javascript,Canvas,Html5 Canvas,Pdf Generation,Fabricjs,我正在使用fabricjs开发图形编辑器。我想下载整个画布或(如果可能的话)给定坐标的pdf格式(但不是嵌入png或jpg)。下载的文件应该由Adobe Illustrator或Corel打开,并且应该是可编辑的 提前感谢。最好的选择可能是,但是HTML5 Canvas生成的图像不是矢量图形,因此需要一些工作来翻译。Canvas和pdf之间没有直接翻译,浏览器中不基于图像。 您可以为每个结构子类使用和创建自定义导出方法,这些子类考虑了绘图方法 您必须考虑到canvas和fabricjs提供的自由

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


提前感谢。

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

Canvas和pdf之间没有直接翻译,浏览器中不基于图像。 您可以为每个结构子类使用和创建自定义导出方法,这些子类考虑了绘图方法

您必须考虑到canvas和fabricjs提供的自由度与pdf/eps不同

如果不使用光栅化,某些特征可能无法转换。 我能想到的第一个是带有自定义fabricjs样式的自定义字体

不是一个简单的解决方案,有人可以给你一段代码让你继续前进

PDFkit和pdf通常有一个画布的转换方法,类似于HTML5Canvas,可以完全像HTML5Canvas那样绘制路径

首先要做的是尝试将fabric转换方法和路径命令模拟为jsdpf代码

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

我建议您先尝试使用path和rect,然后在熟悉代码后再转到Text

图像应该是直截了当的


在我看来,jsPdf似乎没有公开必要的API来实现这一点

这是一件非常复杂的事情。您可以轻松地为画布拍照并将其放入pdf文件中。但是为了以后能够在Illustrator中继续编辑peoject,您将不得不进行大量的艰苦翻译。使用javascript似乎很难做到这一点。对服务器端编码有什么想法吗?例如,是否有任何php库或类似的东西?我正在使用html2canvas和jsPdf,它在html2canvas V0.5.0-beta4和jsPdf V1.3.0中运行良好。更新html2canvas V1.0.0-alpha.9和jsPDF V1.3.5后,它不工作。@Vignesh控制台中有错误消息吗?或者任何库的文档都可以解释这一点?它不会在控制台中抛出任何错误。尝试在Index.html中更改html2canvas:0.5.0-beta4和jspdf 1.3.0的版本。它工作正常。您需要新版本吗?pluncker适合我。也许是浏览器的问题?我在Firefox Quantum上