把扫描的jpg格式图片合并成一个PDF文件

查看 153|回复 10
作者:Endurance   
近日扫描了几页纸,需要合并成一个PDF文件,无奈网上的工具都要钱,所以研究了一下怎么使用python完成,发现不难,于是自己动手!
import os
from PIL import Image
import sys
from PyPDF2 import PdfWriter,PdfReader
def merge_images_to_pdf(input_filename, output_filename):
    pdf_writer = PdfWriter()
    #pdf_reader = PdfReader()
    image_path = os.path.join('./', input_filename)
    img = Image.open(image_path)
    temp_pdf_filename = f'{input_filename}.pdf'
    img.save(temp_pdf_filename, format='PDF')
    if os.path.exists(output_filename):
        with open(output_filename, 'rb') as temp_pdf0:
            pdf_reader = PdfReader(temp_pdf0)
            for pages in pdf_reader.pages:
                pdf_writer.add_page(pages)
    with open(temp_pdf_filename, 'rb') as temp_pdf:
        pdf_reader = PdfReader(temp_pdf)
        for page in pdf_reader.pages:
            pdf_writer.add_page(page)
    with open(output_filename, 'wb') as output:
        pdf_writer.write(output)
input_filename =  sys.argv[1]
output_filename = sys.argv[2]
merge_images_to_pdf(input_filename, output_filename)                                
保存成merge_images.py;
之后,就可以使用命令
python merge_images.py [i]
来完成将图片附加在的功能了。比如当前文件夹里有page-1.jpg到page-100.jpg一共100个图片,就可以在命令提示符里使用
for /l %i in (1,1,100) do python merge_images.py page-%i.jpg output.pdf
进行合并。

图片, 文件

auroty   

感谢,之前都是手动塞word里的
china-ray   

现在数码一体机或复合打印机都能扫成单面或多页的PDF,再有网上相关工具也有,PDF24、PDF Shaper、Adobe Acrobat DC都能实现图片转PDF.
不过,还要向楼主学习,通过自己的能力实现功能。
renpeng009   

无奈,我用的网上的工具不要钱
SU150228   

无奈吾爱有多款实现这个功能的工具
shanxue2021   

PDFXEdit  用这个软件,又免费,又快。
yymj   


renpeng009 发表于 2023-9-19 20:40
无奈,我用的网上的工具不要钱

手机上的工具有吗?
jidesheng6   

扫描仪厂家的软件不行吧。佳能的capture就支持多页文档扫描合并成一个pdf文件,很方便。
waxxy   

感谢分享!感觉还是直接用个绿色便携版的软件来转换会更直接点儿,对小白来说
heng179   

感谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部