pdftotext 此程式就是能將 pdf 檔轉為純文字檔
但似乎沒有提供批次轉檔的功能,因此我寫了個 shell script 來批次轉檔
指令範例:
pdftotext -raw 123.pdf 123.txt
#!/bin/bash
#作者:夢見草 版本:2012年07月10日 (週二) 15時56分32秒
#簡介:本程式搭配 pdftotext 程式,批次轉檔為 text
#使用說明:
#1 請在本程式所在位置底下建兩個資料夾 pdf 和 txt
#2 將 *.pdf 檔案放入 pdf 資料夾,然後運行此程式,就可到 txt 資料夾去取檔
#3 以上兩個動作請確切完成之後才能執行本程式
#宣告底下兩個變數為陣列
typeset -a PdfFilename
typeset -a TxtFilename
chmod 664 pdf/*.* > /dev/null
#拿掉檔案的 x 權限。若不拿掉的話,在某些系統 ls 時,檔名後會加 * 號
PdfFilename=(`ls -1 pdf`)
#將 pdf 此資料夾內的檔名 存入陣列之中,此陣列名為 PdfFilename
TxtFilename=(`ls -1 pdf | sed 's/\.pdf/\.txt/g'`)
#將 *.pdf 改名為 *.txt,存入陣列之中,此陣列名為 TxtFilename
#echo "${TxtFilename[*]}"
#列出陣列裡的所有資料
#echo "${#TxtFilename[*]}"
#echo "${#PdfFilename[*]}"
#計算陣列內共有幾筆資料
arrayNum=${#PdfFilename[*]}
#計算陣列內共有幾筆資料,並設定變數 arrayNum 為陣列內的總數
set -x
for (( i=0; i<$arrayNum; i=i+1))
#for (( 初始值; 限制值; 執行步階 ))
do
pdftotext -raw pdf/${PdfFilename[i]} txt/${TxtFilename[$i]}
done
set +x
[note]
參考資料:ubuntu Manpage、
[/note]