我们正在构建一个Web应用程序,用户可以使用fabric.js进行设计,最后他应该收到一份带有他作品的pdf文件。
起初,我们尝试使用JSPDF,因为它更倾向于拥有客户端解决方案。但是通过执行pdf.add Image(canvas.toDataURL(),...),我们正在栅格化设计。
第二,我们尝试使用WKHTMLTOPDF服务器端解决方案,发送canvas.toSVG(),但是字体和形状渲染存在一些问题。
设计很复杂,因为它们可以有文字,形状,图像和svg。
我们还尝试了INKSCAPE(inkscape --without-gui --export-pdf ...),MPDF和MUPDF,没有取得好成绩。 IMAGEMAGICK不是一个解决方案,它还可以栅格化设计。
主要目标是获得一个矢量pdf,可以增加尺寸和设计元素的可选位置,如果可能的话,pdf应该可以打印(300 dpi和cmyk)
是的,可以使用TCPDF库。有关将SVG转换为PDF的更多信息,请查看此ImageSVG api。 https://tcpdf.org/examples/example_058/
将画布导出到svg并使用pdflib制作pdf。
你可以在这里找到一个例子:https://www.pdflib.com/pdflib-cookbook/graphics/starter-svg/