2020年9月13日日曜日

41: ワードプロセッサドキュメントの任意のページプロパティをUNOを用いてセットする

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>

典型的にはOpenDocument Text/Office Open XML Document/Microsoft Wordファイルに関連付けられた任意のワードプロセッサドキュメント、LibreOfficeを使って

話題


About: UNO (Universal Network Objects)
About: LibreOffice
About: Apache OpenOffice
About: Javaプログラミング言語
About: C++
About: Microsoft .NET Framework
About: Pythonプログラミング言語
About: LibreOffice Basic
About: Apache OpenOffice Basic
About: BeanShell
About: JavaScript

この記事の目次


開始コンテキスト



ターゲットコンテキスト



  • 読者は、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のワードプロセッサドキュメントの任意のページプロパティを、自分のプログラムからセットする方法を知る。
ト書き
Hypothesizer 7、Objector 41A、Objector 41Bが、あるコンピュータの前にいる。


オリエンテーション


Hypothesizer 7
本記事では、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のワードプロセッサドキュメントの任意のページプロパティを、私たちのプログラムからセットする方法を知ります。

実のところ、本記事は、任意のワードプロセッサドキュメントの任意のページのサイズをセットすることについてのある以前の記事の拡張です。

Objector 41A
「拡張」とはどういう意味だ?

Hypothesizer 7
サー、任意のプロパティをセットするためのロジックは、その以前の記事にて既に説明済みです; その以前の記事は、2つのプロパティ、'Size'および'IsLandscape'を使用しておりますが、それらの代わりに他の任意のプロパティをあなたは使用することができます、もしも、そのプロパティの使用をご存じであれば。本記事では、それを知ることになります(もっと具体的には、本記事で紹介される別の記事にて)。

Objector 41B
スプレッドシートドキュメントもいくつか操作する必要があるんだけど。

Hypothesizer 7
マダム、スプレッドシートドキュメントについての記事もあります。.


本体


1: 任意のワードプロセッサドキュメントの任意のページプロパティをセットするためのロジック


Hypothesizer 7
任意のワードプロセッサドキュメントの任意のページプロパティをセットするためのロジックは、以前の記事にて既に説明済みであり、ここでは繰り返しません。

第4セクションにおいて、「Size」の代わりに別のプロパティ名を、そして対応するデータタイプのデータを使えばよいだけです。


2: 当該プロパティ群のリスト


Hypothesizer 7
ここに、当該プロパティ群のリストがあります

挙げられているプロパティタイプ群はUNOデータタイプであることにご注意ください。

Objector 41A
それって. . .

Hypothesizer 7
各UNOデータタイプは、UNOがサポートされている各プログラミング言語において、言語固有のあるデータタイプへマップされています。例えば、'long'は、Javaの'int'('long'ではなく)へマップされ; Pythonでは、任意の整数が'int'へマップされています、'short'とか'byte'とかはないので。

'::com::sun::star::container::XNameContainer'のような複合タイプの仕様については、UNO APIリファレンスをご覧ください。

Objector 41A
. . .「ページスタイルがどのように非フィジカルでありうるのか不明」 ?

Hypothesizer 7
正直に言って、非フィジカルであるというのが具体的に何を意味するのか、私は知りません。「フィジカル」でない?メモリ内にあるどのオブジェクトもフィジカルです、私の意見では。. . .私が推測するには、非フィジカルであるというのが意味するのは、もっと適切に述べると、一時的であるか何かでしょう(私に言わせれば、何かがいかに短い期間存在しようとも、それは非フィジカルでは全然ありません)。

Objector 41A
. . .

Hypothesizer 7
いずれにせよ、私はそのプロパティを全然気にしていません、なぜなら、それは常に'true'であるべきだからです、私の関心の範囲内では。

Objector 41A
「これがどのような効果を持つのか不明」?

Hypothesizer 7
正直に言って、何を意味するのか私の知らないプロパティがいくつかあります。それらは、GUIのページスタイルダイアログ上のどのセッティングにも対応しているように思われないので、実際には、それらも私は気にしていません。

実は、GUIページスタイルダイアログ上の「Register-true」設定に対応するプロパティがない、という懸念があります。実際、あるUNO APIページは「RegisterModeActive」という名前のプロパティがあると主張していますが、それは、本当には存在していないようです。

Objector 41A
なんで?

Hypothesizer 7
私は知りません、オフィシャルドキュメントがかなりずさんであるということは知っていますが。

Objector 41A
. . .他方では、そのページは、全プロパティ群の内の少しの部分しかリストしていないようだ。

Hypothesizer 7
はい、そうです: 例えば、'HeaderTextFirst'をリストしていませんが、それは存在します、最初のページは個別のヘッダーテキストを持てるので; 別の例として、'FillGradient'をリストしていませんが、それは、具体的なページバックグラウンドグラデーション設定群にアクセスするために必要です。

Objector 41A
私は思うのだが、それは、なぜ、もっと、ちゃんと話せないのかね。. . .「the left border distance of the page(ページの左ボーダ距離)」とはどういう意味だ?左ボーダと何との間の距離だ(それが'ページ'でないことは間違いない、なぜなら、ページというのは、四角形のエリア全体であって、'左ボーダとページとの間の距離'などというのは意味をなさないから、'左ボーダと、ページの左エッジとの間の距離'とか'左ボーダと、ページのメインコンテンツとの間の距離'とかなら意味をなすかもしれないが)?2端点を示すことなく距離を語るなどというのは、無意味だ. . .


3: 結びとその先


Hypothesizer 7
これで、LibreOfficeまたはApache OpenOfficeのインスタンスにロードされた任意のワードプロセッサドキュメントの任意のページプロパティを、私たちのプログラムからセットする方法を知りました。

他のUNOコンポーネントたちのプロパティ群の仕様も、以降の記事群にて見ていきます。


参考資料


  • N/A. (N/A). LibreOffice: Main Page. Retrieved from https://api.libreoffice.org/docs/idl/ref/index.html
<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>