宏来获取文档内容保留libreoffice writer

时间:2016-03-10 15:42:31

标签: python macros libreoffice

我需要访问LibreOffice文档中的文本。 该文件具有自动连字符, 我需要知道屏幕上显示的连字符位置。

以下代码返回没有自动连字符的明文:

XSCRIPTCONTEXT.getDocument().getText().getString()

这是我读过的文件: https://wiki.openoffice.org/wiki/Documentation/DevGuide/Text/Working_with_Text_Documents

我还看了这个扩展名:https://github.com/voikko/libreoffice-voikko

我还在pyCharm远程调试器下运行Capitalise.py example,但找不到任何提示。

1 个答案:

答案 0 :(得分:0)

自由连字符实际上不会出现在LibreOffice的文本中。相反,它们会根据需要显示。导出PDF等格式时,或者打印文档时,输出中会显示连字符。

Hyphenator service在宏中相当容易使用,并允许根据可能的连字位置拆分单词。

要真正确定在屏幕上显示连字符的位置,以下内容可能有效:

  1. 使用文字光标遍历文档。 Andrew Pitonyak's Macro Document第7.3.8.5节在Basic中给出了一个例子。
  2. 将视图光标移动到每个单词的开头并检查Y位置。例如,如果self.oVC是视图光标,则检查self.oVC.getPosition().Y
  3. 的值
  4. 将光标移动到单词的末尾,查看Y位置是否发生了变化。
  5. 如果确实如此,那么可能这个词就是连字符。