Skip to content

開始使用 ​

Laravel DWG Converter 讓 Laravel 應用擷取 DWG 內嵌縮圖,或將檔案輸出為 DXF、結構 JSON、PNG、 JPEG 或 WebP。你只需安裝實際會呼叫之操作所需的外部命令。

系統需求 ​

需求支援範圍
PHP8.2 或更新版本
Laravel12 或 13
CI 實測PHP 8.2 搭配 Laravel 12;PHP 8.3–8.5 搭配 Laravel 12–13,包含 PHP 8.2/Laravel 12 的最低與目前相容相依版本

Laravel 13 需要 PHP 8.3 或更新版本。

每個操作有不同的外部需求:

操作必要命令
內嵌縮圖dwgbmp
DXFdwg2dxf
結構 JSON支援 JSON 輸出的 dwgread
PNG、JPEG 或 WebP 預覽dwg2dxf、LibreOffice 7.4+ soffice、ImageMagick 7 magick

安裝前請閱讀外部工具。縮圖、DXF 與 JSON 操作不需要 LibreOffice 或 ImageMagick。

安裝 ​

透過 Composer 安裝套件:

bash
composer require mattmy/laravel-dwg-converter

接著安裝所選操作需要的命令。LibreDWG 安裝方式請參考 LibreDWG 官方儲存庫。本套件不會下載或附帶任何外部工具。

設定 ​

命令位於 PATH 時可以直接使用預設設定。若工具安裝在其他位置,請在 .env 填入絕對路徑:

dotenv
LIBREDWG_DWGBMP=/opt/libredwg/bin/dwgbmp
LIBREDWG_DWG2DXF=/opt/libredwg/bin/dwg2dxf
LIBREDWG_DWGREAD=/opt/libredwg/bin/dwgread
DWG_CONVERTER_LIBREOFFICE=/usr/bin/soffice
DWG_CONVERTER_IMAGEMAGICK=/usr/local/bin/magick

已位於 PATH 的命令不必設定變數。逾時、檔案大小上限與暫存空間請參考設定參考。

快速開始 ​

下方範例接收有效的 Laravel 上傳檔案、擷取內嵌預覽,再串流至預設 Storage 磁碟:

php
use Mattmy\DwgConverter\Facades\Dwg;

$thumbnail = Dwg::thumbnail($request->file('drawing'))->extract();

$path = $thumbnail->storeAs(
    path: 'drawing-thumbnails',
    name: 'floor-plan.'.$thumbnail->extension(),
);

副檔名依預覽內容判定,可能是 bmp、png 或 wmf。有效 DWG 也可能沒有內嵌預覽;若這是 預期情況,請處理 DwgOperationFailed。

下一步 ​

Last updated:

使用 MIT License 發布。