DS9*_*DS9 7 javascript php svg imagemagick fabricjs
我使用fabric js创建了一个画布,用户可以在那里创建名片.现在我正在努力创建可缩放/可打印图像(SVG和PNG).
我正在尝试使用结构jS的toSVG数据在服务器端创建SVG和PNG图像的几种方法.因此,用户可以使用该SVG打印卡.
我尝试过以下选项(以下所有链接都是指我在SO中的问题,我要求找到合适的方法):
1)使用Canvas JSON在PHP端生成SVG
无成功
2)使用原始svg数据在服务器端生成png
部分成功:面临Word换行,字体问题等问题.也无法获得可打印的图像.(如果使用更高的DPI然后问题看起来像附加SS)检查下面的SS:
3)使用SVG原始数据生成可打印PDF
部分:无法获取可打印的PDF
4)在imagick中使用svg的原始数据生成svg
无成功:无法创建svg图像(BG问题,图像问题).
5)使用原始数据直接创建SVG
$file_name = uniqid($prefix).".svg";
$file_handle = fopen("$folder_name/".$file_name, 'w');
fwrite($file_handle, $raw_svg);
fclose($file_handle);
Run Code Online (Sandbox Code Playgroud)
NO Success:字体未加载,不可缩放(表示可打印质量)
所以我的问题是创建SVG和PNG的最佳方法是渲染BG Image,Uploaded Images,diff.具有可打印质量的字体等.
注意:我更关注SVG,因为客户更喜欢,如果我可以在PNG中获得可打印的质量,它也可以工作.我也用imagick来实现SVG到PNG的对话.但是无法获得可打印的质量(在SS上面出现更高的DPI问题).
恕我直言,最可靠的渲染方式是 webkit,考虑wkhtmltopdf
使用不同的字体从输入的 Web 内容生成可打印质量的 PDF 文件。
您可以通过将二进制文件复制并粘贴到服务器中来安装它。
它是预编译的,您可以下载流行发行版的二进制文件。
这可以安装在浏览器上,请参阅此示例:
您可以wkhtmltopdf
使用 passthru 从 php 调用,如下所示:
echo("<pre>");
passthru("/full/path/to/your/wkhtmltopdf input_html_with_svg_inside.html output.pdf 1>&2");
echo("</pre>");
Run Code Online (Sandbox Code Playgroud)
稍后,您可以使用convert
imagemagick 包将其转换为透明 png 等。
另外,在服务器上安装字体,您并不总是能获得所有正确的字体,但您可以在线找到可以免费安装的字体包。还有wkhtmltopng。
HTH。
归档时间: |
|
查看次数: |
663 次 |
最近记录: |