
企業部門では、ドキュメントをある形式から別の形式に自動的に変換するタスクや、ソフトウェアの処理および変更のタスクが発生する場合があります。 問題は何だと思われ
ます 。
通常の 形式では 、完全に機能するライブラリが長い間機能するように記述されているため、PerlまたはPythonが連携して動作します。
しかし、残念なことに、さまざまなビジネスアプリケーションのすべてのシステム管理者およびプログラマーにとって、現在のところ、大量のワークフローは、クローズドで修正が不十分なフォーマットを使用して実行されています。 cなのは何ですか-doc、xls、およびそれらのような他のもの、docx、xlsxなどについてたくさん話しています。 特に最新バージョンのOfficeがインストールされた無料のWindowsがない場合、このようなファイルをどうするかは
まったく理解できません。 もちろん、Windows、Visual Studio、C#のスキルがあれば、Microsoftドキュメントの分析に伴う問題ははるかに少なくなります。 ただし、ODFには問題があります。 さらに、結果をPDF形式で保存して、誰もそれを変更できないようにすることがよくあります。
幸いなことに、どのプラットフォームでもほとんどすべての一般的なドキュメント形式で作業するためのかなり普遍的な方法があります。 さらに説明します。
誰もが
OpenOfficeとその進歩的なブランチ
LibreOfficeについて知っていることは間違いありません。 これらのパッケージの最新バージョンは、Microsoftドキュメントで素晴らしい仕事をしています-少なくとも多くの無料の解析ライブラリよりもはるかに優れています。
しかし、
OpenOfficeともちろん
LibreOfficeには、
Pythonから直接ドキュメントを操作できるAPIがあることを知っている人はあまりいません。 特に、このAPIを使用すると、ドキュメントをある形式から別の形式に安全に変換できます。
したがって、ドキュメントを解析するには、適切なODF形式に変換してから、お好みのプログラミング言語を使用して必要なすべての変更を行い、必要に応じて結果をPDFまたはMS Office 2003形式(doc、xls)に変換するだけで十分です。
別のシナリオ:編集可能な形式(doc、docx、odt)のドキュメントがたくさんあり、それらからPDFを作成する必要がある場合。 すべて同じスクリプトを使用すると、このような変換を問題なく自動的に実行できます。 または、内部ワークフローに標準化されたODFを使用しますが、パートナーはまだdocxに成長していません。 大丈夫-LibreOfficeはODFをMS Office形式に自動的に変換します。
一般に、LibreOffice APIを使用するシナリオは多数あります。そのため、解決可能なタスクの範囲は非常に広いです。
必要なもの
この記事では、
Ubuntuでの
LibreOfficeの使用について説明しますが、わずかな変更を加えると、すべての指示が他のLinuxおよびOpenOfficeディストリビューション、およびWindowsおよびMacOSに転送されます。
必要なのは、
LibreOfficeと
Pythonをインストールするだけでなく、スクリプトを記述する基本的な機能です。
実際、bash変換スクリプト自体は次のようになります。
このスクリプトを別のラッパースクリプトから呼び出して、多数のファイルをバッチ処理できます。
たとえば、同じ形式のカバーシートを多数のドキュメントに追加し、結果をPDF形式で保存する必要がありました。 カバーページを追加するために、
Perlスクリプトと
OpenOffice :: OODocライブラリ (Ubuntuでは
libopenoffice-oodoc-perlパッケージとして利用可能)を使用しました。 結果はバッチ処理スクリプトです:
これで十分です
find /my/doc/path -type f -iname "*.doc" -exec ./convert.sh {} \;
出力では、美しいタイトルページを含むPDFファイルのセットを取得します。
その他の機能
説明した手法を使用すると、さまざまなドキュメント形式を相互に変換できるだけでなく、JPEGやPNGなどの画像ファイルにエクスポートすることもできます。 これを行うには、
ImageMagicをインストールし、説明されているスクリプトを使用してドキュメントをPDFに変換し、ImageMagicを使用してPDFを目的の画像形式に変換する必要があります。
convert sample.pdf sample.png convert sample.pdf sample.jpg convert sample.pdf sample.tif
LibreOfficeまたはOpenOfficeを使用した自動ドキュメント変換に関するもう少しの情報は、ここにあります:
http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.htmlLibreOffice用の上記のPython API(ちなみに
PyUNOと呼ばれ
ます )は、Pythonからドキュメントを直接編集するために使用できますが、これはあまり便利ではありません。
このhabratopikaで詳細を読んでください。
UPD:コメントで示唆されているように、親切な人は
unoconvラッパー
スクリプトを記述することでOpenOffice(LibreOffice)を使用したドキュメント変換を簡素化しました。 このユーティリティは、上記のスクリプトとまったく同じ方法とまったく同じ方法を実行します。 しかし、ほとんどの場合、システムで正常に起動すれば、より便利になります。