コマンドラインからOpenOfficeを使用してHTMLをRTFに変換する


8

私はCygwinでHTMLファイルをRTFに変換するbashスクリプトを作成しようとしています。OS Xではこれは取るに足らないtextutilsことですが、通常のLinuxやCygwinには存在しません。代わりに、コマンドラインからOpenOfficeを使用しようとしています。

OpenOfficeが通常はとしてインストールされているプログラムでヘッドレスで実行できることを他の場所で読んだこと/usr/bin/oofficeがありますが、WindowsでのCygwinではこれは明らかに機能しませんooffice

CygwinのコマンドラインからOpenOfficeを使用してHTMLファイルをRTFファイルに変換するにはどうすればよいですか?

回答:


4

unoconvOpenOffice / LibreOfficeがサポートするファイル形式との間のファイル変換を処理する、非常に便利なシェルスクリプトがあります。あなたはそのサイトでそれについて読むことができます、そしてマニュアルページをチェックアウトすることを忘れないでください。多くのディストリビューションには、cygwinなど、簡単にインストールできるパッケージが含まれています。

インストールしたら、次のように入力htmlファイルと出力rtfファイルを指定することになります。

unoconv file.html file.rtf

全部終わった :)

もちろん、これをスクリプト化して複数のファイル状況を処理することもできます。を使用している場合はzsh、次のように実行して、htmlファイルのフォルダー全体を変換できます。

for file in *html; do
    unoconv "$file" "${file/html/rtf}"
done

@Andrewお役に立てれば幸いですが、まったく新しいものではありません。プロジェクトのgitのリポジトリの日付は2007年に戻り、そして、彼らはから移行したことをいくつかオーバーバージョン管理システムからインポートしたもの。
カレブ2012

うーん。見たときにそれを逃した。最近発表されたLO 3.6.xのOS Xでゼロ構成での作業について言及しているので、それは新しいものだと思いました。とにかく、それは素晴らしいです:)
Andrew

6

JODConverterをお勧めします。これは、変換用のOpenDoc ApiのJavaラッパーです。次のようにファイルを変換できます:

java -jar jodconverter-cli-2.2.0.jar foo.html foo.rtf

pythonでも利用できます。

次のようなopenoffice SDK DocumentSaverクラスを使用する代わりに:

java -classpath .;./bin;\
                $OO/program/classes/jurt.jar;\
                $OO/program/classes/ridl.jar;\
                $OO/program/classes/sandbox.jar;\
                $OO/program/classes/unoil.jar;\
                $OO/program/classes/juh.jar  \
    DocumentSaver uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager  file:///C:/test/foo.html file:///C:/test/foo.rtf

1
私はこれのバリエーションを進めました。最初はPythonを使い、OpenOfficeをバックグラウンドサーバーとして実行し続けていましたが、Pyth(pypi.python.org/pypi/pyth)は純粋にPythonベースのコンバーターであることがわかりました。それは最小限ですが、それは素晴らしい働きをします。
Andrew

それでも実際にOOoをインストールする必要がありますか、それとも「ラッパー」ライブラリに必要なすべてが含まれていますか?明確な言及はありません。ありがとう。
humble_coder '19

1

質問の最初の部分をお手伝いします。CygwinコマンドラインからOpenOfficeを実行する例を次に示します。

/cygdrive/c/Program\ Files/OpenOffice.org\ 3/program/soffice.exe -help

コマンドライン引数のリストが表示されます。ファイルの種類を変換したり、「名前を付けて保存」することさえできませんでしたが、APIの調査はしていませんでした。おそらく、その部分を埋めることができます。OpenOffice.org 3.2 320m12(Build:9483)を使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.