Python-UNO桥:更改PDF导出选项

时间:2013-05-06 12:59:17

标签: python openoffice.org libreoffice uno

我正在尝试使用Python和OpenOffice UNO桥从odt文件生成PDF。 它到目前为止工作正常,我面临的唯一问题是出口选择。 默认情况下,OO使用现有的PDF导出设置(上次使用的设置,或第一次使用的默认设置)。但我需要手动设置这些设置,例如“UseTaggedPDF”必须为true。 这是导出PDF的代码的一部分:

try:
    properties=[]
    p       = PropertyValue()
    p.Name  = "FilterName"
    p.Value = "writer_pdf_Export"
    properties.append(p)
    p       = PropertyValue()
    p.Name  = "UseTaggedPDF"
    p.Value = True
    properties.append(p)


    document.storeToURL(outputUrl, tuple(properties))
finally:
    document.close(True)

生成PDF但未标记。这有什么问题?

1 个答案:

答案 0 :(得分:3)

最后在http://www.oooforum.org/forum/viewtopic.phtml?t=70949

上找到了解决方案
try:
    # filter data
    fdata = []
    fdata1 = PropertyValue()
    fdata1.Name = "UseTaggedPDF"
    fdata1.Value = True
    fdata.append(fdata1)

    fdata.append(fdata1)

    args = []
    arg1 = PropertyValue()
    arg1.Name = "FilterName"
    arg1.Value = "writer_pdf_Export"
    arg2 = PropertyValue()
    arg2.Name = "FilterData"
    arg2.Value = uno.Any("[]com.sun.star.beans.PropertyValue", tuple(fdata) )
    args.append(arg1)
    args.append(arg2)

    document.storeToURL(outputUrl, tuple(args))
finally:
    document.close(True)