CentOS で LibreOffice を使用してドキュメント形式を変換する方法

CentOS で LibreOffice を使用してドキュメント形式を変換する方法

プロジェクト要件では、アップロードされたドキュメントの前処理が必要です。ユーザーが doc 形式でドキュメントをアップロードした場合、後続のプロセスでドキュメントのコンテンツを抽出できるように、docx または pdf 形式に処理する必要があります。

最初にphpoffice/phpwordパッケージを試してみましたが、ドキュメントの変換が理想的ではないことがわかりました。このパッケージは、ドキュメントの変換よりもコンテンツに基づいてドキュメントを生成するのに適していますが、私のニーズにはあまり適していません。

そんな時に、オープンソースツールのLibreOfficeを発見しました。使ってみて、とても効果的であることがわかったので、皆さんにシェアしたいと思います。

サーバーは CentOS7 です。yum を使用して LibreOffice を直接インストールします。約 600MB 以上のディスク容量が必要です。

# 以前にインストールされないように、インストール前に削除することができます。yum remove libreoffice-*
yum で libreoffice をインストール

インストールが完了するのを待った後、バージョンを確認します。公式バージョンは 6.1 ですが、yum パッケージは 5.3.6 のままですが、使用に問題はありません。ここでも、独自の Linux システム パッケージ管理ツールを使用してインストールすることをお勧めします。これにより、多くの手間を省くことができます。

[root@localhost /]# soffice --version
LibreOffice 5.3.6.1 30 (ビルド: 1)

使い方がわからない場合は、soffice --help を使用してヘルプを参照できます。パラメータと使用例はたくさんあります。フォーマット変換は非常に簡単です。

soffice --headless --convert-to docx /opt/upload/source/123.doc --outdir /opt/upload/source

上記のコマンドは、 /opt/upload/source/123.doc upload/source/123.doc ファイルを docx 形式に変換し、/ opt/upload/sourceフォルダーに出力します。

デフォルトでは:

  1. 出力ファイルはソースファイル名 + 新しい拡張子で保存されます。
  2. outdir 内の同じ名前の既存のファイルを上書きします。

変換が成功すると、次のような出力が表示されます。

フィルターを使用して /opt/upload/source/123.doc -> /opt/upload/source/123.docx に変換: MS Word 2007 XML
上書き: /opt/upload/source/123.docx

LibreOffice はファイル形式に応じて自動的にフォーマットフィルターをマッチングします。サポートされるフォーマットについては、公式 Web サイトを参照してください。

要約する

以上が、CentOS で LibreOffice を使用してドキュメント形式の変換を実現する方法についての編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ
  • Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

<<:  mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

>>:  Vueで親子コンポーネント通信を実装する方法

推薦する

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...

LinuxにNginxをインストールする正しい手順

序文私のように、Java バックエンドに勤勉な人であれば、多数のプロジェクト機能を実装することに加え...

初心者向けの一般的な Linux システムコマンドの完全なリスト

Linux コマンドの学習は、ほとんどの初心者にとって最大の障害です。今日は、Linux システムで...

MySQLにおける時刻日付型と文字列型の選択について

目次1. DATETIMEとTIMESTAMPの使用1. 類似点2. 相違点3. 選択2. varc...

vue-pdf はオンラインファイルプレビューを実現します

この記事では、参考までに、ファイルのオンラインプレビューを実現するためのvue-pdfの具体的なコー...

UCenter ホームサイトに統計コードを追加

UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...

Vue フロントエンド開発補助機能状態管理詳細例

目次マップ状態マップゲッターマップミューテーションマップアクション例まとめマップ状態コンポーネントが...

プロセスのすべての情報を表示するLinuxメソッドの例

サーバー上にタスク プロセスがあります。 ps -ef | grep task を使用して表示すると...

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

ゲーム開発におけるサウンド処理にCocosCreatorを使用する方法

目次1. Cocos Creatorでのオーディオ再生の基本1. 基本2. 一般的な方法2. Coc...

vue cli で env を使用するガイド

目次序文紹介-公式設定例序文vueCli を使用してプロジェクトを開発したことのある方は、少しがっか...

nginxアクセス制御の実装例

高性能で軽量なウェブサービスソフトウェアであるNginxについて高い安定性 システムリソースの消費量...

ウェブデザインに必須のツール: Firefox Web Developer プラグイン CSS ツールセットのチュートリアル

プラグインは Firefox ブラウザにインストールされます。 Web Developer プラグイ...

Ubuntu 16.04 に nvidia ドライバー + CUDA + cuDNN をインストールする詳細なチュートリアル

準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...

HTML のインラインブロックの空白を素早く削除する 5 つの方法

inline-block プロパティ値は、「インライン」要素のマージンとパディングを制御する必要があ...