使用者上傳 Word (.doc/.docx) 或 PDF 檔案,需在瀏覽器中線上預覽,並保留原始格式、字體、圖片等排版。
| 方案 | 原理 | 優點 | 缺點 |
|---|---|---|---|
| Apache POI + PDFBox 轉 PDF 再渲染 | 後端將 Word 轉 PDF,前端用 PDF.js 顯示 | 開源免費,格式還原度高 | 轉換耗時,佔用伺服器資源,複雜排版可能失真 |
| LibreOffice Headless 模式轉換 | 呼叫 LibreOffice 命令列轉 PDF | 相容性最佳,支援多種格式 | 需安裝 LibreOffice,啟動慢,佔記憶體大 |
| 商用 SDK (Aspose, Spire, Foxit) | 直接在後端/前端渲染 | 效能好,功能全,技術支援完善 | 需購買授權,成本較高 |
| 第三方雲端服務 | 上傳至雲端 (Google Docs Viewer, Microsoft Office Online, 群暉/Nextcloud) | 無需自建轉換服務 | 資料隱私風險,依賴網路,可能有流量限制 |
<!-- 引入 PDF.js -->
<script src="pdfjs/web/viewer.html"></script>
<iframe src="/pdfjs/web/viewer.html?file=/files/xxx.pdf" width="100%" height="800px"></iframe>
CSDN 下載資源:Java Web 線上預覽 Word/PDF Demo
若預算允許,商用 SDK 省時省力;若追求開源免費,LibreOffice + PDF.js 是成熟穩定的組合。核心在於「後端統一轉 PDF,前端統一用 PDF.js 渲染」。