请考虑以下示例:
import uno
def create_pdf(file_url):
local_context = uno.getComponentContext()
resolver = local_context.ServiceManager.createInstanceWithContext(
"com.sun.star.bridge.UnoUrlResolver", local_context)
context = resolver.resolve(
"uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
desktop = context.ServiceManager.createInstanceWithContext(
"com.sun.star.frame.Desktop", context)
document = desktop.loadComponentFromURL(file_url, "_blank", 0, ())
# TODO: Create a Universal Accessibility (PDF/UA) PDF
我需要完成它才能创建符合 PDF/UA 标准的 PDF。
如果我是从 Writer 中的文档中执行此操作,步骤将是:
我正在努力寻找适用的例子。请问有人知道如何编码吗?
谢谢
我
我想出了以下内容:
from pathlib import Path
from com.sun.star.beans import PropertyValue
def export_doc(doc, output_path: Path, filter_name: str) -> None:
output_url = output_path.resolve().as_uri()
properties = []
p = PropertyValue()
p.Name = 'FilterName'
p.Value = filter_name
properties.append(p)
doc.storeToURL(output_url, tuple(properties))
我已经尝试通过了:
我要注意的是,当涉及到 PDF 时,它似乎会采用 GUI 中上次使用的设置。因此,它只会导出 PDF/UA(如果这是上次导出的内容)。
将来,我会尝试使其更加健壮,但目前已经足够了。