#author("2019-08-09T04:38:20+00:00","","") // 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 まだ書き途中!! ***OpenOffice.orgサーバを起動 [#vb286280] Windows: > cd [OOo_DIR]/program >soffice -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager Linux: /usr/lib/ooo-1.1/program/soffice "-accept=socket,port=8100;urp;" ***OpenOffice.orgのドキュメントに、変数追加 [#a054d81c] OpenOffice.orgのドキュメントに外から置換するための変数を埋め込みます。埋め込む作業自体は、OpenOffice.orgとアドオンのJooTemplatesを使用します。JooTemplatesは[[JOOReports:http://sourceforge.net/project/showfiles.php?group_id=108281]]よりダウンロードできます。2006/3/5現在最新版は1.0b4です。インストールは解凍して JooReports-AddOnInstaller.sxc をダブルクリックします。このとき、OOoをinvisibleで起動してると、画面に表示されないので、その場合はいったんプロセスをタスクマネージャからkillします。 ***実際のプログラム [#c524faa4] 流れ -あらかじめ変数を埋め込んだOpenOffice.orgのファイル(拡張子:sxw)を作っておく。 -ランタイム時、そのsxwファイルを読み込んで、 com.wonderlogic.jootemplates.Template#createDocument メソッドで、変数をHashMapで置換したファイル(同じくsxwファイル)をテンポラリで生成。 -そのファイルを読み込んで DocumentConverter converter = DocumentConverterFactory.getConverter(); converter.convert(inputFile, outputFile,DocumentFormat.PDF_WRITER); でPDFに変換。 ***メモ。挙動。 [#ad76edf3] -起動するプロセスはsoffice.bin,soffice.exe。 -インストール時は、クイック起動は有効? -クイック起動が有効だと、サーバを起動してもクイック起動アイコンがでちゃう -クイック起動だけだと、サーバは起動してない。 -クイック起動をOFFにしても、サーバ起動すれば接続可能。 -やりたいことは、インストール時はクイック起動OFF。使いたいときだけサーバをサイレント起動して、使い終わったらサーバを落とす。 参考~ -[[Javaを利用してドキュメントをプログラムから操作する:http://oooug.jp/mirror/documents/tips/java_sample.html]] ---- この記事は #vote(おもしろかった[2],そうでもない[0]) #vote(おもしろかった[2],そうでもない[1]) -サイレントで起動したいんだけどなぁ -- [[きの]] &new{2006-03-04 16:18:44 (土)}; -タスクトレイのアイコンは、クイック起動になってる場合のみ表示されるんだね -- [[きの]] &new{2006-03-04 16:22:11 (土)}; -[[OpenOffice.orgのコマンドラインオプション:http://bd.tank.jp/blog/archives/2004/11/openofficeorg_2.html]]によれば-invisibleってのがある。確かにできたけど、今度はKillする方法が。。Javaから起動が制御できればいいんだよなあ -- [[きの]] &new{2006-03-04 16:32:07 (土)}; -invisibleだけでなく、headlessってのもあるみたい。[[OpenOffice.orgで利用可能なコマンドライン引数:http://openoffice-docj.sourceforge.jp/document/faq/tr_option.html]] によると :-invisible|この引数は、Office APIを読み込むことでドキュメントやダイヤログを開くことを可能にしますが、ユーザーインターフェイスや起動時のビットマップを表示しませんし、最初にデフォルトドキュメントも開きません。。これの引数を使用した場合、Office APIかタスクマネーシャーもしくはkillコマンドを利用しなければ終了できません。 :-headless|headlessモードでは、ユーザーインターフェイスやユーザーインターフェイスの相互作用なしにOfficeをスクリプトすることが可能となります。これは、典型的には外部スクリプトクライアントが使用する特殊なモードです。Officeにはユーザーインターフェイスがなく、そのライフタイムは外部スクリプトクライアントが制御します。 んー実行時どっちも画面に何も表示しないけど、invisibleはGUI使えるけど、headlessは使えない、ってこと?? じゃあteratermからheadlessは起動できんのかーと思ったけど、やっぱXに接続できないってでちゃうなあ。 -- [[きの]] &new{2006-03-04 17:55:02 (土)}; -またまたいがぴょんさんのサイトで情報を見つけました。どうも私が進んでいきたい道の先を進んでることが多いです。JavaからOpenOfficeを起動する方法ですが、[[いがぴょんさんのサイト:http://hp.vector.co.jp/authors/VA027994/joo/jooconverter.html]]にあるOOoLauncherというのが使えるみたいです。 -- [[きの]] &new{2006-03-04 22:30:27 (土)}; -やっぱRuntime.execするしかないのかなあ??JavaAPIで起動してーよー -- [[きの]] &new{2006-03-05 15:58:32 (日)}; -とりあえずサイレントインストールは http://oooauthors.org/en/FAQs/faqinstall/faqinstall/32/talkback/1128990824/discussionitem_view によると msiexec.exe /i openofficeorg20.msi /qn というオプションでできることがわかりました。ただし、デフォルト値を変えるには Orca Tool ってのが必要らしい。 -- [[きの]] &new{2006-03-07 15:03:45 (火)}; -さらに、http://oooauthors.org/en/FAQs/faqinstall/faqinstall/32/view?searchterm=skip%20registration によるとレジストレーションをスキップすることもできるらしい。 -- [[きの]] &new{2006-03-07 15:06:49 (火)}; -フォントについて。フォントは基本的に、埋め込みになってしまうみたい。 -- [[きの]] &new{2006-08-20 23:36:45 (日)}; -なのでMS*のフォントはLinuxにないから、他のフォントに置き換えられてPDFにうめこまれてしまう。キレイに出すにはIPAフォントをインストールしておくことだなあ。 -- [[きの]] &new{2006-08-20 23:37:37 (日)}; -置き換えられるフォントは設定可能。場所はウィンドウ>>オプションの、OpenOffice.org>>フォントで、設定できる。これがPDF出力時にも参照されるようだ。 -- [[きの]] &new{2006-08-20 23:39:42 (日)}; #comment #topicpath SIZE(10){現在のアクセス:&counter;}