gpt4 book ai didi

python - 如何使用 img2pdf 作为模块

转载 作者:行者123 更新时间:2023-11-28 18:39:54 27 4
gpt4 key购买 nike

我正在构建一个微型 Python 2.7.9 脚本,它将 JPEG 图像列表作为输入并输出 PDF 文件。我在谷歌上搜索了几个小时,但找不到解决方案:

  • 我试过了 pypdf ,但它说我没有安装 PIL,尽管我已经安装了。
  • 我试过了 Reportlab ,但页面大小比图像本身大,我找不到修复它的方法。我也觉得很难...
  • 我试过了 img2pdf , 但不明白如何使用它

我真的厌倦了所有这些库,我正在寻找一个好的解决方案。好的方法:

  • 尽可能像 pythonic
  • 使页面大小适合图像大小
  • 支持大量图片(甚至 500 张)
  • 很简单

如果你能帮助我已经尝试过的模块/代码示例,那就太棒了。此外,如果您有使用某个模块的经验,我将很高兴与您分享。

编辑:

正如评论中所建议的,我决定再给 img2pdf 一次机会。我正在使用来自官方 GitHub README 的以下代码:

import img2pdf
pdf_bytes = img2pdf('test.jpg', dpi=150)

但是它抛出一个异常:`TypeError: 'module' 对象不可调用

有人知道如何使用 img2pdf 作为多个图像的模块吗?`

最佳答案

GitHub 代码中没有任何内容向我表明此模块是可调用的。这可能是自述文件中的错误;他们的意思是该示例使用 convert 函数。试试这个:

import img2pdf
pdf_bytes = img2pdf.convert(('test.jpg',), dpi=150, x=None, y=None)

the source code ,此函数需要位置参数 xy:

def convert(images, dpi, x, y, title=None, author=None, creator=None, producer=None,
creationdate=None, moddate=None, subject=None, keywords=None,
colorspace=None, verbose=False):

但只要您提供 dpi 参数,它就会设置一个默认大小写,使其看起来(至少对我而言)像 xy 旨在成为可选参数:

    if not x and not y:
pdf_x, pdf_y = 72.0*width/ndpi[0], 72.0*height/ndpi[1]

不过,您在 PIP 上获得的包不一定与 GitHub 上的代码相同。您也可以在不提供 xy 作为 convert 的参数的情况下尝试它——或者更好的是,在您自己的机器上找到源文件并自己检查一下。

关于python - 如何使用 img2pdf 作为模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27582211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com