彻底混淆了使用.doc API

时间:2017-07-24 19:21:06

标签: python python-3.x pdf doc unoconv

首先让我说我的python知识是从初级到中级的,并且我最近在很长一段时间后再次开始使用该语言。

目标:

今天早上,我偶然发现了一些我希望转换并连接到PDF文件的单词文档,其中2个.doc文件创建了一个PDF文件。 看起来像是一个相当简单的任务,所以我想我会尝试学习如何在python中完成它。 连接PDF文件并不算太糟糕,我找到了PyPDF2并设法编写了一个脚本来实现这一点。

但是7个小时之后,在无数依赖破坏的脚本之后 - 我仍然无法找到自动化doc-pdf转换的方法。

问题:

我找到的每个脚本:

  1. 使用python-docx(我的文档 word 2003 .docs
  2. 使用unoconv bridge(我和OpenOffice一起安装,然后搜索文档但没有找到 - 因此我不知道如何从python脚本或shell调用。我看到了one example这个但是它不断抛出错误)
  3. 使用win32com或win32com.client或pywin32或其他。 我遇到了很多这些安装的问题,但无法从代码中导入它(就像那个人here),现在我甚至无法用pip找到它们。为他们搜索文档(他们是模块还是类?我不知道),除了他们已经连接到ActivePython之外,几乎找不到任何我能理解的内容。 (这显然是具有更多功能的Python的超集?)。
  4. Uses comtypes,我安装但由于某种原因无法使用/导入(也许我在某种程度上使用了pip错误?)
  5. 我知道我的问题很难集中,但老实说,现在我的大脑因信息过载而受到煎炸。对于菜鸟的任何简化都是非常受欢迎的。

    TL; DR:

    假设不了解COM内容并且对任何外部框架缺乏经验:

    1. 我需要做什么才能将Word 2003 .doc文件转换为.pdf文件?我在Windows 10 64位计算机上运行32位python3.5.1。
    2. 我在哪里可以了解更多关于从python访问其他软件API的信息?这些内容是否有很大的先决条件,比如知道操作系统在较低级别的工作原理?
    3. 谢谢!

1 个答案:

答案 0 :(得分:0)

根据我的经验,在各种办公室格式之间进行转换最好在python之外完成。使用子进程模块,您可以调用外部命令

soffice --convert-to pdf file.doc  --headless

其中soffice是LibreOffice附带的命令。