首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用img2pdf作为模块

如何使用img2pdf作为模块
EN

Stack Overflow用户
提问于 2014-12-20 16:38:34
回答 1查看 9.9K关注 0票数 3

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

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

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

  • 越好越好
  • 将页面大小与图像大小相匹配
  • 支持大量图像(甚至500张)
  • 很容易

如果您可以帮助我已经尝试过的模块/代码示例,那就太棒了。另外,如果你有一个模块的经验,我会很高兴你可以分享它。

编辑:

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

代码语言:javascript
运行
复制
import img2pdf
pdf_bytes = img2pdf('test.jpg', dpi=150)

但是它抛出一个异常:‘`TypeError:’模块‘对象是不可调用的

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-20 23:05:01

GitHub代码中没有任何东西表明这个模块是可调用的。这可能是自述中的一个错误;对于示例来说,这意味着使用convert函数。试一试:

代码语言:javascript
运行
复制
import img2pdf
pdf_bytes = img2pdf.convert(('test.jpg',), dpi=150, x=None, y=None)

源代码中,这个函数需要位置参数xy

代码语言:javascript
运行
复制
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都是可选的参数:

代码语言:javascript
运行
复制
    if not x and not y:
        pdf_x, pdf_y = 72.0*width/ndpi[0], 72.0*height/ndpi[1]

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27582211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档