Если кто-нибудь может помочь с методом поиска строки в документе Open Office Writer с использованием UNO API с Java, это было бы очень полезно. Как только он ищет строку и находит строку, может ли он (даже скрытый) переместить курсор на эту строку.
Затем я могу использовать приведенный ниже метод getPageNumber, чтобы вернуть номер страницы и распечатать эту страницу на шапке.
Любая помощь очень ценится
public int getNumberOfPages()
{
XController xController = OODocument.getCurrentDocument().getXFrame().getController();
XTextViewCursorSupplier supTextViewCursor =
(XTextViewCursorSupplier) UnoRuntime.queryInterface(
XTextViewCursorSupplier.class, xController);
XTextViewCursor curTextView = supTextViewCursor.getViewCursor();
XPageCursor curPage =
(XPageCursor) UnoRuntime.queryInterface(
XPageCursor.class, curTextView);
curPage.jumpToLastPage();
System.out.println("pages = " + curPage.getPage());
return curPage.getPage();
}
public int getPageNumber()
{
XController xController = OODocument.getCurrentDocument().getXFrame().getController();
XTextViewCursorSupplier supTextViewCursor =
(XTextViewCursorSupplier) UnoRuntime.queryInterface(
XTextViewCursorSupplier.class, xController);
XTextViewCursor curTextView = supTextViewCursor.getViewCursor();
XPageCursor curPage =
(XPageCursor) UnoRuntime.queryInterface(
XPageCursor.class, curTextView);
System.out.println("current page = " + curPage.getPage());
return curPage.getPage();
}
Я знаю, что это можно сделать, используя комбинацию, возможно, ниже
curTextView.setString("zzzzz");
curTextView.getText();
curTextView.gotoRange(arg0, arg1)
или XTextRange.
Спасибо