我正在尝试使用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但未标记。这有什么问题?
答案 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)