首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么docx2pdf模块不能在我的Python script Mac OS中将docx转换为pdf?

为什么docx2pdf模块不能在我的Python script Mac OS中将docx转换为pdf?
EN

Stack Overflow用户
提问于 2020-06-29 19:04:03
回答 1查看 1.7K关注 0票数 1

我使用的是Python3.8和docx2pdf 0.1.7。多年来,我一直在尝试在我的脚本中获得一些东西,可以将docx转换为pdf。我尝试了所有的东西,但到目前为止都没有对我起作用。

有一个名为docx2pdf的模块,它可以转换我刚刚创建的文件,但它似乎不起作用,我不知道为什么会这样。我尝试在我的脚本中运行它,但我也尝试将它作为一个子进程运行,但都不起作用。该模块的文档为here

我认为这是一个非常未知的模块,因为我在互联网上找不到任何答案,所以我希望有人知道如何解决这个问题。

这是我正在使用的代码:

代码语言:javascript
复制
from docx import Document
from docx.shared import Pt
from tkinter import *
from docx2pdf import convert

root = Tk()

# Then some irrelevant code for this question

def updater()
    doc = Document('./Contract.docx')
    # Then some code which updates the doc according to the tkinter Entry input

    # Save it according to some of the input from the GUI
    doc.save('/Users/Jem/Documents/Huurovereenkomsten/Specifiek/{}/contract{}.docx'.format(nospaceadres,
                                                                                                       naamhuurder.get()))

    # It all works fine until here
    convert('/Users/Jem/Documents/Huurovereenkomsten/Specifiek/{}/contract{}.docx'.format(nospaceadres,
                                                                                                       naamhuurder.get())) # This should convert it to a pdf with the same name in the same folder

# Some Tkinter GUI code which is also irrelevant for this question

root.mainloop()

但首先,它给了我这个:

代码语言:javascript
复制
0%|          | 0/1 [00:02<?, ?it/s]

然后,它在我的macbook上打开MS Word,并告诉我需要许可/权限才能打开docx。然后,我必须选择文档,这给了它打开它的许可。之后,它会打开docx,但什么也不会发生。

在那之后,它给了我这个:

代码语言:javascript
复制
{'input': '/Users/Jem/Documents/Huurovereenkomsten/Specifiek/slotlaan73/contractabc.docx', 'output': '/Users/Jem/Documents/Huurovereenkomsten/Specifiek/slotlaan73/contractabc.pdf', 'result': 'error', 'error': 'Error: Er heeft zich een fout voorgedaan.'}

“更重的zich甚至是fout voorgedaan.‘”荷兰语的意思是:发生错误。

有没有人知道为什么会发生这种情况,或者我可以做些什么来让它工作,以便它将docx转换为pdf格式?

EN

回答 1

Stack Overflow用户

发布于 2020-07-04 19:10:07

尝试此代码,如果发生任何错误,则发布错误的屏幕截图.我们将尝试解决

代码语言:javascript
复制
import tkinter as to 
import tkinter.ttk as ttk
from  tkinter.filedialog import askopenfile
from tkinter.messagebox  import showinfo
from docx2pdf import convert

win = tk.Tk()
win.title("Word To PDF Converter")
def openfile():
    file = askopenfile(filetypes = [('Word Files','*.docx')])
    print(file)
    convert(file.name)
    showinfo("Done","File Successfully Converted")

label = tk.Label(win,text='Choose File: ')
label.grid(row=0,column=0,padx=5,pady=5)

button = ttk.Button(win,text='Select',width=30,command=openfile)
button.grid(row=0,column=1,padx=5,pady=5)

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

https://stackoverflow.com/questions/62636726

复制
相关文章

相似问题

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