首页 > 编程语言 >python 实现网页 pdf 转 docx

python 实现网页 pdf 转 docx

时间:2024-04-24 15:56:08浏览次数:31  
标签:__ docx name python doc file pdf

1、安装 python 库

pip3 install flask PyPDF2 python-docx

2、创建一个Flask应用,并编写处理文件上传和转换的代码

vim pdf_to_docx.py

import os
from flask import Flask, render_template, request, send_file
from PyPDF2 import PdfReader
from io import BytesIO
from docx import Document

app = Flask(__name__)

# 上传文件的HTML页面
@app.route('/')
def index():
    return render_template('index.html')

# 处理文件上传和转换
@app.route('/convert', methods=['POST'])
def convert():
    if 'file' not in request.files:
        return "No file part"

    file = request.files['file']
    if file.filename == '':
        return "No selected file"

    if file:
        pdf = PdfReader(file)
        doc = Document()
        for page_num in range(len(pdf.pages)):
            page = pdf.pages[page_num]
            doc.add_paragraph(page.extract_text())

        # 保存docx文件到内存中
        doc_buffer = BytesIO()
        doc.save(doc_buffer)
        doc_buffer.seek(0)
        download_basename = os.path.splitext(file.filename)[0]
        download_name = download_basename + '.docx'
        return send_file(doc_buffer, as_attachment=True, download_name=download_name)


if __name__ == '__main__':
    app.run(debug=True)

3、在HTML页面中添加文件上传表单和预览/下载功能

mkdir templates && cd templates
vim index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PDF to DOCX Converter</title>
</head>
<body>
    <h1>PDF to DOCX Converter</h1>
    <form action="/convert" method="post" enctype="multipart/form-data">
        <input type="file" name="file" accept=".pdf">
        <button type="submit">Convert</button>
    </form>
</body>
</html>

整个目录树结构为:

.
├── pdf_to_docx.py
└── templates
    └── index.html

4、运行代码

python3 pdf_to_docx.py

image

打开本地浏览器访问http://127.0.0.1:5000 出现如下页面
image

选择本地文件然后点击Convert,即下载转换完成的 pdf 文件

标签:__,docx,name,python,doc,file,pdf
From: https://www.cnblogs.com/itsfei/p/18155617

相关文章

  • Python list的交、并、差与排序
    求list的交集、并集、差集set() 函数创建一个无序不重复元素集,通过set可方便求取list的交并差,并可去重#通过set集合>>>list1=[1,2,3]>>>list2=[2,3,4]>>>set1=set(list1)>>>set2=set(list2)>>>set1&set2#交集{2,3}>>>set1|set......
  • python之读取ini文件
    #ini文件[web_config]#前台ldap登陆:login_name=ut251login_pwd=wanghu123读取ini文件内容defread_config(section,key):try:config=configparser.ConfigParser()#类实例化#ini文件路径config_path=os.path.join(product_path,......
  • python之pytest
    安装pipinstallpytest 终端运行pytest:在当前目录中查找并运行所有符合测试用例命名规范的测试用例。pytest-q:以简化模式运行所有测试用例。pytest-v:以详细模式运行所有测试用例。pytesttest_sample.py:运行指定的测试文件test_sample.py中的所有测试用例。......
  • python——socket通信
    TCP协议是一种面向连接的协议,它在网络中提供可靠的、有序的、基于字节流的数据传输。它通过建立连接、数据的确认和重传机制等,确保数据的可靠性和顺序性。在TCP通信中,客户端和服务器之间的数据传输是双向的,双方可以相互发送和接收数据实现TCP服务器以下是一个示例,展示了如何使用......
  • python XML 文件解析
    XML文件认识<axmlns:ns="xxx"attr1="33"><ns:b>1<c>2<d/>3</c></ns:b>4</a>xml每个节点可以分为tag:a,ns:b,c,d都是tagtext:1,2是texttail:3,4是tail.3是属于d的tail,4是ns:b的tailattrib......
  • python包:torchvision
    torch 是一个偏向于底层的包, 做一些较为基础 矩阵运算 对于不同的样本比如图像,声音,文字, 之类,有更加针对性的包 比如,针对图片 他的矩阵处理专用包就是:torchvision 这个就需要单独安装,这个包的体积不是很大,我们可以直接尝试安装 pipinstalltorchvision......
  • 在windows下使用COSCMD时因Python版本不支持导致报SafeConfigParser不支持的错误
    在Windows下通过pip安装COSCMD后,使用相关命令操作Coscmd时报错,具体看错误信息是:SafeConfigParser不再支持。这是因为本地的python的版本是3.12.2,此版本已经不再支持SafeConfigParser这个类。而CosCmd的源代码是用的SafeConfigParser这个类,所以导致报错。 解决方案:修改C:\Pyth......
  • python包:torch
    torch 这个包非常大,安装也非常麻烦。基本可以上,他是深度学习里面重要的一个包,要安装torch  首先要确定自己的操作系统,自己的python版本,自己的版本, 是要安装CPU版本的torch,还是GPU版本的torch  ***我这边是WIN10专业版。Python3.8.10。我自己有泰坦RTX的显......
  • 在阿里云服务器上安装python3.6.3
    阿里云服务器试用1、先进到服务器列表2、进入远程连接客户端使用账号密码进行连接即可用xshell或putty连接了=============================================================================一般系统中默认是python2,下面是python3安装流程一、下载https://www.pyth......
  • python中时间转换,获取上一月上一周,本月,本周
    defpaserTime(timestamp):t=time.time()f=time.localtime(timestamp/1000)print(t)#原始时间数据#print(int(t))#秒级时间戳print(int(round(t*1000)))#毫秒级时间戳#nowTime=lambda:i......