【问题标题】:PyUno file types conversion for writer编写器的 PyUno 文件类型转换
【发布时间】: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 文件的等价物是什么?

标签: python openoffice-writer pyuno


【解决方案1】:

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

  • OpenDocument Text Flat XML
  • MS Word 2003 XML

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

  1. 通过转到工具 -> 选项 -> 高级,选中“启用宏录制”来启用宏录制。
  2. 工具 -> 宏 -> 录制宏。
  3. 文件 -> 另存为。为该类型选择了各种选项。
  4. 为宏命名,然后检查生成的 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

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2017-12-30
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2014-05-03
    相关资源
    最近更新 更多