给定简短的5页PDF文件(附在底部),以及以下python代码转换为多页TIFF:from wand.image import Image
with Image(filename='5-page-pdf.pdf', resolution=200) as img:
img.type = "grayscale"
img.format = "tiff"
img.compression = "lzw"
img.save(filename="test.tiff")导致 TIFF 文件的第 2-4 页显示为深灰色(或透明)背景上的黑色文本。其他图像处理库无法打开文件或渲染文件。使用Wand使用的ImageMagick转换相同的PDF,效果很好convert -density 200 5-page-pdf.pdf -type grayscale -compress lzw 5-page-pdf.tiff这将生成一个文件,该文件可与其他图像处理库配合使用,并且在 TIFF 查看器中看起来正确。我尝试过删除Alpha通道,尝试将背景颜色设置为“白色”以及其他一些操作,但无济于事。从魔杖中出来的TIFF总是乱码。如果它在ImageMagick中可行,那么在Wand中应该是可行的,对吧?我缺少什么参数或设置?
1 回答

慕的地10843
TA贡献1785条经验 获得超8个赞
设置属性不会在页面上传播。img.alpha_channel
请尝试此解决方法
from wand.api import library
from wand.image import Image
with Image(filename="5-page-pdf.pdf", resolution=200) as img:
img.type = 'grayscale'
img.compression = "lzw"
# Manually iterate over all page, and turn off alpha channel.
library.MagickResetIterator(img.wand)
for idx in range(library.MagickGetNumberImages(img.wand)):
library.MagickSetIteratorIndex(img.wand, idx)
img.alpha_channel = 'off'
img.save(filename="test.tiff")
添加回答
举报
0/150
提交
取消