Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
使用我当前的命令和选项将PDF转换为带有Alpha层(支持透明度)的PNG花费的时间太长_Pdf_Imagemagick - Fatal编程技术网

使用我当前的命令和选项将PDF转换为带有Alpha层(支持透明度)的PNG花费的时间太长

使用我当前的命令和选项将PDF转换为带有Alpha层(支持透明度)的PNG花费的时间太长,pdf,imagemagick,Pdf,Imagemagick,我正在尝试将一个由矢量图像+文本组合而成的特定PDF转换为光栅图像(最好是带有alpha层的PNG),使用以下命令通常需要80秒: convert -density 300x300 "C:\im\files\pdfFile.pdf" -resize 180x180 -flatten -quality 100 -profile "C:\im\sRGB.icc" "C:\im\output\converted.png" 我敢打赌,问题在于文件中的文本,因为使用的是字体——可能会导致向量端的一个大问

我正在尝试将一个由矢量图像+文本组合而成的特定PDF转换为光栅图像(最好是带有alpha层的PNG),使用以下命令通常需要80秒:

convert -density 300x300 "C:\im\files\pdfFile.pdf" -resize 180x180 -flatten -quality 100 -profile "C:\im\sRGB.icc" "C:\im\output\converted.png"
我敢打赌,问题在于文件中的文本,因为使用的是字体——可能会导致向量端的一个大问题

对于可用于缩短将文件成功转换为图像所需时间的中间步骤,有何建议

寻找10秒或更少的总时间,但老实说,任何改进都是欢迎在这一点上

以下是有问题的文件:


我不确定这个问题是否需要我为Image Magick编写一个扩展来解决这个问题,或者这更像是一种“我对我使用的工具不是100%熟悉,所以了解更多的人可能会有所帮助”之类的东西。

遗憾的是,我没有使用图像魔法或Ghostscript找到答案——我找到的解决方案与Inkscape相关

这里的问题是,如果您不需要通过命令行来完成转换,那么您可以使用Inkscape进行转换,而无需进行太多的查找

使用Inkscape时,除非使用导入PDF-Poppler/Cairo导入的方法,否则无法正确读取PDF文件。但是,这不能通过命令行中的选项来完成,因此除非您进入Inkscape的Github并找到一堆随机的EXE,其中一个是“pdftocairo.EXE”,它将执行我正在寻找的功能。使用“-png”和“-transp”选项将pdf转换为支持透明度的.png

例如: pdftocairo“Path\to\pdf”-png-transp“Optional\output\Path”就可以了


注意:其他人提出了一个很好的可能性,即Image Magick在使用Ghostscript进行PDF->png转换时,在查找合适的字体时可能会遇到问题,因此它会花时间搜索一种接近目标字体的字体?这是有道理的,因为这段长的转换时间似乎与原始帖子中提到的特定字体有关。

你试过使用吗?是的,我发现它花费合理时间的唯一方法是我使用png16m作为输出设备——但这不支持透明度。使用pngalpha作为设备输出产生与ImageMagick路径类似的结果。我还试图找到一种方法,将png16m输出设备与GS一起使用,然后以某种方式将透明度重新引入该格式。。。没用。如果PDF很大,“-density 300x300”只会给你额外的时间来解码。而且“-quality 100”不适用于PNG输出。尝试忽略这两个参数,看看是否对输出图像的外观有任何影响。我尝试过不使用这两个参数——遗憾的是,问题不在于输出外观,而在于获得所需输出所需的时间长度。谢天谢地,我发现Inkscape实际上及时地完成了所需的工作,所以现在不需要Ghostscript/Image Magick!请检查并更正您的帖子-您的链接不起作用。。。