您的位置:首页 > Web前端 > HTML

使用XPDF将PDF转换为HTML

2010-08-09 10:19 253 查看
1、下载xpdf最新版本,地址:http://www.foolabs.com/xpdf/download.html

我下载的是xpdf-3.02pl4-win32.zip

2、下载中文支持包

我下载的是 xpdf-chinese-simplified.tar.gz

3、下载pdftohtml支持包

地址:http://sourceforge.net/projects/pdftohtml/

我下载的是:pdftohtml-0.38-win32.zip

4、解压调试

1) 先将xpdf-3.02pl4-win32.zip解压,解压后的内容可根据需要进行删减,如果只需要转换为txt格式,其他的exe文件可以删除,只保留pdftotext.exe,以此类推;

2) 然后将xpdf-chinese-simplified.tar.gz解压到刚才xpdf-3.02pl2-win32.zip的解压目录;

3) 将pdftohtml-0.38-win32.zip解压,pdftohtml.exe解压到xpdf-3.02pl4-win32.zip的解压目录;

4) 目录结构:

+---[X:/xpdf]

|-------各种转换用到的exe文件

|

|-------xpdfrc

|

+------[X:/xpdf/xpdf-chinese-simplified]

|

|

+-------很多转换时需要用到的字符文件

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(放置的路径为X:/xpdf /pdftohtml.bat)

内容为:

@echo off
set folderPath=%1
set filePath=%2
cd /d %folderPath%
pdftohtml -enc GBK %filePath%
exit


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 + "/" /"" + INPUT_PATH + "/"";
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");
}


运行结果不大理想,运行第一次时,html页面是打不开的,之后才创建了相应的页面,到第二次运行时就正常了,原因不明。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: