首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换FileNotFound时docx2pdf错误

转换FileNotFound时docx2pdf错误
EN

Stack Overflow用户
提问于 2022-06-28 08:28:31
回答 1查看 81关注 0票数 0

我试图制作一个python程序,用烧瓶将docx文件转换成pdf。但我遇到了这样一个错误:

下面我粘贴代码:

代码语言:javascript
复制
from flask import Flask
from flask import request, render_template, send_file
import os
from typing import Tuple
from docx2pdf import convert

UPLOADER_FOLDER = ''
app = Flask(__name__)
app.config['UPLOADER_FOLDER'] = UPLOADER_FOLDER

@app.route('/')
@app.route('/index', methods=['GET', 'POST'])
def index():
    if request.method == "POST":
        def docx2pdf(input_file: str, output_file: str, pages: Tuple = None):
           if pages:
               pages = [int(i) for i in list(pages) if i.isnumeric()]

           result = convert(input_file, output_file)
           print('Convert Done')
           summary = {
               "File": input_file, "Pages": str(pages), "Output File": output_file
            }
           print("\n".join("{}:{}".format(i, j) for i, j in summary.items()))
           return result
        file = request.files['filename']
        if file.filename!= '':
           file.save(os.path.join(app.config['UPLOADER_FOLDER'], file.filename))
           input_file = file.filename
           output_file = r"hello.pdf"
           docx2pdf(input_file, output_file)
           pdf = input_file.split(".")[0]+".pdf"
           print(pdf)
           lis=pdf.replace(" ", "=")
           os.rename("hello.pdf", lis)
           print('converted')
           return render_template("docx.html", variable=lis)
    return render_template("index.html")


@app.route('/docx', methods=['GET', 'POST'])
def docx():
    if request.method=="POST":
        lis = request.form.get('filename', None)
        lis = lis.replace("=", " ")
        return send_file(lis, as_attachment=True)
    return render_template("index.html")

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

有人能帮忙吗?这是我关于更多细节的最后一篇文章:FileNotFoundError docx to pdf convert program

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 08:51:21

就像我们看到的

代码语言:javascript
复制
if file.filename!= '':
    file.save(os.path.join(app.config['UPLOADER_FOLDER'], file.filename))
    input_file = file.filename
    output_file = r"hello.pdf"
    docx2pdf(input_file, output_file)
    pdf = input_file.split(".")[0]+".pdf"
    print(pdf)
    lis=pdf.replace(" ", "=")
    os.rename("hello.pdf", lis)
    print('converted')
    return render_template("docx.html", variable=lis)

你试着转换文件。但你使用的是docx2pdf(input_file, output_file)。如果您查看导入部分,您可以看到以下内容

代码语言:javascript
复制
from docx2pdf import convert

因此,您不使用未保存和处理的convert ->文件-> FileNotFoundError

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72783144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档