iT邦幫忙

0

如何用php取得含中文的.doc檔的內文(純文字內容即可)

php

請問如何用php取得含中文的.doc檔的內文(純文字內容即可)

之前使用過phpword處理
但是中文部分會變亂碼
目前只有找到輸出時避免亂碼的修改方式,沒有找到讀取要除和修改

也用過class.filetotext.php去處理
處理.pdf、.docx檔時都能正常運作
但不知為何在處理.doc檔時會變成亂碼(純英文檔案也會變亂碼)

1 個回答

0
q00153
iT邦新手 3 級 ‧ 2016-06-08 16:10:09
最佳解答

1.如果你會 JAVA 可以使用 Apachep POI 來讀寫微軟 Office 系列檔案,相關網址:https://poi.apache.org/

可以寫一個 jar 通用模組,再使用 php 去執行它,類似這樣~

<?php
//假設把 doc檔案內文透過 Java POI 讀取到 $output 內
$output = shell_exec(‘java -jar jar檔  doc檔案路徑’);
?>

2.如果你的伺服器是 Windows 可以安裝 Office 後,透過 PHP COM 引用 word.application 來讀寫 word 檔,操作方式跟 VBA 一樣,只是有些寫法要變一下。

相關網址:http://php.net/manual/en/book.com.php

3.或者你可以安裝 LibreOffice 再透過它將 doc檔案轉成 PDF,然後 PHP 去讀取 PDF 檔的內容。

相關網址:https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/zh-CN

http://blog.51yip.com/linux/1669.html

http://zhidao.baidu.com/question/2140601517789892388.html?si=4&qbpn=1_4&tx=&wtp=wk&word=libreoffice%E8%BD%AC%E6%8D%A2%E5%91%BD%E4%BB%A4&fr=solved&from=qb&ssid=&uid=bd_1427306839_943&pu=sz%40224_240%2Cos%40&step=7&bd_page_type=1&init=middle

PS.我沒試過 LibreOffice 直接轉成文字檔,或許可以試試看,這樣 PHP 可以直接讀取文字檔,不用讀取 PDF 了。

我要發表回答

立即登入回答