我需要处理一些pdf到透明的png,pdf是纯文本的,带有彩色背景。
pdf有不同的彩色背景,有些是浅灰色,有些是白色等,但它们在整个pdf中都是一致的。
在imagemagick中是否有一种方法可以识别左上角的像素颜色,并在执行imagemagick命令时将获取的颜色传递给命令-transparent "identifiedColor"
?
谢谢!
答案 0 :(得分:3)
解决方案1:遮罩填充
convert input.pdf -fill none -fuzz 10% -draw "matte 0,0 floodfill" output.png
您可能需要调整模糊百分比
更多详细信息:http://www.imagemagick.org/Usage/draw/#matte
解决方案2:颜色替换
我找不到在单个命令中执行此操作的方法,但这两个命令应该有效:
用白色替换背景颜色(取自像素[0,0]):
convert input.pdf -fill white -draw "color 0,0 replace" temp.png
使白色像素透明:
convert temp.png -transparent white output.png
此处有更多详情http://www.imagemagick.org/Usage/draw/#color
在Windows上使用ImageMagick 6.6.0-1进行测试