PyUno文件类型转换为writer

时间:2016-01-05 17:57:42

标签: python openoffice-writer pyuno

所有

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

任何帮助将不胜感激。

谢谢!

:沸点:

1 个答案:

答案 0 :(得分:0)

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

  • OpenDocument Text Flat XML
  • MS Word 2003 XML

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

  1. 转到工具 - >启用宏录制选项 - >高级,选中"启用宏录制"。
  2. 工具 - >宏 - >记录宏。
  3. 文件 - >另存为。为该类型选择了各种选项。
  4. 命名宏,然后检查生成的Basic代码中的FilterName属性。
  5. 请记住.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