问题标签 [libreoffice-writer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1445 浏览

openoffice.org - libreoffice - 运行 (python) 宏以从 Gnu/Linux 命令行插入交叉引用

我已经验证我可以在 office 中运行普通的 office 和 python 宏,但我仍然没有弄清楚如何从命令行运行一个(甚至是 hello world )。

我在这里搜索并查看了其他答案,但我仍然不完全清楚如何从命令行运行开放式办公室宏:

https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=8232 建议使用:

office writer.odt "macro://Standard.Module1.Macro1()"

我也看过:

office "macro://Standard.Module1.Macro1()"作家.odt

不管怎样,这只是打开文档,既不运行宏也不报告错误。

如何从 python 脚本调用现有的 LibreOffice python 宏 建议在端口上运行 office 并通过该端口进行通信。

如果我能做到这一点,我仍然需要找到解释如何插入锚点的 API 文档(根据我的另一个问题 asciidoc:有没有办法创建一个在 libreoffice writer 中可见的锚点?

我正在使用 RHEL7 作为上下文。

更新

oowriter "foo.odt" macro:///Standard.Module1.addXref

与办公基本宏一起使用。我还没有弄清楚python之一。

一个问题是我找不到任何要查看的调试信息。任何地方都有日志文件吗?

另一个问题是使用哪个版本的 python。RHEL 包为 python 2.7 安装站点包。

Libreoffice5.1 包括 3.5 和发行版:

>/opt/libreoffice5.1/program/python --version Python 3.5.0

因此,首先我正在寻找一个 hello world python 示例,它将已知版本的 python 与已知版本的 office 配对。最好是上述两者之一(writer 4.3.7 & python 2.7?或 writer 5.1 & python 3.5)。

更新2

使用与 office5.1 一起安装的 python3.5 我有一个使用以下内容的工作你好世界:

这适用于任一版本的开放式办公室:

/usr/bin/oowriter --accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"

所以最后一部分是添加交叉引用。

0 投票
1 回答
363 浏览

git - 我可以使用 Libre Office 的哪种输出格式来跟踪我的文件的历史记录?

我想过使用FODT输出格式来跟踪使用 Git SCM 的文件的历史记录。

但似乎 FODT 相当冗长。例如

  • 我生成了一个文件,其中包含Hello Wordld!
  • 我将文本更改为Hello World.
  • 然后我检查了差异。
  • 我发现了预期的变化:
    • <text:p text:style-name="P1">Hello World!</text:p>变成了
    • <text:p text:style-name="P1">Hello World.</text:p>
  • 除此之外,还有一些变化:
    • <config:config-item config:name="ViewLeft" config:type="long">7239</config:config-item>变成了
    • <config:config-item config:name="ViewLeft" config:type="long">7204</config:config-item>.
    • <config:config-item config:name="Rsid" config:type="int">555044</config:config-item>变成:
    • <config:config-item config:name="Rsid" config:type="int">600727</config:config-item>
    • <office:meta> <meta:initial-creator>User Name</meta:initial-creator> <meta:creation-date>2016-07-25T16:27:51.917460530</meta:creation-date> <dc:date>2016-07-25T16:29:26.496847405</dc:date> <dc:creator>User Name</dc:creator> <meta:editing-duration>PT28S</meta:editing-duration> <meta:editing-cycles>2</meta:editing-cycles> <meta:generator>LibreOffice/5.0.3.2$Linux_X86_64 LibreOffice_project/00m0$Build-2</meta:generator> <meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="1" meta:word-count="2" meta:character-count="12" meta:non-whitespace-character-count="11"/> </office:meta> 成为:
    • <office:meta> <meta:initial-creator>User Name</meta:initial-creator> <meta:creation-date>2016-07-25T16:27:51.917460530</meta:creation-date> <dc:date>2016-07-25T16:32:10.113010925</dc:date> <dc:creator>User Name</dc:creator> <meta:editing-duration>PT30S</meta:editing-duration> <meta:editing-cycles>3</meta:editing-cycles> <meta:generator>LibreOffice/5.0.3.2$Linux_X86_64 LibreOffice_project/00m0$Build-2</meta:generator> <meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="1" meta:word-count="2" meta:character-count="12" meta:non-whitespace-character-count="11"/> </office:meta>

我认为元数据的变化非常好,但变化config:config-item让我认为 FODT 可能不是为像 Git 这样的 VCS 而设计的。

是否有一种不那么冗长的格式,或者有一种方法可以将 XML 文件中的更改数量减少到最低限度?

https://help.libreoffice.org/Common/XML_File_Formats上的描述表明,我可以影响输出,...

0 投票
2 回答
200 浏览

python - python3 unotools连接错误无法连接

我一直在寻找答案,但到目前为止没有任何帮助。我有一个方法,我想用它来创建一个 odt 文件并用文本填充它。我还希望用户在创建文件时查看它。我正在使用 python 3.4.3 unotools 0.3.3 LinuxMint 17.1 LibreOffice 4.2.8.2

问题:

unotools 示例在终端上运行良好 - 创建并保存了一个 sample.odt,没有错误。我的草稿代码:

LibreOffice 应用程序打开并保持打开状态。但是,连接似乎丢失了。
我希望有人可以给我帮助,谢谢。

0 投票
1 回答
429 浏览

vba - 使用 BASIC 在 LibreOffice 中复制表格的最后一行

我在 ODT 文档中有一个命名表,并希望将包含所有内容的最后一行复制到新行(上图)中,然后替换此副本中的一些值。

我已经在 Word/VBA 中为 DOCX 完成了此操作:

这在 LibreOffice 中也可以吗?到目前为止,我有:

如何选择和复制整并在新行上运行搜索和替换?提示:该行可能包含其他对象,例如子表。

0 投票
1 回答
636 浏览

import - 将 Microsoft Word 自动图文集导入 LibreOffice

是否可以将 Microsoft Word AutoText 文件(显然称为“building blocks.dotm”)导入 LibreOffice?如果是,如何?

背景资料:

0 投票
2 回答
488 浏览

pdf-generation - 创建小型高质量 PDF 嵌入优化的 PNG?

我正在尝试创建一个小型 PDF 文件,在 3 页 PDF 上嵌入一个显示为页眉和页脚的优化 PNG 图像(相同的图像必须在 PDF 中出现 6 倍)

我优化的 PNG 图片只有 2.3KB。它看起来非常锋利。

libreoffice 失败

当我仅将 2.3KB PNG 图像的一个实例插入到仅包含文本的 Libreoffice Writer 文档中,然后导出为 PDF 时,我可以看到图像被重新压缩为 JPG,并且生成的 PDF 文件在添加图像后增长了约 40KB . 它也失去了质量,PNG 也得到了 JPG 模糊边缘。

如果我右键单击图像并选择压缩,则无法禁用重新压缩图像(它已经比 libreoffice 优化得更好)我尝试将压缩级别设置为 0、1、9 等。选择 JPG,否调整大小,无损等,但没有任何改善。

wkhtmltopdf 失败

我也尝试制作一个测试页面并使用 wkhtml2pdf,但它做了同样的事情。添加低质量标志没有任何区别。

PDF 规范建议支持 PNG?

通过浏览PDF 规范,看起来支持 PNG 图像。

即使是纯文本 PDF 文件也非常大

令人失望的是,当我使用一个 7KB 的 HTML 文件时,它基本上只有<html><body><p>foo...</p><p>bar...</p>(大约 15 段)没有 CSS。生成的 2 页 PDF 文件为 30KB。为什么一个 7kb(几乎是纯文本)的文件会变成 30kb 的 PDF?

建议?

有人可以建议如何在 Linux 中制作一个小的 PDF 文件吗?我需要包含 7KB 的文本并重复一个 PNG 图像 6 次。

手动或编程。在这一点上,我会尽我所能。

0 投票
1 回答
73 浏览

libreoffice - 渲染后获取 libreoffice writer 中表格行的高度

是否可以在 LibreOffice writer 中测量表格行的高度?我希望能够测量文档中表格行的实际高度。我通过复制模板文件并修改 document.xml 来创建文档。

用例:需要固定高度的桌子。如果表格高度小于要求的高度,则添加一个空行来弥补高度。

0 投票
1 回答
1045 浏览

java - 从 LibreOffice 扩展 JAVA 运行宏

我正在尝试从扩展中的 java 按钮运行宏(宏在 Writer Standard.Voto.Main 中)。

这是按钮:

我从这个类中调用方法:

Macro.class 是:

如果我运行这个类,引导程序可以工作,但它在这一行终止:

没有错误。你能帮助我吗?

0 投票
1 回答
108 浏览

libreoffice - LibreOffice Writer — 一种保护形状不被删除的方法

有没有办法保护(锁定)形状不仅不调整大小或移动,而且不删除?形状应该是可见的,但不能移动、调整大小或删除。

明信片模板

我需要像 InDesign 中的 Object ⟶ Lock 这样的东西来“锁定”背景上的明信片形状。

0 投票
1 回答
1051 浏览

libreoffice - 将电子表格 [LibreOffice Calc] 中的数据复制到文本文档 [LibreOffice] 的表格中

这对我来说是非常有趣和具有挑战性的任务。我想将 Libre Office calc[电子表格] 中的数据(包含多列的 1000 行)复制到 Libre Office Writer[Text Document] 中的表格中。我花了将近一天的时间来找出解决方案。无法从任何站点找到解决方案。