把扫描的jpg格式图片合并成一个PDF文件
本帖最后由 Endurance 于 2023-9-19 20:41 编辑近日扫描了几页纸,需要合并成一个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
output_filename = sys.argv
merge_images_to_pdf(input_filename, output_filename)
```
保存成merge_images.py;
之后,就可以使用命令
```
python merge_images.py <input file name> <output file name>
```
来完成将图片附加在< output file name >的功能了。比如当前文件夹里有page-1.jpg到page-100.jpg一共100个图片,就可以在命令提示符里使用
```
for /l %i in (1,1,100) do python merge_images.py page-%i.jpg output.pdf
```
进行合并。 现在数码一体机或复合打印机都能扫成单面或多页的PDF,再有网上相关工具也有,PDF24、PDF Shaper、Adobe Acrobat DC都能实现图片转PDF.
不过,还要向楼主学习,通过自己的能力实现功能。 感谢,之前都是手动塞word里的 无奈,我用的网上的工具不要钱:lol 无奈吾爱有多款实现这个功能的工具 PDFXEdit用这个软件,又免费,又快。 扫描仪厂家的软件不行吧。佳能的capture就支持多页文档扫描合并成一个pdf文件,很方便。 感谢分享!感觉还是直接用个绿色便携版的软件来转换会更直接点儿,对小白来说 不行,小白看不懂,哈哈