Мост Python-UNO: изменить параметры экспорта PDF

Я пытаюсь создать PDF-файл из файла odt, используя Python и мост OpenOffice UNO. Пока все работает нормально, единственная проблема, с которой я сталкиваюсь, это параметры экспорта. По умолчанию OO использует существующие настройки экспорта PDF (использовавшиеся в последний раз или по умолчанию, если в первый раз). Но мне нужно установить эти настройки вручную, например, «UseTaggedPDF» должно быть правдой. Это часть кода, где я экспортирую 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 создается, но не помечается. Что не так с этим?


person Sano J    schedule 06.05.2013    source источник


Ответы (1)


Наконец нашел решение на 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)
person Sano J    schedule 06.05.2013
comment
(1) Вы можете принять свой собственный ответ (2) Я призываю объяснить, как это решение. - person Marcin; 18.12.2013