開始使用
Laravel Office Converter 基於 LibreOffice,可轉換支援的文件、試算表、簡報、繪圖與圖片格式。 你可以從本機檔案、原始內容或 Laravel 上傳檔案開始轉換,再直接取得結果或透過 Laravel Storage 儲存。
系統需求
| 需求 | 支援版本或設定 |
|---|---|
| PHP | PHP 8.x 系列的 8.2 以上版本,並啟用 DOM 與 ZIP |
| Laravel | 12 搭配 PHP 8.2 以上;13 搭配 PHP 8.3 以上 |
| 作業系統 | Windows、Linux 或 macOS |
| 外部指令 | LibreOffice 已加入 PATH,或透過 LIBREOFFICE_BINARY 指定位置 |
LibreOffice 須另外安裝。套件不檢查版本號碼,以實際能否完成轉換判斷相容性。
安裝套件
composer require mattmy/laravel-office-converter安裝 LibreOffice
使用下列指令,或從 LibreOffice 官網下載安裝程式。
macOS
使用 Homebrew LibreOffice cask 安裝:
brew install --cask libreoffice未使用 Homebrew 時,請從 LibreOffice 官網下載 Apple Silicon 或 Intel 對應的 .dmg,再依官方說明 將 LibreOffice 移至 Applications。
Ubuntu 與 Debian
安裝發行版提供的套件:
sudo apt update
sudo apt install libreofficeRHEL 與 Fedora
發行版的軟體來源有提供時,可直接安裝:
sudo dnf install libreofficeRHEL 是否提供套件取決於版本與已啟用的軟體來源;找不到時,請依 官方安裝說明安裝 .rpm 套件。
Windows
請從 LibreOffice 官網下載 Windows 安裝程式,再依安裝精靈完成安裝。命令列執行檔通常位於:
C:\Program Files\LibreOffice\program\soffice.com若執行檔不在 PATH,請在 Laravel 環境將 LIBREOFFICE_BINARY 設為上述路徑。
設定
套件預設在 Windows 使用 soffice.com,其他平台使用 soffice。若執行檔不在 PATH, 在 .env 指定路徑即可,不必先發布設定檔:
LIBREOFFICE_BINARY=/usr/bin/soffice需要調整逾時時間、大小上限或暫存位置時,請看設定參考。
快速開始
以下範例接收有效的 Laravel 上傳檔案、轉成 PDF,再串流至預設 Storage disk:
use Mattmy\OfficeConverter\Enums\Format;
use Mattmy\OfficeConverter\Facades\Office;
$path = Office::fromUploadedFile($request->file('document'))
->convertTo(Format::PDF)
->storeAs('converted-documents', 'report.pdf');$path 是儲存路徑;所選 Storage 驅動程式回報失敗時則為 false。來源與轉換結果都是一次性物件, 轉換或儲存失敗後,須重新建立輸入並再次轉換。