Pandoc เป็นเครื่องมือแปลงเอกสารที่มีพลังที่สุด มันแปลงระหว่างรูปแบบหลายรุ่น รวมถึง .docx เป็น Markdown และให้การควบคุมการออกแบบอย่างละเอียด คู่มือนี้ครอบคลุมทุกสิ่งที่คุณจําเป็นต้องใช้ Pandoc สําหรับ Word ถึง Markdown การแปลง
อะไรคือ Pandoc?
Pandoc เป็นเครื่องมือแถวคําสั่งแบบฟรีและเปิดรหัส ที่แปลงเอกสารระหว่างรูปแบบ มันรองรับรูปแบบการเข้าและการออกมากกว่า 40 รูปแบบ สําหรับการแปลง Word เป็น Markdown, Pandoc เป็นมาตรฐานทอง ที่สามารถตั้งค่าได้มากกว่าเครื่องมือที่ใช้ระบบหน้ากว้างใด ๆ รวมถึง WordToMD.
เวลาที่ใช้ Pandoc vs. WordToMD:
| สถานการณ์ | Pandoc | WordToMD |
|---|---|---|
| การแปลงครั้งเดียว | ต้องการติดตั้ง | ✅ ทันที โดยใช้โปรแกรมเว็บไซต์ |
| การแปลงแบรช | ✅ เขียนมัน | แฟ้มละครั้ง |
| รูปแบบการออกแบบที่กําหนดเอง | ✅ มีตัวเลือกมากมาย | สินค้ามาตรฐาน GFM เท่านั้น |
| เอกสารที่มีความรู้สึกต่อความเป็นส่วนตัว | ✅ การประมวลผลในท้องถิ่น | ✅ ใช้กับโปรแกรมเว็บไซต์เท่านั้น ไม่มีการอัพโหลด |
| ไม่มีประสบการณ์ทางปลายทาง | ความรู้ CLI ที่จําเป็น | ✅ ดึงและปล่อย |
| สายไฟ CI/CD | ✅ สามารถทําอัตโนมัติได้ | ไม่สามารถอัตโนมัติ |
การติดตั้ง Pandoc
หน้าต่าง
ดาวน์โหลดเครื่องติดตั้งจาก pandoc.org/การติดตั้ง.html, หรือใช้ package manager:
# Winget
winget install pandoc
# Chocolatey
choco install pandoc
# Scoop
scoop install pandoc
macOS
# Homebrew
brew install pandoc
# MacPorts
sudo port install pandoc
ลินักซ์
# Ubuntu/Debian
sudo apt-get install pandoc
# Fedora
sudo dnf install pandoc
# Arch
sudo pacman -S pandoc
ยืนยันการติดตั้ง:
pandoc --version
คําสั่งการแปลงพื้นฐาน
pandoc document.docx -o output.md
นั่นแหละ Pandoc ทําการสรุปรูปแบบการเข้าจาก .docx และรูปแบบการออกจาก .md.
ฉบับที่ชัดเจนกว่า:
pandoc -f docx -t markdown document.docx -o output.md
ตัวเลือกรูปแบบการออก
Pandoc ให้การออกหลายตัวแปร Markdown:
# GitHub Flavored Markdown (GFM)
pandoc document.docx -t gfm -o output.md
# CommonMark
pandoc document.docx -t commonmark -o output.md
# Pandoc's extended Markdown (most features)
pandoc document.docx -t markdown -o output.md
# Standard Markdown (basic)
pandoc document.docx -t markdown_strict -o output.md
GFM แนะนํา สําหรับกรณีการใช้ส่วนใหญ่ (GitHub, Obsidian, GitBook, Notion)
ตัวเลือกการแปลงที่คุ้มค่า
การสกัดไฟล์สื่อ
รูปภาพที่ติดอยู่ใน .docx จะถูกสกัดออกไปในไดเรคทอรี่:
pandoc document.docx --extract-media=./media -o output.md
การนี้จะบันทึกภาพ ./media/ และเพิ่มการอ้างอิงภาพ Markdown ให้กับผลิต
สายพับ
การบรรจุสายควบคุมในทางออก:
# No wrapping (one paragraph = one line)
pandoc document.docx --wrap=none -o output.md
# Wrap at 80 characters
pandoc document.docx --wrap=auto --columns=80 -o output.md
--wrap=none เป็นที่แนะนําสําหรับ Markdown ซึ่งจะเป็นการควบคุมเวอร์ชั่น มันผลิตการแตกต่าง Git ที่สะอาดกว่า
รายการประกอบ
pandoc document.docx --toc -o output.md
เอกสารที่แยกตัวด้วยเมตาเดท
pandoc document.docx -s -o output.md
การ -s (standalone) flag สร้าง YAML frontmatter จากเมตาเดทของเอกสาร
การแปลง Batch
เปลี่ยนไฟล์ .docx ทั้งหมดในไดเรคทอรี่:
Windows PowerShell
Get-ChildItem -Filter "*.docx" | ForEach-Object {
$output = [System.IO.Path]::ChangeExtension($_.Name, ".md")
pandoc $_.FullName -t gfm --wrap=none -o $output
Write-Host "Converted: $($_.Name) → $output"
}
Bash (macOS/Linux)
for file in *.docx; do
output="${file%.docx}.md"
pandoc "$file" -t gfm --wrap=none -o "$output"
echo "Converted: $file → $output"
done
สําหรับตัวเลือกการแปลงแบชช์เพิ่มเติม ดู Batch Convert Word เป็น Markdown.
การปรับแต่งผลิตด้วยกรอง Lua
Pandoc รองรับกรอง Lua ที่แปลงเอกสาร AST ระหว่างการแปลง:
pandoc document.docx --lua-filter=my-filter.lua -o output.md
ตัวอย่างการกรอง Lua เพื่อเพิ่มบล็อกตัวหน้าที่กําหนดเอง:
-- add-frontmatter.lua
function Meta(meta)
meta.draft = false
meta.author = "WordToMD Team"
return meta
end
นี่คือการปรับแต่งแบบที่เครื่องมือหน้ากว้างไม่สามารถตรงกันได้
การเปรียบเทียบผลิตของ Pandoc กับ mammoth.js
WordToMD ใช้ Mammoth.js ภายใต้ Hood. Pandoc ใช้พาร์เซอร์ของตัวเอง ความแตกต่างหลัก
| ลักษณะ | Pandoc | มามูธ.js (WordToMD) |
|---|---|---|
| การสกัดภาพ | ✅ --extract-media | ️ ระบุในข้อความการแปลง |
| สไตล์ที่กําหนดเอง | ✅ ผ่านการอ้างอิง doc | ️ ลงทะเบียนเป็นคําเตือน |
| สมการคณิตศาสตร์ | ✅ MathML → LaTeX | ไม่ได้รับการสนับสนุน |
| การเปลี่ยนแปลงเส้นทาง | ✅ สามารถปรับแต่งได้ | ถอด |
| หมายเหตุ | ✅ ถูก รักษา | ️ เพียงในระบบ |
| ความเห็น | ✅ ไม่ต้องเลือก | ถอด |
สําหรับเอกสารที่ซับซ้อน, Pandoc ให้ผลิตที่สมบูรณ์กว่า. สําหรับเอกสารที่ง่ายๆ, WordToMD จะเร็วขึ้นด้วยการตั้งค่าศูนย์.
Pandoc ไฟล์แบบตั้งค่า
สําหรับการแปลงซ้ํา ๆ ด้วยการตั้งค่าเดียวกัน, สร้างไฟล์แบบตั้งค่า:
# my-defaults.yaml
from: docx
to: gfm
wrap: none
extract-media: ./media
standalone: true
แล้ววิ่ง:
pandoc document.docx -d my-defaults.yaml -o output.md
การใช้ Pandoc ใน CI/CD
สําหรับท่ออัตโนมัติ (GitHub การดําเนินงาน ฯลฯ)
# .github/workflows/convert-docs.yml
- name: Install Pandoc
run: sudo apt-get install pandoc
- name: Convert Word docs to Markdown
run: |
for f in docs/*.docx; do
pandoc "$f" -t gfm --wrap=none -o "${f%.docx}.md"
done
FAQ
Pandoc ผลิต \ เส้นต่อเนื่องใน Markdown ของฉัน ฉันจะเอามันออกได้ยังไง?
เพิ่ม --wrap=none เพื่อปิดการพับเส้นแข็ง
ตารางของฉันดูสับสนในการออก Pandoc
ลองดู -t gfm สําหรับ GFM table syntax แทนการตั้งค่า Pandoc Markdown table
รูปภาพไม่ได้ปรากฏในผลิต
เพิ่ม --extract-media=./images เพื่อการสกัดภาพที่ติดตั้ง จากนั้นนําไปอ้างอิงมันอย่างถูกต้องในสภาพแวดล้อมเป้าหมายของคุณ
Pandoc เปลี่ยนคําอ้างอิงที่ฉลาดเป็น " ตัวอักษร ฉันจะเก็บมันไว้อย่างไร?
เพิ่ม --no-highlight หรือปรับปรุงตาราง สําหรับคําอ้างอิงที่ฉลาดโดยเฉพาะอย่างยิ่ง พวกเขาควรถูกอนุรักษ์โดยตั้งค่าในรูปแบบผลิตส่วนใหญ่
วิธีการที่ Pandoc และ WordToMD เปรียบเทียบสําหรับ DOCX กับ Markdown? ทั้งสองใช้ได้ดีสําหรับเอกสารมาตรฐาน WordToMD ต้องการการตั้งค่าศูนย์และผลิตผลิต GFM ที่สะอาด Pandoc ต้องการการติดตั้ง แต่จัดการเอกสารที่ซับซ้อน (ภาพ, คณิตศาสตร์, ความคิดเห็น, หมายเหตุ) อย่างครบถ้วนกว่า
การสรุป
Pandoc เป็นเครื่องมือที่มีความสามารถมากที่สุดสําหรับ Word เป็น Markdown การแปลง, โดยเฉพาะสําหรับการประมวลผลแบบชุด, รูปแบบการออกแบบที่กําหนดเอง, และสายไฟ CI/CD. สําหรับการแปลงครั้งเดียวอย่างรวดเร็ว โดยไม่ต้องติดตั้ง WordToMD ทํางานได้ทันที เครื่องมือทั้งสองนี้สมบูรณ์แบบกันและกัน