我需要从PDF图像中提取矢量图形并将它们导入GIMP,作为路径或高分辨率光栅图像。具体来说,我需要从USGS地形图中获取轮廓线并将它们叠加在卫星图像上。有什么建议吗?
到目前为止,我已经尝试过:
- 使用GIMP的原生PDF导入功能将其导入为光栅图像。问题:以高分辨率执行此操作会导致计算机崩溃。可能的解决方案是仅导入PDF的选定区域,但据我所知,这是不可能的。
- 使用ImageMagick将PDF转换为光栅图像。问题:与“-scale”参数一起使用时,“convert”会出现光栅化PDF然后将其放大,从而导致图像不连贯。
- 使用InkScape从PDF中提取必要的矢量元素。问题:当我尝试打开中等大小(25 Mb)的PDF时,InkScape会冻结。
还有其他想法吗?
非常感谢, treacl
答案 0 :(得分:0)
上面没有提到的选项是尝试直接使用ghostscript程序来渲染输出--GIMP在内部使用ghostscript导入PDF文件,所以你可能已经安装了它。
有几十个命令开关可以传递ghostscript,以便将文件渲染成另一种格式 - 您需要传递的开关用于确定输出大小,分辨率和要打印的页面。我没有找到任何切换来选择要呈现的页面的一部分 - 因此,如果您的文档是单页,则生成的文件可能仍然对GIMP来说很大 - 但您可能会裁剪它与ImageMagick一起,至少。
我猜你的相关命令行是:
gs -dNOPAUSE -dBATCH -sDEVICE=png16m -sOutputFile=page.png -dFirstPage=<pagenumber> -dLastPage=<pagenumber> -r<dpiresolution> -f<filename.pdf>
如果生成的图像仍然太大而无法生成或操作,您可以尝试更改输出格式以使用较小的颜色深度(这个是每像素3个字节:png16m)。应该可以传递postscript命令来转换设备,以便感兴趣的区域按比例缩放到您的页面大小(并且其他部分从渲染中裁剪掉) - 这将是您的最终修复 - 但是我不知道如何用ghostscript做到这一点。
或者,您可以尝试按照评论中的建议将-density
参数传递给ImageMagick。