一、提出问题
在我们的工作中,有时候上级让下级将盖章的文件生成PDF文件通过内部平台发送到上级邮箱,那如何解决呢?是去找一个扫描仪,还是用手机拍图转。用Python基实就能实现。
二、分析问题
现在网上好多的软件都是收费的,转pdf,如何查看文件是否加密,对于图片如何识别文本。
三、docx2pdf模块的使用
1.安装模块
pip install docx2pdf
2.介绍
pdf2docx是一个Python模块,可以用来将PDF文件转换成Word文档。它是基于Python的pdfminer和python-docx库开发的,可以在Windows、Linux和Mac系统上运行。
四、案例分析
import docx2pdf import os import PyPDF2 pdf_path = "C:\\Users\\lenovo\\Desktop\\test\\" files = [] for file in os.listdir(pdf_path): if file.endswith(".docx"): files.append(pdf_path+file) print(files) for file in files: print(file) docx2pdf.convert(str(file)) file_name=file.split(".")[0] print(f"{file_name}转换成功!") for file in os.listdir(pdf_path): if file.endswith(".pdf"): files.append(pdf_path + file) for file in files: outfile=file.split('.')[0]+'加密.pdf' with open(file, 'rb') as f: pdf = PyPDF2.PdfReader(f) print(pdf) if pdf.is_encrypted: print(f"{file}是加密文件" ) else: print(f"{file}不是加密文件") write = PyPDF2.PdfWriter() for i in range(len(pdf.pages)): write.add_page(pdf.pages[i]) write.encrypt(user_password='123456',owner_pwd="qwerty", use_128bit=True) with open('out_file4.pdf',"wb") as f: write.write(f)
五、如何识别图片中文本
import tesseract import os from PIL import Image imglist = [] pdf_path = "./" for file in os.listdir(pdf_path): if file.endswith(".png"): imglist.append(pdf_path + file) print(imglist) imgtext = [] for img in imglist: print(img) text = tesseract.image_to_string(Image.open(img)) imgtext.append(text)