使用 LibreOffice 进行文件转换的 Laravel 包
当处理多种文件格式时,文档转换可能会很痛苦。如果你正在构建一个涉及文档转换的应用程序,它将变得更加具有挑战性。
如果你要处理多种文件格式,如 .docx
、.pdf
、.odt
等,以及它们之间的相关转换,你可能需要使用不同的包。比如,可以使用 barryvdh/laravel-dompdf
包将 HTML 转换为 PDF,使用 phpoffice/phpword
将 Word 转换为 PDF 等。
如果你想用一个包转换所有这些格式怎么办?好吧,这就是一个名为 Doxswap
的软件包可以派上用场的地方。
本质上,
Doxswap
是一个 Laravel 包,允许你使用 LibreOffice 转换文档。这意味着你可以毫不费力地将.docx
、.odt
等转换为任何其他格式,因为所有繁重的工作都是由 LibreOffice 完成的。
此软件包的唯一先决条件是你需要在服务器上安装 LibreOffice。完成后,你可以使用 Composer 安装该软件包。
composer require blaspsoft/doxswap:0.1.0-beta
你可以发布配置文件。
php artisan vendor:publish --tag="doxswap-config"
该命令将在 Laravel 应用的 config
目录中发布 doxswap.php
配置文件。此处,你可以配置用于文件转换的 LibreOffice 的二进制文件的路径。
'libre_office_path' => env('LIBRE_OFFICE_PATH', '/usr/bin/soffice')
此外,你也可以在配置文件中设置 input_disc
和 output_disc
,用以读取文件以及保存对应的转换后文件。
最后,下例显示如何使用该包进行转换,假如,我们要将 .docx
文件转换成 .pdf
文件。
use BlaspSoft\Doxswap\Doxswap;
$convertedFile = Doxswap::convert('file.docx', 'pdf');
更多该包的详情:blaspsoft/doxswap