求xpdf 使用解析PDF文件的详细步骤,最终转化为HTML页面要求不失真,感谢

[Java] 利用xpdf库获取pdf文件的指定范围文本内容
下面是对运行xpdf软件服务的计算机的要求:
l您可以从以下位置下载并安装 xpdf分发版本-补丁3的Win32版本:
l还需要从以下位置下载并安装 xpdf针对中文简体的语言支持包:
””
"-q""-cfg", "xpdfrc"
阅读(...) 评论()【记录】尝试使用pyPdf将不可复制的PDF转换为文本或HTML
期间,去试试使用pyPdf去把一个不可复制的PDF文件,转换为文本或HTML。
【折腾过程】
2.但是安装时找不到Python:
我此处安装的x64的python,此处无法识别啊。。。
3.重新下载:
然后去解压安装:
D:\tmp\dev_tools\python\pdf\pyPdf-1.13\pyPdf-1.13&python setup.py install
running install
running build
running build_py
creating build
creating build\lib
creating build\lib\pyPdf
copying pyPdf\filters.py -& build\lib\pyPdf
copying pyPdf\generic.py -& build\lib\pyPdf
copying pyPdf\pdf.py -& build\lib\pyPdf
copying pyPdf\utils.py -& build\lib\pyPdf
copying pyPdf\xmp.py -& build\lib\pyPdf
copying pyPdf\__init__.py -& build\lib\pyPdf
running install_lib
creating D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\filters.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\generic.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\pdf.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\utils.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\xmp.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
copying build\lib\pyPdf\__init__.py -& D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\filters.py to filters.pyc
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\generic.py to generic.pyc
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\pdf.py to pdf.pyc
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\utils.py to utils.pyc
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\xmp.py to xmp.pyc
byte-compiling D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf\__init__.py to __init__.pyc
running install_egg_info
Writing D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\pyPdf-1.13-py2.7.egg-info
然后去试试。
#!/usr/bin/python
# -*- coding: utf-8 -*-
【未解决】将不可拷贝复制的PDF中的表格数据导出并转换为xml格式数据
/non_copy_pdf_table_data_export_to_xml
import glob
from pyPdf import PdfFileReader
def pdf_table_to_xml():
&&&Operate PDF file, extract table data, save to xml&&&
parent = &D:/tmp/tmp_dev_root/python/answer_question/self/pdf_table_to_xml/pdf&
os.chdir(parent)
pdfFilename = &spec183r21.0.pdf&;
filename = os.path.abspath(pdfFilename)
input = PdfFileReader(file(filename, &rb&))
for page in input.pages:
print page.extractText()
if __name__ == &__main__&:
pdf_table_to_xml();
结果运行出错,说是没解密:
D:\tmp\tmp_dev_root\python\answer_question\self\pdf_table_to_xml&pdf_table_to_xml.py
Traceback (most recent call last):
File &D:\tmp\tmp_dev_root\python\answer_question\self\pdf_table_to_xml\pdf_table_to_xml.py&, line 29, in &module&
pdf_table_to_xml();
File &D:\tmp\tmp_dev_root\python\answer_question\self\pdf_table_to_xml\pdf_table_to_xml.py&, line 25, in pdf_table_to_xml
for page in input.pages:
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\utils.py&, line 78, in __getitem__
len_self = len(self)
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\utils.py&, line 73, in __len__
return self.lengthFunction()
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\pdf.py&, line 431, in getNumPages
self._flatten()
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\pdf.py&, line 596, in _flatten
catalog = self.trailer[&/Root&].getObject()
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\generic.py&, line 480, in __getitem__
return dict.__getitem__(self, key).getObject()
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\generic.py&, line 165, in getObject
return self.pdf.getObject(self).getObject()
File &D:\tmp\dev_install_root\Python27_x64\lib\site-packages\pyPdf\pdf.py&, line 655, in getObject
raise Exception, &file has not been decrypted&
Exception: file has not been decrypted
4.然后再去解决上述问题:
没找到解决办法。
说是,其代码对于其他pdf正常,所以无视此bug。。。
目前也是无法通过pyPdf将上述不可拷贝的pdf转换为想要的文本或html。
共享此文章:
分类目录分类目录
选择分类目录
Uncategorized&&(10)
单身恋爱婚姻家庭&&(112)
&&&Lovestory&&(7)
&&&单身&&(21)
&&&婚姻&家庭&&(34)
&&&恋爱&&(46)
哲理 人生 故事&&(210)
&&&哲理佳句&&(39)
&&&电视剧《天道》&&(6)
&&&财富人生&&(44)
工作和技术&&(3,663)
&&&CharEncoding&&(3)
&&&CodeShare&&(17)
&&&CompilerLinkerParser&&(94)
&&&&&&ANTLR&&(92)
&&&&&&JavaCC&&(1)
&&&DevToolSoft&&(71)
&&&&&&Linux on Win&&(40)
&&&&&&&&&Cygwin&&(33)
&&&&&&&&&Gow&&(1)
&&&&&&&&&MingW&&(3)
&&&&&&&&&MSYS&&(3)
&&&&&&Putty&&(1)
&&&&&&Total Commander&&(2)
&&&&&&VersionControl&&(27)
&&&&&&&&&Git&&(18)
&&&&&&&&&SVN&&(7)
&&&Docbook&&(127)
&&&DocxyGen&&(1)
&&&Elance&&(6)
&&&Embedded&&(517)
&&&&&&BusyBox&&(2)
&&&&&&CrossCompiler&&(102)
&&&&&&&&&Buildroot&&(30)
&&&&&&&&&crosstool-ng&&(40)
&&&&&&Embedded Emulator&&(15)
&&&&&&&&&QEMU&&(15)
&&&&&&Embedded Filesystem&&(4)
&&&&&&&&&Yaffs2&&(2)
&&&&&&Embedded IDE&&(3)
&&&&&&&&&HEW&&(1)
&&&&&&&&&IAR&&(1)
&&&&&&Embedded OnChip Resource&&(2)
&&&&&&&&&Memory&&(2)
&&&&&&&&&&&&SDRAM&&(1)
&&&&&&Embedded OS&&(9)
&&&&&&&&&Realtime OS&&(2)
&&&&&&Embedded Peripherals&&(112)
&&&&&&&&&Bluetooth&&(21)
&&&&&&&&&CAN Bus&&(2)
&&&&&&&&&DMA&&(1)
&&&&&&&&&GPIO&&(1)
&&&&&&&&&Serial Communication&&(13)
&&&&&&&&&&&&RS232&&(10)
&&&&&&&&&&&&&&&SecureCRT&&(3)
&&&&&&&&&&&&RS485&&(2)
&&&&&&&&&Storage&&(73)
&&&&&&&&&&&&Flash&&(31)
&&&&&&&&&&&&SD/MMC&&(9)
&&&&&&&&&&&&USB&&(32)
&&&&&&Fieldbus&&(57)
&&&&&&&&&DTM&&(1)
&&&&&&&&&EDDL&&(10)
&&&&&&&&&HART&&(29)
&&&&&&&&&Modbus&&(1)
&&&&&&&&&Profibus&&(6)
&&&&&&&&&PROFINET&&(2)
&&&&&&Industrial Automation&&(59)
&&&&&&Linaro&&(1)
&&&&&&Linux Kernel&&(2)
&&&&&&MCU SoC IP-Core&&(11)
&&&&&&&&&ARM&&(4)
&&&&&&&&&NEC&&(2)
&&&&&&PLC&&(38)
&&&&&&Symbology_Barcode&&(6)
&&&&&&Thread&&(2)
&&&&&&Uboot&&(17)
&&&EncryptDecrypt&&(1)
&&&Hardware&&(13)
&&&&&&Opensource Hardware&&(10)
&&&&&&&&&pcDuino&&(7)
&&&IDE TextEditor&&(87)
&&&&&&Apatana Studio 3&&(2)
&&&&&&ATOM&&(4)
&&&&&&Eclipse&&(37)
&&&&&&Notepad++&&(5)
&&&&&&SciTE&&(1)
&&&&&&Source Insight&&(7)
&&&&&&Sublime Text&&(6)
&&&&&&Visual Studio&&(4)
&&&&&&Xcode&&(20)
&&&&&&&&&Instruments&&(1)
&&&&&&&&&iOS Simulator&&(1)
&&&Network&&(7)
&&&&&&SIP&&(1)
&&&&&&Wireshark&&(3)
&&&OS_Platform&&(583)
&&&&&&CentOS&&(4)
&&&&&&Linux&&(146)
&&&&&&&&&diff&&(4)
&&&&&&&&&Driver&&(36)
&&&&&&&&&gcc&&(1)
&&&&&&&&&makefile&&(13)
&&&&&&&&&NFS&&(2)
&&&&&&&&&patch&&(3)
&&&&&&&&&Wireless&&(7)
&&&&&&Mac&&(35)
&&&&&&&&&Cocoa&&(1)
&&&&&&&&&iphone&&(1)
&&&&&&MobilePlatform&&(351)
&&&&&&&&&Android&&(266)
&&&&&&&&&&&&Android Studio&&(14)
&&&&&&&&&&&&Osmand&&(5)
&&&&&&&&&iOS&&(85)
&&&&&&&&&&&&Swift&&(35)
&&&&&&Ubuntu&&(38)
&&&&&&Windows&&(9)
&&&pneumatic&&(1)
&&&ProgrammingLanguage&&(737)
&&&&&&C&&(48)
&&&&&&C#&&(161)
&&&&&&GO&&(47)
&&&&&&Java&&(48)
&&&&&&&&&JSP&&(1)
&&&&&&&&&Openfire&&(10)
&&&&&&&&&Spark&&(1)
&&&&&&Object-C&&(4)
&&&&&&Perl&&(4)
&&&&&&PHP&&(151)
&&&&&&&&&Drupal&&(16)
&&&&&&&&&Joomla&&(4)
&&&&&&&&&MediaWiki&&(4)
&&&&&&&&&WordPress&&(90)
&&&&&&Python&&(253)
&&&&&&&&&BeautifulSoup&&(11)
&&&&&&&&&Django&&(7)
&&&&&&&&&Python GUI&&(3)
&&&&&&&&&Python IDE&&(14)
&&&&&&&&&Python3&&(8)
&&&&&&&&&StringEncoding&&(16)
&&&&&&R&&(5)
&&&&&&VB.Net&&(5)
&&&&&&VBA&&(11)
&&&RegularExpression&&(54)
&&&&&&Android regex&&(3)
&&&&&&C# Regex&&(1)
&&&&&&dreamweaver regex&&(1)
&&&&&&EditPlus TR1&&(1)
&&&&&&Java regex&&(6)
&&&&&&Notepad++ regex&&(1)
&&&&&&Perl //&&(1)
&&&&&&PHP preg_match&&(1)
&&&&&&Python re&&(30)
&&&&&&UltraEdit 3 type regex&&(1)
&&&&&&VB.NET Regex&&(1)
&&&Soft Dev Basics&&(21)
&&&TechMaterialDownload&&(27)
&&&technical_fun&&(2)
&&&TechnicalLife&&(20)
&&&tmp_todo&&(103)
&&&Virtual Machine&&(78)
&&&&&&VirtualBox&&(42)
&&&&&&VMWare&&(29)
&&&Web_Technology&&(343)
&&&&&&BBS&&(8)
&&&&&&Crawl_EmulateLogin&&(75)
&&&&&&&&&Amazon&&(29)
&&&&&&&&&eBay&&(9)
&&&&&&&&&Scrapy&&(6)
&&&&&&&&&Taobao&&(1)
&&&&&&CSS&&(6)
&&&&&&Google&&(32)
&&&&&&&&&Google Adsense&&(28)
&&&&&&HTML&&(5)
&&&&&&JavaScript&&(24)
&&&&&&&&&easyUI&&(2)
&&&&&&&&&KindEditor&&(3)
&&&&&&&&&Node.js&&(10)
&&&&&&JSON&&(22)
&&&&&&MySQL&&(3)
&&&&&&Skydrive&&(5)
&&&&&&swf flash&&(1)
&&&&&&Tencent&&(1)
&&&&&&UML&&(2)
&&&&&&VirtualHost&&(68)
&&&&&&&&&cPanel&&(3)
&&&&&&&&&hawk&&(11)
&&&&&&&&&sugarhosts&&(7)
&&&&&&&&&TransferWebHosting&&(16)
&&&&&&WebServer&&(5)
&&&&&&&&&apache&&(4)
&&&&&&&&&nginx&&(1)
&&&&&&WeiXin&&(5)
&&&&&&WLW&&(24)
&&&&&&XML&&(3)
&&&&&&&&&XPath&&(2)
&&&wiki&&(2)
&&&经验和教训&&(9)
无法写入&&(1)
有意义&&(637)
&&&值得看的东东&&(138)
&&&新闻与社会&&(196)
&&&日本&&(13)
&&&看图不说话&&(113)
&&&罗永浩[老罗]&&(18)
有趣&&(850)
&&&多收了三五斗&&(21)
&&&开心西游记&&(43)
&&&笑话幽默&&(106)
&&&脑筋急转弯&&(19)
&&&视频&&(22)
&&&超强男女经典征婚启事&&(9)
生活&&(1,434)
&&&Tmp&&(9)
&&&个人推荐&&(84)
&&&信息记录&&(4)
&&&历史&&(3)
&&&安徽&&(12)
&&&心情与思考&&(65)
&&&文学&&(13)
&&&旅游&&(24)
&&&楼市与住房&&(308)
&&&&&&日常生活&&(3)
&&&&&&海德公园&&(39)
&&&&&&装修&&(223)
&&&&&&&&&卫浴&&(1)
&&&&&&&&&吊顶&&(1)
&&&&&&&&&地暖&&(50)
&&&&&&&&&地板&&(2)
&&&&&&&&&家电商场&&(1)
&&&&&&&&&封阳台&&(1)
&&&&&&&&&建材市场&&(9)
&&&&&&&&&整体橱柜&&(8)
&&&&&&&&&瓷砖&&(6)
&&&&&&&&&&&&木纹砖&&(3)
&&&&&&&&&空调&&(1)
&&&&&&&&&衣柜&&(1)
&&&&&&&&&装修日记&&(117)
&&&&&&&&&门&&(2)
&&&淮安&&(3)
&&&游戏&&(14)
&&&电影&&(1)
&&&电脑+数码+软件&&(598)
&&&&&&数码电玩&&(166)
&&&&&&&&&I9100G&&(71)
&&&&&&&&&U盘量产&&(3)
&&&&&&&&&华为手机&&(22)
&&&&&&&&&安卓手机&&(5)
&&&&&&&&&老人机&&(1)
&&&&&&电信&&(2)
&&&&&&电脑_生活&&(9)
&&&&&&电脑知识&&(80)
&&&&&&笔记类软件&&(4)
&&&&&&&&&为知笔记&&(1)
&&&&&&&&&印象笔记&&(2)
&&&&&&系统使用&&(111)
&&&&&&&&&Mac系统&&(34)
&&&&&&&&&Windows系统&&(77)
&&&&&&&&&&&&win10&&(5)
&&&&&&网上银行&&(27)
&&&&&&&&&PayPal&&(1)
&&&&&&&&&中行BOC&&(13)
&&&&&&&&&华夏hxb&&(1)
&&&&&&&&&工行ICBC&&(5)
&&&&&&&&&招行&&(1)
&&&&&&&&&支付宝&&(3)
&&&&&&路由器&&(7)
&&&&&&软件使用&&(167)
&&&&&&&&&360&&(2)
&&&&&&&&&chrome&&(3)
&&&&&&&&&Excel&&(8)
&&&&&&&&&Firefox&&(17)
&&&&&&&&&Flash Player&&(2)
&&&&&&&&&google&&(6)
&&&&&&&&&&&&goagent&&(4)
&&&&&&&&&IE&&(1)
&&&&&&&&&Office&&(3)
&&&&&&&&&Outlook&&(5)
&&&&&&&&&PDF&&(2)
&&&&&&&&&PicPick&&(1)
&&&&&&&&&PowerPoint&&(1)
&&&&&&&&&QQ&&(14)
&&&&&&&&&shadowsocks&&(3)
&&&&&&&&&Thunderbird&&(14)
&&&&&&&&&Word&&(13)
&&&&&&&&&网易163&&(2)
&&&&&&&&&翻墙&&(9)
&&&经济&&(15)
&&&网上购物&&(17)
&&&美食&&(8)
&&&羽毛球&&(22)
&&&苏州&&(57)
&&&&&&工业园区&&(2)
&&&&&&&&&独墅湖高教区&&(2)
知道&&(180)
&&&English&&(60)
&&&生活百科&&(23)
&&&网络资源下载&&(45)
移动硬盘&&(1)
笔记本相关&&(533)
&&&买本前必看&&(33)
&&&无线和迅驰及其相关&&(10)
&&&电脑知识扫盲&&(12)
&&&神舟资料整理&&(342)
&&&&&&别人对神舟的无端诋毁&&(7)
&&&&&&某些笔记本价钱贵但毛病也不少&&(24)
&&&&&&神舟本网站评测&&(7)
&&&&&&神舟电脑评测&&(151)
&&&&&&神舟相关&&(103)
&&&&&&神舟笔记本好的方面的例子&&(17)
&&&&&&给不熟悉的人的解答&&(26)
&&&笔记本cpu&&(26)
&&&笔记本显卡&&(36)
&&&笔记本显卡游戏效果&&(27)
&&&走出笔记本使用误区&&(6)
&&&走出笔记本购买的误区&&(14)
&&&降频功耗散热&&(11)
音乐天堂&&(526)
&&&歌曲类型&&(437)
&&&&&&Hiphop_R&B_Rock&&(23)
&&&&&&中文歌曲&&(160)
&&&&&&外文歌曲&&(200)
&&&&&&纯音乐&无歌词&&(54)
&&&特定歌手&&(38)
&&&&&&Enigma&&(11)
&&&&&&Linkinpark&&(14)
&&&&&&陈琳&&(13)
&&&音乐下载&&(1)
&&&音乐知识&&(9)
默认分类&&(212)
&&&默认分类&&(3)
2016年五月
1011121415
16171819202122
23242526272829
免费的格式化Javascript源码的网站
查询Unicode字符,且还带Oct,Decimal,Hex,HTML Entity
HTML和Javascript都支持,很好用。Word//PDF文件转换成HTML整理一、使用Jacob转换Word,Excel为HTML &JACOB一个-COM中间件.通过这个组件你可以在Java应用中调用COM组件和Win32 libraries。&首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别不大1、将压缩包解压后,Jacob.jar添加到Libraries中;2、将Jacob.dll放至&\32&下面。需要注意的是: 【使用IDE启动Web时,系统读取不到Jacob.dll,例如用MyEclipse启动,就需要将dll文件copy到MyEclipse安装目录的&jre\&下面。 一般系统没有加载到Jacob.dll文件时,报错信息为:&.lang.UnsatisfiedLinkError: no jacob in .library.path&】 新建类:public class JacobUtil{ public static final int WORD_HTML = 8; public static final int WORD_TXT = 7; public static final int EXCEL_HTML = 44; /**
* WORD转HTML
* @param docfile WORD文件全路径
* @param htmlfile 转换后HTML存放路径
*/ public static void wordToHtml(String docfile, String htmlfile) {
ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(WORD_HTML) }, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
catch (Exception e)
e.printStackTrace();
app.invoke("Quit", new Variant[] {});
* EXCEL转HTML
* @param xlsfile EXCEL文件全路径
* @param htmlfile 转换后HTML存放路径
*/ public static void excelToHtml(String xlsfile, String htmlfile) {
ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 启动word
app.setProperty("Visible", new Variant(false));
Dispatch excels = app.getProperty("Workbooks").toDispatch();
Dispatch excel = Dispatch.invoke(
Dispatch.Method,
new Object[] { xlsfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(EXCEL_HTML) }, new int[1]);
Variant f = new Variant(false);
Dispatch.call(excel, "Close", f);
catch (Exception e)
e.printStackTrace();
app.invoke("Quit", new Variant[] {});
} }}当时我在找转换控件时,发现网易也转载了一偏关于Jacob使用帮助,但其中出现了比较严重的错误:String htmlfile = "C:\\AA";只指定到了一级,正确写法是String htmlfile = "C:\\AA\\xxx.html";到此WORD/EXCEL转换HTML就已经差不多了,相信大家应该很清楚了:)二、使用XPDF将PDF转换为HTML1、下载xpdf最新版本,地址:/xpdf/download.html我下载的是xpdf-3.02pl2-win32.zip2、下载中文支持包我下载的是xpdf-chinese-simplified.tar.gz3、下载pdftohtml支持包地址:http://sourcege.net/projects/pdftohtml/我下载的是:pdftohtml-0.39-win32.tar.gz4、解压调试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]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& +-------很多转换时需要用到的字符文件xpdfrc:此文件是用来声明转换字符集对应路径的文件5) 修改xpdfrc文件(文件原名为sample-xpdfrc)修改文件内容为:#----- begin Chinese Simplified support cidToUnicode
xpdf-chinese-simplified\Adobe-GB1.cidToUnicodeunicodeMap
ISO-2022-CN
xpdf-chinese-simplified\ISO-2022-CN.unicodeMapunicodeMap
xpdf-chinese-simplified\EUC-CN.unicodeMapunicodeMap
xpdf-chinese-simplified\GBK.unicodeMapcMapDir
xpdf-chinese-simplified\CMaptoUnicodeDir
xpdf-chinese-simplified\CMapfontDir
C:\WINDOWS\FontsdisplayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf#----- end Chinese Simplified support package6) 创建bat文件pdftohtml.bat(放置的路径不能包含空格)内容为:@echo offset folderPath=%1set filePath=%2cd /d %folderPath%pdftohtml -enc GBK %filePath%exit7) 创建类public class ConvertPdf{ private static String INPUT_PATH; private static String PROJECT_PATH;
public static void convertToHtml(String file, String project) {
INPUT_PATH =
PROJECT_PATH =
if(checkContentType()==0)
private static int checkContentType() {
String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length())
.toLowerCase();
if (type.equals("pdf"))
return 9; }
private static void toHtml() {
if(new File(INPUT_PATH).isFile())
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");}以上就是整理的内容,后续还会添加视频转换为FLV格式,如果需要的话:)说的不是很详细,碰到问题的可以自己努力解决一下:)
期待。。吧
我一年前用过的,还得装的 没多大用处
好东西,顶。。。。
word里面的公式出来的那些公式不知道有没有呢?
word如果仅仅是提取文本,poi就可以了。如果要保留表格,样式等,还是jacob效果最好。pdf的文本提取还可以用pdfbox,但存在中文字体的问题,有些pdf文档的中文字体pdfbox没有,转出来是乱码,还是xpdf效果最好,可以设置字体的目录,完美解决乱码。
raozhengyong
学习中.....
linleran 写道word如果仅仅是提取文本,poi就可以了。如果要保留表格,样式等,还是jacob效果最好。pdf的文本提取还可以用pdfbox,但存在中文字体的问题,有些pdf文档的中文字体pdfbox没有,转出来是乱码,还是xpdf效果最好,可以设置字体的目录,完美解决乱码。好像7.3以后就没乱码问题了,我用过的。
这种用命令方式转换格式不好自定义。并且,优化,错误控制等也不好弄。一直想用纯java实现一个。
的话,在上面装个windows的来跑吧.不然可能还真没办法
先感谢楼主的总结。我测试了ExcelToHtml和WordToHtml,而ExcelToHtml时出现一个问题,就是当Excel的单元格中显示的内容不全时,转换后,Html中只有Excel单元格显示的部分,而没有没显示的部分,不知道大家有没有遇到这样的问题,是如何解决的?
是会出现这种问题,Jacob只是调用了Office的Sava as方法,具体样式,还是通过Excel中改好了再转换吧
不要用DOC的格式吧& 考虑用用RTF格式
PDF中有数学公式的时候能正常转换吗?
pdftohtml在pdf中字体是宋体或者楷体时候,系统报错:pdftohtml.exe发生错误需要关闭......,而直接用pdftotxt是可以解析的,是不是pdftohtml没有找到中文补丁,是他的bug还是我的有问题呢这导致大部分中文pdf无法解析,附件中是个例子
lanfanghe 写道pdftohtml在pdf中字体是宋体或者楷体时候,系统报错:pdftohtml.exe发生错误需要关闭......,而直接用pdftotxt是可以解析的,是不是pdftohtml没有找到中文补丁,是他的bug还是我的配置有问题呢这导致大部分中文pdf无法解析,附件中是个例子我的确实可以转换的,周一帮你看一下
不错,以后如果有用到这个的时候就可以直接拿来用了
寄生虫 写道lanfanghe 写道pdftohtml在pdf中字体是宋体或者楷体时候,系统报错:pdftohtml.exe发生错误需要关闭......,而直接用pdftotxt是可以解析的,是不是pdftohtml没有找到中文补丁,是他的bug还是我的配置有问题呢这导致大部分中文pdf无法解析,附件中是个例子我的确实可以转换的,周一帮你看一下非常感谢楼主的热心帮忙,我找了其他的一些工具,pdfbox、itext、sun的pdfrenderer,都不如所愿,如愿的又都是一些付费的,比如Ap PDF to HTML,pdf to png等,但是毕竟是付费的,尤其对xpdf中的pdftohtml比较满意,还出现这个问题,郁闷了,呵呵
lanfanghe 写道寄生虫 写道lanfanghe 写道pdftohtml在pdf中字体是宋体或者楷体时候,系统报错:pdftohtml.exe发生错误需要关闭......,而直接用pdftotxt是可以解析的,是不是pdftohtml没有找到中文补丁,是他的bug还是我的配置有问题呢这导致大部分中文pdf无法解析,附件中是个例子我的确实可以转换的,周一帮你看一下非常感谢楼主的热心帮忙,我找了其他的一些工具,pdfbox、itext、sun的pdfrenderer,都不如所愿,如愿的又都是一些付费的,比如Ap PDF to HTML,pdf to png等,但是毕竟是付费的,尤其对xpdf中的pdftohtml比较满意,还出现这个问题,郁闷了,呵呵.bat文件中你的编码格式有没有设置?确定一下PDF是什么编码格式后,再尝试一下。@echo offset folderPath=%1set filePath=%2cd /d %folderPath%\convertPdfpdftohtml -enc GBK %filePath%exit
我直接在cmd中运行pdftohtml,都不通过,以下是我的执行过程当我用pdftotextE:\xpdf&pdftotext -f 1 -l 3 -layout& -enc GBK 森林碳汇市场发展现状及前景展望.pdf ztest.txt生成文件成功,未出现任何异常,txt内容正常然而用pdftohtmlE:\xpdf&pdftohtml -f 1 -l 3 -c -enc GBK 森林碳汇市场发展现状及前景展望.pdf& ztest.html系统提示:pdftohtml.ext遇到问题需要关闭。我们对此引起的不便表示抱歉......目录生成了文件如下:ztest-1.htmlztest.htmlztest_ind.html但是里面仅有一个大框,而且内容为空,而且这个文档有3页面,说明执行了一半就报错了,我更换了UTF-8也一样报错这个文档的字体是:楷体_GB2312&& 宋体,我又测试了一些其他的pdf,发现五个报错,而这五个都是这种字体!所以我怀疑pdftothml存在bug其他字体,测试了大约20个左右,未发现问题。
donglx2004
请问楼主,excelToHtml转xls之后完全是乱码,不知道怎么解决

我要回帖

更多关于 转化糖浆的最终温度 的文章

 

随机推荐