OpenCms Office ファイル変換マニュアル

OpenCms Office ファイル変換マニュアル
株式会社 ジークス
(2010 年 10 月 25 日更新)
目次
1 Office ファイル変換について...............................................................................................3
1-1 Office ファイル変換とは .................................................................................................................. 3
1-2 ライブラリ構成................................................................................................................................ 3
1-3 利用上の注意 ................................................................................................................................... 4
1-4 サポートしているフォーマット ...................................................................................................... 5
2 OpenOffice.org のインストール ..........................................................................................6
3 操作方法 ..............................................................................................................................8
3-1 ファイルをアップロード中に変換する ........................................................................................... 8
3-2 OpenCms に登録済みのファイルを変換する................................................................................ 11
4 xpdf のインストール ..........................................................................................................13
4-1 サーバーが Linux の場合 .............................................................................................................. 13
4-2 サーバーが Windows の場合......................................................................................................... 15
5 設定ファイル .....................................................................................................................19
2
1 Office ファイル変換について
1-1 Office ファイル変換とは
Office ファイル変換は、Word や Excel、PowerPoint などのバイナリファイルを HTML や PDF、SWF
といった別のフォーマットに変換する機能です。
また、HTML や XHTML に変換する場合は、OpenCms のテンプレートを適用した HTML に変換す
る事が可能です。つまり、Word を HTML に変換した場合、ヘッダーやフッターはサイト共通のものが
適用されます。さらに、本文には Word の文章の内容がセットされ、FCKEditor などの WYSIWYG エ
ディタで編集する事も可能になります。
また、通常であれば、Word を HTML に変換すると、通常、不要なタグが大量に生成されますが、
HTML のクリーンアップ機能により、それらは全て除去されます。
そのほか、ZIP ファイルで圧縮して、複数のファイルを一度に登録・変換する事が出来ます。
(※ ただし、アップロード JAVA アプレット使用時の変換には対応していません。)
1-2 ライブラリ構成
フォーマットの変換処理には、OpenOffice.org(+JODConverter)を利用しています。
よって、対応する拡張子の種類や、その変換精度は OpenOffice.org に依存し、また、OpenOffice.org
のバージョンアップと共にその性能も向上します。
そして、当然のことながら、OpenCms 単体ではこの機能は利用できません。利用するには、OpenCms
がインストールされているサーバー上に、OpenOffice.org をインストールし、サービスを立ち上げてお
く必要があります。
■OpenOffice.org のホームページ
http://www.openoffice.org/
3
1-3 利用上の注意
PDF などの表現力の高いフォーマットへは、比較的問題なく変換されますが、
HTML などの表現力の低いフォーマットへの変換精度は、あまり期待しないほうが良いでしょう。
HTML 変換を利用した運用を想定する場合は、最低、以下の事が了解できる必要があります。
・Word 等の、変換元となるファイルのレイアウトは固定とし、自由に入力出来ない。
・変換後、HTML エディタで毎回確認・訂正する事になる。
HTML へ変換したページがそのまま利用できる事は稀であり、必ず HTML エディタで修正を入れる
事になるので、それを覚悟する必要があります。
また、PDF や SWF に変換する場合、これらのレイアウトが崩れたとしても OpenCms 上では
PDF や SWF を編集する機能が無い為、変換元ファイルを修正する事になります。
また、PDF に変換する場合、OpenOffice.org がインストールされているサーバーに、変換元の Office
ファイルで利用されているフォントがインストールされていなければ、文字化けが発生します。
特に、Windows ではなく、Linux 環境にインストールする場合などは注意して下さい。
4
1-4 サポートしているフォーマット
サポートしているフォーマットの種類と変換可能な組み合わせは、以下の通りです。
(※ OpenOffice.org バージョン 3.1 で動作させた場合。
)
種類
テキスト系
フォーマット(変換元)
フォーマット(変換先)
OpenDocument Text (*.odt)
Portable Document Format (*.pdf)
OpenOffice.org 1.0 Text (*.sxw)
OpenDocument Text (*.odt)
Rich Text Format (*.rtf)
OpenOffice.org 1.0 Text (*.sxw)
Microsoft Word (*.doc, *.docx)
⇒
Rich Text Format (*.rtf)
WordPerfect (*.wpd)
Microsoft Word (*.doc , *.docx)
Plain Text (*.txt)
Plain Text (*.txt)
HTML (*.html)
HTML (*.html)
MediaWiki wikitext (*.wiki)
スプレッドシート系
OpenDocument Spreadsheet (*.ods)
Portable Document Format (*.pdf)
Microsoft Excel (*.xls, *.xlsx)
OpenDocument Spreadsheet (*.ods)
OpenOffice.org 1.0 Spreadsheet
OpenOffice.org 1.0 Spreadsheet
(*.sxc)
⇒
(*.sxc)
Comma-Separated Values (*.csv)
Microsoft Excel (*.xls, *.xlsx)
Tab-Separated Values (*.tsv)
Comma-Separated Values (*.csv)
Tab-Separated Values (*.tsv)
HTML (*.html)
プレゼンテーション系
OpenDocument Presentation (*.odp)
Portable Document Format (*.pdf)
OpenOffice.org 1.0 Presentation
OpenOffice.org 1.0 Presentation
(*.sxi)
(*.sxi)
Microsoft PowerPoint (*.ppt, *.pptx)
⇒ OpenDocument Presentation (*.odp)
Macromedia Flash (*.swf)
Microsoft PowerPoint (*.ppt, *.pptx)
HTML (*.html)
ドロー系
OpenDocument Drawing (*.odg)
⇒
Scalable Vector Graphics (*.svg)
Macromedia Flash (*.swf)
また、xpdf 系のモジュールがインストールされていれば、PDF をテキストや HTML に変換できます。
PDF
Portable Document Format (*.pdf)
⇒
Plain Text (*.txt)
HTML (*.html)
5
2 OpenOffice.org のインストール
OpenOffice.org のサイトから、OpenOffice.org をダウンロードし、インストールして下さい。
Windows 環境であれば、インストーラーが付いているので簡単にインストールできると思います。
インストールが完了したら、ポート 8100 で、サーバーとして立ち上げなければなりません。
Linux 環境であれば、以下のようなオプションをつけて、OpenOffice.org を起動します。
soffice -headless -accept="socket,port=8100;urp;"
Windows 環境も同様に、オプションを付与して起動します。
デスクトップに OpenOffice.org の起動アイコンがある場合は、以下のようにします。
まず、アイコンを右クリックし、プロパティを開きます。
6
リンク先に soffice.exe のパスが記述されているので、この後ろにオプションを付与します。
この設定で保存し、このショートカットアイコンをダブルクリックして起動すると、OpenCms から
利用可能になります。
7
3 操作方法
Office ファイル変換には、アップロード中に変換する方法と、
既に OpenCms に登録された Office ファイルを、後から変換する方法の2種類があります。
3-1 ファイルをアップロード中に変換する
アップロード中に変換する方法は、以下の通りです。
①アップロードしたいディレクトリに移動し、②新規ボタンをクリックします。
次に、③「Office ファイルをアップロード」をチェックし、④「次へ>>」ボタンをクリックします。
8
ファイルのアップロード画面が表示されるので、⑤参照…ボタンでアップロードする Office ファイル
を選択して下さい。
⑥変換後の名前欄に変換後の名前を指定して下さい。ここで指定する拡張子は重要で、指定した拡張
子のフォーマットへ変換されます。名前を入力せず、拡張子だけ入力した場合は、同じファイル名で拡
張子のみ違うファイルに変換されます。
OpenOffice.org が変換可能な拡張子を指定しなければなりませんので、本資料の「1-4 サポートして
いるフォーマット」をよく確認して下さい。また、⑦変換テーブルを表示リンクをクリックすると、
「1-4
サポートしているフォーマット」と同じ表が表示され、確認する事が出来ます。
入力が終わったら、⑧「次へ>>」ボタンをクリックして下さい。
(※ 巨大なファイルだと、アップロードと変換に時間がかかる場合があります。
)
もし、OpenOffice.org が変換できないフォーマットの組み合わせが指定された場合は、以下のような
「unsupported conversion: ~」というエラーが表示されます。
9
もし、html や xhtml に変換する場合は、⑨テンプレートと、⑩ボディーを次からコピーもプルダウン
から選択して下さい。
指定したテンプレートが適用され、xmlpage のリソースに変換されます。
尚、変換されるのは xmlpage のみで、構造化コンテンツ(xmlcontent)への変換は出来ません。
また、アップロードした Office ファイルの本文は、デフォルトでは body という名前のエレメントに登
録されます。ただし、選択した JSP テンプレートの template-elements プロパティにエレメント名が
指定されていれば、その一番最初のエレメントに本文が登録されます。
登録されるエレメントは一箇所のみです。一つの Office ファイルの内容を分割して、別々のエレメント
に登録するような事は出来ません。
複数の Office ファイルを ZIP に圧縮してアップロードする場合は、その ZIP ファイルを選択し、
⑪ファイル解凍チェックボックスにチェックを入れてから、⑧「次へ>>」ボタンをクリックして下さい。
ZIP でのアップロードの場合、⑥変換後の名前欄には拡張子のみ入力して下さい。
名前まで入力したとしても、無視され、拡張子のみが指定された場合と同様の動作をします。
10
3-2 OpenCms に登録済みのファイルを変換する
登録済みのファイルを変換する方法は、以下の通りです。
変換したいバイナリデータを右クリックし、①「拡張」→ ②「Office ファイル変換」とクリックし
ます。
11
③次にコピー欄に、変換後のファイルのパスとファイル名を指定します。
指定方法はリソースのコピーの時と同様ですが、ここで指定する拡張子は重要で、指定した拡張子のフ
ォーマットへ変換されます。拡張子だけ入力した場合は、エラーとなります。
OpenOffice.org が変換可能な拡張子を指定しなければなりませんので、本資料の「1-4 サポートして
いるフォーマット」をよく確認して下さい。また、⑥変換テーブルを表示リンクをクリックすると、
「1-4
サポートしているフォーマット」と同じ表が表示され、確認する事が出来ます。
入力が終わったら、⑦「OK」ボタンをクリックして下さい。
(※ 巨大なファイルだと、アップロードと変換に時間がかかる場合があります。
)
もし、html や xhtml に変換する場合は、④テンプレートと、⑤ボディーを次からコピーもプルダウン
から選択して下さい。指定したテンプレートが適用され、xmlpage のリソースに変換されます。
尚、変換されるのは xmlpage のみで、構造化コンテンツ(xmlcontent)への変換は出来ません。
また、アップロードした Office ファイルの本文は、デフォルトでは body という名前のエレメントに登
録されます。ただし、選択した JSP テンプレートの template-elements プロパティにエレメント名が
指定されていれば、その一番最初のエレメントに本文が登録されます。
登録されるエレメントは一箇所のみです。一つの Office ファイルの内容を分割して、別々のエレメント
に登録するような事は出来ません。
12
4 xpdf のインストール
PDF を HTML や TXT ファイルに変換する事が可能です。ただし、PDF のテキスト抽出は、xpdf を
使用しますので、サーバーに xpdf をインストールする必要があります。
(OpenOffice.org は使われません。
)
4-1 サーバーが Linux の場合
1.以下のサイトから xpdf と、その日本語化パッケージ xpdf-japanese をダウンロードします。
http://www.foolabs.com/xpdf/
2.以下の手順で xpdf をインストールします。
$ tar zxvf xpdf-3.02.tar.gz
$ cd xpdf-3.02
$ ./configure
$ make
$ su
# make install
3.次に、以下の手順で xpdf-japanese をインストールします。
$ tar zxvf xpdf-japanese.tar.gz
$ cd xpdf-japanese
$ less README ←マニュアルを見ながら、その手順どおりにインストールを行います。
$ su
# mkdir /usr/local/share/xpdf/japanese
# cp * /usr/local/share/xpdf/japanese/
# cat add-to-xpdfrc >> /usr/local/etc/xpdfrc
13
4.pdftohtml をインストールします。
PDF からテキストへ変換するだけなら xpdf のみで可能ですが、HTML へ変換するには、pdftohtml
を別途インストールする必要があります。以下のサイトから pdftohtml をダウンロードして下さい。
http://pdftohtml.sourceforge.net/
以下の手順で pdftohtml をインストールします。
$ tar zxvf pdftohtml-0.39.tar.gz
$ cd pdftohtml-0.39
$ less README ←マニュアルを見ながら、その手順どおりにインストールを行います。
$ make
$ su
# cp src/pdftohtml /usr/local/bin/
以上で、インストールは完了です。
14
4-2 サーバーが Windows の場合
1.以下のサイトから、xpdf をダウンロードします。
http://www.foolabs.com/xpdf/
2.ダウンロードしたファイル(xpdf-3.02pl4-win32.zip)を解凍し、
"C:¥Program Files¥xpdf"の下に置きます。
15
3.環境変数を設定します。
"C:¥Program Files¥xpdf"を環境変数の PATH に追加して下さい。
16
コマンドプロンプトで "pdftotext" と入力し、プログラムが動作すれば OK です。
もし、以下のようなメッセージが返ってきた場合は、環境変数の設定が上手くいっていません。
'pdftotext' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
また、gswin32c.exe へのパスも通っている必要があります。コマンドプロンプトで "gswin32c –h" と
入力し、以下のようなメッセージが返ってきた場合は、環境変数の PATH に gswin32c.exe のパスを指
定して下さい(通常、"C:¥gs¥gs(バージョン番号)¥bin"にあります)
。
'gswin32c' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
17
4.pdftohtml をインストールします。
PDF からテキストへ変換するだけなら xpdf のみで可能ですが、HTML へ変換するには、pdftohtml
を別途インストールする必要があります。以下のサイトから pdftohtml をダウンロードして下さい。
http://pdftohtml.sourceforge.net/
ダウンロードしたファイル(pdftohtml-0.39-win32.tar.gz)を解凍し、pdftohtml.exe と、pdf2xml.dtd
を、"C:¥Program Files¥xpdf"にコピーしてください。
以上で、インストールは完了です。
※ 尚、HTML への変換で画像が抽出されない場合は、gswin32c.exe へのパスが通っていない事が
原因です。環境変数のパスに gswin32c.exe へのパスを通してください。
18
5 設定ファイル
設定ファイルは OpenCms の VFS 上の、以下の場所にあります。
/system/modules/jp.zyyx.opencms7_5_1.openoffice/classes/jp/zyyx/opencms/openoffice/
messages.properties
openoffice.hostname = localhost
openoffice.port = 8100
openoffice.temp_dir = ootemp
# 1:全頁を 1 つの HTML ファイルに出力 2:ページ単位に HTML ファイルを作成 3:両方
xpdf.pdftohtml.mode = 3
xpdf.pdftohtml.mode の設定値を 1 にすると、PDF を HTML に変換したとき、PDF の全ページが
一つの HTML ファイルに出力されます。
もし、ページ単位で分割して HTML ファイルを生成したい場合は、2 を指定します。
1 と 2 両方を出力させたい場合は、3 を指定します。
現時点では、JODConverter が対応していない為、openoffice.hostname に別のサーバーの IP を指
定することは出来ません。指定してもエラーとなりフォーマット変換は失敗します。
19