Community寫作與編輯github.com

DWG 轉 PDF

將 CAD 圖紙轉換為 PDF 檔案,無需上傳至網路服務。

DWG 轉 PDF 是什麼?

此技能用於將 `.dwg` 與 `.dxf` 格式的 CAD 圖紙離線轉換為 PDF 檔案,避免將機密圖紙上傳至第三方網路服務。其核心原理是透過 ODA File Converter 將 DWG 轉為 DXF,再以 ezdxf 與 matplotlib 進行渲染,最後以 pymupdf 輸出為 PDF。技能支援 Windows 平台,並內建 ODA 與 Python 相依套件的自動安裝流程。為確保轉換品質,技能會檢查產出 PDF 的頁數與位元組數,並產生預覽 PNG 供視覺驗證;若頁面空白或裁切異常,可自動嘗試更大的紙張尺寸或提示使用 ODA Viewer 手動列印。技能特別處理非 ASCII 路徑(如中文檔名)問題,會先暫存至臨時 ASCII 資料夾再複製到最終路徑,避免 Windows 編碼錯誤。整體適用於對安全性與檔案保真度要求高的工程場景。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add 2807334132-lab/codex-skills

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

DWG 轉 PDF 是做什麼的?

概述

使用此技能將 CAD 圖紙轉換為 PDF 檔案,無需將圖紙上傳至網路服務。建議優先使用內建的腳本,因為 DWG 轉換在 Windows 上有許多脆弱的細節:ODA 命令列引數順序、CAD 函式庫相依性以及非 ASCII 輸出路徑。

工作流程

  1. 確認來源檔案存在,並判斷是 .dwg 或 .dxf 格式。
  2. 選擇輸出路徑。若使用者未指定,則在來源檔案旁儲存為 <來源檔名>.pdf。
  3. 使用絕對路徑執行 scripts/convert_dwg_to_pdf.py:
python scripts/convert_dwg_to_pdf.py --input "D:\path\plan.dwg" --output "D:\path\plan.pdf"
  1. 根據腳本輸出驗證結果:
    • pages 至少為 1。
    • bytes 必須大於 0。
    • preview 應指向第 1 頁的渲染 PNG。
  2. 當使用者要求「開啟」PDF,或明確需要開啟時,為其開啟該檔案。

工具

腳本支援:

  • .dwg:先以 ODA File Converter 轉換為 DXF,再渲染為 PDF。
  • .dxf:直接渲染為 PDF。

若缺少 ODA File Converter,可在允許時透過 Windows 套件管理員安裝:

winget install --id ODA.ODAFileConverter -e --accept-source-agreements --accept-package-agreements --disable-interactivity

腳本需要 Python 套件 ezdxf、matplotlib 與 pymupdf。若缺少且允許安裝套件時,請安裝:

python -m pip install ezdxf matplotlib pymupdf

品質檢查

務必檢查產生的 PDF 是否可正常渲染。非空的 PDF 仍可能因圖紙未顯示、頁面裁切不當或文字/字型失敗而內容錯誤。

使用產生的預覽 PNG 進行快速視覺檢查。若預覽圖為空白或嚴重裁切:

  • 以更大的紙張尺寸重新執行,例如 --paper a2-landscape;
  • 若圖紙使用配置或 ezdxf 無法良好渲染的功能,則嘗試直接使用 ODA Viewer 手動列印;
  • 告知使用者輸出可能無法完全保留所有 CAD 功能。

注意事項

  • 請勿修改原始 DWG。請在複製的中繼資料夾中進行轉換。
  • 除非使用者明確同意上傳圖紙,否則避免使用網路轉換器。
  • 當儲存至中文或其他非 ASCII 路徑時,先讓腳本寫入 ASCII 臨時 PDF,再複製到使用者指定的輸出路徑。
  • 最終回應中請使用絕對檔案路徑。

相關技能