我已经生成了一封 300 页的连载信函。每个页面都不同,每个页面都包含表情符号。由于 LibreOffice 中的错误,表情符号将不会显示在导出的 pdf 中:https ://bugs.documentfoundation.org/show_bug.cgi?id=129523
LibreOffice Writer 提供将单个页面导出为图像。在这种情况下会呈现表情符号。我的问题是,如何一次将所有 300 页导出到 300 张图像?
我正在使用以下版本的 LibreOffice:
Version: 7.4.0.3 / LibreOffice Community
Build ID: 40(Build:3)
CPU threads: 8; OS: Linux 5.19; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
7.4.0-3
Calc: threaded
将执行此任务的最简单的宏如下所示:
如果您需要更改,例如,分辨率,您将不得不添加几行代码
来自https://ask.libreoffice.org/t/use-soffice-to-convert-from-doc-to-png-images/41621/3:
该答案中给出的解决方案是导出为 PDF,然后从 PDF 转换为图像格式。但是,听起来这不适用于您的情况。
写一个宏来导出绘图页并不难;但是,如果它是一封信,那么您可能想要页面上的文本,而不仅仅是图像。
您可以编写一个转到每个页面的宏,然后像在菜单中那样调用导出。
oViewCursor.jumpToPage()
在https://ask.libreoffice.org/t/basic-macro-to-export-specific-pages-of-a-writer-document/30553有一个使用示例。它看起来像这样:通过打开宏录制并转到File > Export来获取调度程序代码。
For
然后在循环内调用该记录的代码。这样做的缺点是,对图像格式使用
uno:ExportTo
调度程序调用需要您为每个页面按 OK。您可以使用 AutoHotkey 等第三方软件自动按下 OK 按钮。或者也许它可以很好地按住或反复按 Enter 键。这是示例调度程序代码。
编辑:
@JohnSUN 的回答
StoreToURL
不需要按 OK,所以这比使用调度员呼叫要好。但是,您可能仍然会发现上面显示的一些参数很有帮助。