誰かがJavaでUNOAPIを使用して、オープンオフィスライタードキュメント内の文字列を検索するメソッドを支援できるなら、それは非常に役に立ちます。文字列を検索して文字列を見つけると、カーソルをその文字列に移動できます(非表示でも)。
次に、以下の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。
ありがとう