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)
相关推荐
T***u3331 小时前
后端缓存技术学习,Redis实战案例
redis·学习·缓存
Gorgous—l1 小时前
数据结构算法学习:LeetCode热题100-图论篇(岛屿数量、腐烂的橘子、课程表、实现 Trie (前缀树))
数据结构·学习·算法
im_AMBER1 小时前
算法笔记 13 BFS | 图
笔记·学习·算法·广度优先
烤麻辣烫2 小时前
黑马程序员苍穹外卖(新手) DAY3
java·开发语言·spring boot·学习·intellij-idea
驯狼小羊羔2 小时前
学习随笔-hooks和mixins
前端·javascript·vue.js·学习·hooks·mixins
组合缺一2 小时前
Solon AI 开发学习 - 1导引
java·人工智能·学习·ai·openai·solon
brave and determined3 小时前
可编程逻辑器件学习(day24):异构计算:突破算力瓶颈的未来之路
人工智能·嵌入式硬件·深度学习·学习·算法·fpga·asic
mucheni4 小时前
迅为RK3568开发板OpeHarmony学习开发手册-修改应用程序名称
linux·前端·学习
YJlio5 小时前
进程和诊断工具学习笔记(8.19):Hyper-V 来宾调试与符号配置 —— 在虚拟化场景下用 LiveKd 抓现场
网络·笔记·学习
冻感糕人~5 小时前
Agent框架协议“三部曲”:MCP、A2A与AG-UI的协同演进
java·人工智能·学习·语言模型·大模型·agent·大模型学习