为了账号安全,请及时绑定邮箱和手机立即绑定

将多页PDF转换为TIFF不适用于Python库Wand

将多页PDF转换为TIFF不适用于Python库Wand

达令说 2022-08-25 13:45:26
给定简短的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")


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号