pdf文件加密学习起,pdf 中图片如何提取文本

一、提出问题

在我们的工作中,有时候上级让下级将盖章的文件生成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)
相关推荐
_李小白1 小时前
【OPENGL ES 3.0 学习笔记】第一天:认识渲染管道
笔记·学习
future14121 小时前
单片机学习日记
单片机·嵌入式硬件·学习
半路程序员1 小时前
Go语言学习(三)
学习
渡我白衣1 小时前
深度学习入门(一)——从神经元到损失函数,一步步理解前向传播(上)
人工智能·深度学习·学习
敲代码的嘎仔2 小时前
JavaWeb零基础学习Day2——JS & Vue
java·开发语言·前端·javascript·数据结构·学习·算法
Amy_au2 小时前
AWS Lambda 学习笔
学习·云计算·aws
chennn123 小时前
c++相关学习
开发语言·c++·学习
Gorgous—l4 小时前
数据结构算法学习:LeetCode热题100-矩阵篇(矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵 II)
数据结构·学习·算法
eggcode4 小时前
Vue前端开发学习的简单记录
vue.js·学习
你也渴望鸡哥的力量么4 小时前
爬虫学习笔记
笔记·爬虫·学习