在 libreoffice writer 中获取文档内容并保留连字号的宏
Macro to get document contents preserving hyphenation in libreoffice writer
我需要访问 LibreOffice 文档中的文本。
该文件有自动断字,
我需要知道屏幕上显示的连字符位置。
以下代码 returns 没有自动连字符的明文:
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,但找不到任何提示。
LibreOffice 的文本中实际上不会出现自动连字符。相反,它们会根据需要显示。导出 PDF 等格式或打印文档时,输出中会显示连字符。
Hyphenator service 在宏中相当容易使用,并允许根据可能的断字位置拆分单词。
要真正确定连字符在屏幕上的显示位置,以下方法可能有效:
- 用word光标遍历文档。 Andrew Pitonyak's Macro Document 第 7.3.8.5 节在 Basic 中给出了这方面的示例。
- 将视图光标移动到每个单词的开头并检查 Y 位置。例如,如果
self.oVC
是视图光标,则检查 self.oVC.getPosition().Y
. 的值
- 把光标移动到词尾,看看Y位置有没有变化
如果是这样,那么大概是这个词被连字符了。
我需要访问 LibreOffice 文档中的文本。 该文件有自动断字, 我需要知道屏幕上显示的连字符位置。
以下代码 returns 没有自动连字符的明文:
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,但找不到任何提示。
LibreOffice 的文本中实际上不会出现自动连字符。相反,它们会根据需要显示。导出 PDF 等格式或打印文档时,输出中会显示连字符。
Hyphenator service 在宏中相当容易使用,并允许根据可能的断字位置拆分单词。
要真正确定连字符在屏幕上的显示位置,以下方法可能有效:
- 用word光标遍历文档。 Andrew Pitonyak's Macro Document 第 7.3.8.5 节在 Basic 中给出了这方面的示例。
- 将视图光标移动到每个单词的开头并检查 Y 位置。例如,如果
self.oVC
是视图光标,则检查self.oVC.getPosition().Y
. 的值
- 把光标移动到词尾,看看Y位置有没有变化
如果是这样,那么大概是这个词被连字符了。