1
UNO
を使用してLibreOffice
文書のページ数をJavaで計算する最も良い方法は何ですか?ページ数をUNOに設定するJava
私はグーグルで試してみましたが、役に立たないものは何も見つかりませんでした。私はUNO
の初心者です。
UNO
を使用してLibreOffice
文書のページ数をJavaで計算する最も良い方法は何ですか?ページ数をUNOに設定するJava
私はグーグルで試してみましたが、役に立たないものは何も見つかりませんでした。私はUNO
の初心者です。
簡単な方法:PageCountプロパティーをTextDocumentViewにします。
xComponent = xDesktop.getCurrentComponent();
xTextDocument = (com.sun.star.text.XTextDocument)
UnoRuntime.queryInterface(
com.sun.star.text.XTextDocument.class, xComponent);
XController xController = xTextDocument.getCurrentController();
XPropertySet xPropertySet = UnoRuntime.queryInterface(
XPropertySet.class, xController);
int nPageCount = AnyConverter.toInt(
xPropertySet.getPropertyValue("PageCount"));
System.out.println("There are " + nPageCount + " pages.")
難しい方法:XDocumentPropertiesのリストにPAGECOUNT値を検索します。
xComponent = xDesktop.getCurrentComponent();
xTextDocument = (com.sun.star.text.XTextDocument)
UnoRuntime.queryInterface(
com.sun.star.text.XTextDocument.class, xComponent);
XDocumentPropertiesSupplier xSupplier = (XDocumentPropertiesSupplier)
UnoRuntime.queryInterface(
XDocumentPropertiesSupplier.class, xTextDocument);
XDocumentProperties xProps = (XDocumentProperties)
xSupplier.getDocumentProperties();
NamedValue [] aStats = xProps.getDocumentStatistics();
for (int i = 0; i < aStats.length; i++) {
if (aStats[i].Name.equals("PageCount")) {
System.out.println("Page Count " + aStats[i].Value);
}
}
この質問に回答したhttps://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=56507。また、基本的に答えはhttps://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=17358を参照してください。
Googleで「openofficeマクロカウントページ」(引用符なし)を入力すると、いくつかの良い結果が得られます。はい、LibreOfficeですが、「openoffice」はより多くの結果を生成し、通常は関連性があります。また、「マクロ」またはおそらく「uno api」もGoogleのキーワードです。 –