使用XPDF將PDF轉換為HTML的實現步驟
2020-07-18 16:10:30
供稿:網友
 
						1、下載xpdf最新版本,地址:http://www.foolabs.com/xpdf/download.html 
我下載的是xpdf-3.02pl2-win32.zip 
2、下載中文支持包 
我下載的是xpdf-chinese-simplified.tar.gz 
3、下載pdftohtml支持包 
地址:http://sourceforge.net/projects/pdftohtml/ 
我下載的是:pdftohtml-0.39-win32.tar.gz 
4、解壓調試 
1) 先將xpdf-3.02pl2-win32.zip解壓,解壓后的內容可根據需要進行刪減,如果只需要轉換為txt格式,其他的 
exe文件可以刪除,只保留pdftotext.exe,以此類推; 
2) 然后將xpdf-chinese-simplified.tar.gz解壓到剛才xpdf-3.02pl2-win32.zip的解壓目錄; 
3) 將pdftohtml-0.39-win32.tar.gz解壓,pdftohtml.exe解壓到xpdf-3.02pl2-win32.zip的解壓目錄; 
4) 目錄結構: 
+---[X:/xpdf] 
|-------各種轉換用到的exe文件 
| 
|-------xpdfrc 
| 
+------[X:/xpdf/xpdf-chinese-simplified] 
| 
http://www.javaeye.com/forums 1.6 Word/Excel/PDF文件轉換成HTML整理 
| 
+-------很多轉換時需要用到的字符文件 
xpdfrc:此文件是用來聲明轉換字符集對應路徑的文件 
5) 修改xpdfrc文件(文件原名為sample-xpdfrc) 
修改文件內容為: 
#----- begin Chinese Simplified support package 
cidToUnicode Adobe-GB1 xpdf-chinese-simplified/Adobe-GB1.cidToUnicode 
unicodeMap ISO-2022-CN xpdf-chinese-simplified/ISO-2022-CN.unicodeMap 
unicodeMap EUC-CN xpdf-chinese-simplified/EUC-CN.unicodeMap 
unicodeMap GBK xpdf-chinese-simplified/GBK.unicodeMap 
cMapDir Adobe-GB1 xpdf-chinese-simplified/CMap 
toUnicodeDir xpdf-chinese-simplified/CMap 
fontDir C:/WINDOWS/Fonts 
displayCIDFontTT Adobe-GB1 C:/WINDOWS/Fonts/simhei.ttf 
#----- end Chinese Simplified support package 
6) 創建bat文件pdftohtml.bat(放置的路徑不能包含空格) 
內容為: 
@echo off 
set folderPath=%1 
set filePath=%2 
cd /d %folderPath% 
pdftohtml -enc GBK %filePath% 
exit 
http://www.javaeye.com/forums 1.6 Word/Excel/PDF文件轉換成HTML整理 
7) 創建類 
public class ConvertPdf 
{ 
private static String INPUT_PATH; 
private static String PROJECT_PATH; 
public static void convertToHtml(String file, String project) 
{ 
INPUT_PATH = file; 
PROJECT_PATH = project; 
if(checkContentType()==0) 
{ 
toHtml(); 
} 
} 
private static int checkContentType() 
{ 
String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length()) 
.toLowerCase(); 
if (type.equals("pdf")) 
return 0; 
else 
return 9; 
} 
private static void toHtml() 
{ 
if(new File(INPUT_PATH).isFile()) 
{ 
try 
{ 
String cmd = "cmd /c start X://pdftohtml.bat /"" + PROJECT_PATH + "/" http://www.javaeye.com/forums 1.6 Word/Excel/PDF文件轉換成HTML整理 
Runtime.getRuntime().exec(cmd); 
} 
catch (IOException e) 
{ 
e.printStackTrace(); 
} 
} 
} 
} 
String cmd = "....";此處代碼是調用創建的bat文件進行轉換 
8) 測試轉換 
public static void main(String[] args) 
{ 
ConvertPdf.convertToHtml("C://test.pdf", "X://xpdf"); 
}