2017-07-24 92 views
2

让我首先说我的Python知识是初学者到中级的水平,而且我最近在很长一段时间后再次开始使用该语言。关于使用.doc API的深入思考

目标:

今天早上我碰到了一堆字的文件,我想转换并连接到PDF文件,用2个.doc文件创建一个PDF来了。 看起来像一个相当平凡的任务,所以我想我会尝试学习如何在Python中做到这一点。连接PDF的 并不算太坏,我找到了PyPDF2并设法编写了一个脚本来做到这一点。

但是7个小时之后,无数的脚本破坏了依赖关系后,我仍然无法找到自动执行doc-pdf转换

的问题(S):

每个脚本,我发现之一:

  1. 使用Python,DOCX(我的文档字2003 .docs
  2. 使用unoconv桥(我随着OpenOffice安装,然后搜索周围的文件,但没有发现 - 因此我不知道如何从python脚本或外壳调用我看到one example为此,但它一直抛出错误)
  3. 使用win32com或win32com.client或pywin32或somesuch。 我遇到了这些安装的许多问题,但无法从代码导入(如发生在家伙here),现在我甚至无法用pip找到它们。为他们寻找文档(他们是模块还是类?我不知道),并且几乎找不到我能理解的东西,除此之外他们连接到ActivePython。 (这显然是具有更多功能的Python的超集?)。
  4. Uses comtypes,我安装,但无法使用/进口或者出于某种原因(也许我使用PIP错不知何故?)

我知道我的问题是难以集中,但说实话现在我的脑子由于信息超载而煎炸。对noob的任何简化都不会受到欢迎。

TL; DR:

假设没有的COM的东西,没有什么经验知识与任何外部框架:

  1. 什么将我必须做转换Word 2003 .doc文件到.pdf文件?我在Windows 10 64位机器上运行python3.5.1 32位。
  2. 我可以在哪里了解更多关于从python访问其他软件API的信息?是否有这样的东西有很大的先决条件,知道如何操作系统在较低的水平上工作?

谢谢!

回答

0

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

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

其中soffice是LibreOffice附带的命令。