【问题标题】:Saving multiplier JPEG images to PDF将乘法器 JPEG 图像保存为 PDF
【发布时间】:2020-12-19 09:19:42
【问题描述】:

当我尝试使用 PIL 将多个 JPEG 图像转换为 PDF 时,“a.jpg”被保存了两次,因此现在有三个 PDF 页面包含两个 a.jpg 和一个 b.jpg。以下是我的代码。我希望它只包含一个 a.jpg 和一个 b.jpg...

import random


def print_hi( name ):
    global random_int
    folder = "C:/Users/arjay/Documents/IntellijBackgrounds/"
    file_name = "a.jpg"
    img1 = Image.open( folder + file_name )
    img2 = Image.open( folder + "b.jpg" )

    random_pdf_name = "C:/Users/arjay/Documents/IntellijBackgrounds/"

    for _ in range( 5 ):
        random_integer = random.randint( 65, 90 )
        random_int = random.randint( 1, 1000 )
        # Keep appending random characters using chr(x)
        random_pdf_name += (chr( random_integer ))

    random_pdf_name += str( random_int ) + ".pdf"
    images = [ img1, img2 ]
    multiple_images = len( images )
    
    if (multiple_images > 1):
        img1.save( random_pdf_name, "pdf", reolution=100.0, save_all=True, append_images=images )
    else:
        img1.save( random_pdf_name, "pdf", reolution=100.0, save_all=True )

    print( "Successfully converted", file_name, "to", random_pdf_name )
if __name__ == '__main__':
    print_hi( 'PyCharm' )

【问题讨论】:

  • 你总是将images附加到img1,而images总是包含img1

标签: python pycharm python-imaging-library


【解决方案1】:

如果有多个图像,您的代码会再次附加完整列表 - 而不是从第二个图像开始附加。

变化:

img1.save( random_pdf_name, "pdf", reolution=100.0, save_all=True, append_images=images )

收件人:

img1.save( random_pdf_name, "pdf", reolution=100.0, save_all=True, append_images=images[1:] )

【讨论】:

  • 哦!万分感谢!!问题, images[1:] 使列表从 1 而不是 0 开始,对吗?
猜你喜欢
  • 2016-07-28
  • 1970-01-01
  • 2014-02-08
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 2018-03-13
  • 2012-07-04
  • 1970-01-01
相关资源
最近更新 更多