编写器的 PyUno 文件类型转换

Posted

技术标签:

【中文标题】编写器的 PyUno 文件类型转换【英文标题】:PyUno file types conversion for writer 【发布时间】:2016-01-05 17:57:41 【问题描述】:

全部,

我正在修改一个 python 脚本(使用 PyUno),它将读取 MSword 文档 (.docx) 并将其转换为 xml。我有一个脚本可以做我需要的一切here,除了它会从 doc 转换为 pdf。我找不到可接受的 xml 导出格式列表。

任何帮助将不胜感激。

谢谢!

:bp:

【问题讨论】:

澄清:上面引用的代码使用:property name = "FilterName" and value as "writer_pdf_Export" -- XML 文件的等价物是什么? 【参考方案1】:

这两个 FilterName 值产生不同的平面 XML 格式:

OpenDocument Text Flat XML MS Word 2003 XML

我通过这样做找到了这些名字:

    通过转到工具 -> 选项 -> 高级,选中“启用宏录制”来启用宏录制。 工具 -> 宏 -> 录制宏。 文件 -> 另存为。为该类型选择了各种选项。 为宏命名,然后检查生成的 Basic 代码中的 FilterName 属性。

请记住,.odt 和 .docx 也是基于 XML 的格式,只是它们是压缩的而不是扁平的。可以通过执行以下操作来解析这些格式的文件:

import os
import xml.dom.minidom
import xml.parsers.expat
import zipfile

filepath = "in.odt"  # or "in.docx"
tempDir = "path/to/temp/dir/"  # change according to your system
with zipfile.ZipFile(filepath, 'r') as zipper:
    zipper.extractall(tempDir)
try:
    dom = xml.dom.minidom.parse(os.path.join(tempDir, "content.xml"))
except xml.parsers.expat.ExpatError:
    # handle exception

【讨论】:

以上是关于编写器的 PyUno 文件类型转换的主要内容,如果未能解决你的问题,请参考以下文章

是迭代器的指针类型转换吗?

struts 关于集合类型转换和迭代器的总结

c和c++中,对结构体进行强制类型转换!

SpringMVC的数据类型转换

Delphi 数据文件常用函数

springmvc:自定义类型转换器代码编写