Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.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
如何在使用ImageMagick将SVG转换为PDF时获得最佳结果?_Imagemagick - Fatal编程技术网

如何在使用ImageMagick将SVG转换为PDF时获得最佳结果?

如何在使用ImageMagick将SVG转换为PDF时获得最佳结果?,imagemagick,Imagemagick,在Windows 10中,我使用ImageMagick-7.0.10-Q16。执行此命令行时: magick clocky.svg test.pdf 。。。然后我得到一个PDF,其中PDF中的图像非常像素化: 这是源SVG图像: 如何在不使用ImageMagick进行像素化的情况下将SVG转换为PDF时获得最佳结果 有没有办法将SVG本机包含在PDF中,这样PDF中的图像在所有缩放值下都看起来总是平滑的?(就像将SVG保存为PDF时Inkscape显然是这样做的)。在ImageMagick中

在Windows 10中,我使用ImageMagick-7.0.10-Q16。执行此命令行时:

magick clocky.svg test.pdf
。。。然后我得到一个PDF,其中PDF中的图像非常像素化:

这是源SVG图像:

如何在不使用ImageMagick进行像素化的情况下将SVG转换为PDF时获得最佳结果


有没有办法将SVG本机包含在PDF中,这样PDF中的图像在所有缩放值下都看起来总是平滑的?(就像将SVG保存为PDF时Inkscape显然是这样做的)。

在ImageMagick中,您可以在读取SVG之前指定密度,然后调整大小。所以

magick -density 288 clocky.svg -resize 25% test.pdf


288=4*72所以我们在ImageMagick中调整大小为1/4=25%,您可以在读取SVG之前指定密度,然后再调整大小。所以

magick -density 288 clocky.svg -resize 25% test.pdf


288=4*72所以我们调整大小1/4=25%PDF中的图像仍然在PDF查看器中以更高的缩放值进行像素化:问题显然是IM首先将SVG转换为小像素图像,然后在PDF中放大到全尺寸。难道IM不可能在不首先将SVG转换为像素图像的情况下将SVG本机嵌入到PDF中吗?不,IM不能简单地将SVG数据放入PDF中。IM使用多种工具之一对SVG进行光栅化,然后将该图像放入PDF,即RSVG或Inkscape,而不使用其自己的渲染器。您可以跳过调整大小,但保留-density 300或600,看看这是否有帮助。否则,我不知道有任何SVG到PDF的工具。但也有可能是这样的。PDF中的图像在PDF查看器中仍然以更高的缩放值进行像素化:问题显然是IM首先将SVG转换为小像素图像,然后在PDF中放大到全尺寸。难道IM不可能在不首先将SVG转换为像素图像的情况下将SVG本机嵌入到PDF中吗?不,IM不能简单地将SVG数据放入PDF中。IM使用多种工具之一对SVG进行光栅化,然后将该图像放入PDF,即RSVG或Inkscape,而不使用其自己的渲染器。您可以跳过调整大小,但保留-density 300或600,看看这是否有帮助。否则,我不知道有任何SVG到PDF的工具。但可能会有这样的情况。