(PHP) libreoffice將WORD轉PDF
這是我第一次寫技術相關的貼文,因為這次的開發在轉檔這部分花了好多時間研究,查了很多的文件和論壇才成功轉檔,沒想到漏掉安裝一個小套件又花了好多時間查資料,所以覺得不寫起來當作筆記很可惜,也分享給和我發生一樣問題的人。 網路上有很多的套件可以直接產生 WORD 檔,也有能直接產生 PDF 的套件像是 TCPDF 的功能也很多,但因為格式上會需要比較彈性的調整在產生後達不到我要的效果,所以我選擇把 WORD 檔當作樣本再轉成 PDF 檔。 雖然 WORD 在匯出就有 PDF 的選項可以進行轉檔,可以手動進行操作,但我要將資料放在網路上提供登入系統的使用者下載,使用者下載時自動將資料轉成 PDF 檔。所以我的做法是將後端的資料存在資料庫中,轉出時將一份 WORD 公版檔案格式當作樣本,這裡我用 PHPWord 套件以這份樣本去複製產生一份新的檔案並將資料寫入 Word 檔,然後需再經過 libreoffice 轉檔才是我要的 PDF 檔,讓使用者下載,才完成所有的轉檔步驟。 我的作業系統為 CentOS 7 ,在上面先安裝 libreoffice ,再來需要把相關的套件安裝上去這樣轉檔的功能才能真正使用。 套件清單: libreoffice libreoffice-headless libreoffice-writer libreoffice-calc 以下是我從官方文件和各類的技術論壇整理出來大概的重點和指令: 轉換指令: soffice --headless --convert-to pdf:writer_pdf_Export { 要被轉的 word 檔 } --outdir { 輸出檔案的資料夾 } --headless 已無介面模式啟動,此模式禁用介面啟動應用程式。當系統...