项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下:

一、使用Jacob转换Word,Excel为HTML

“JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。”

首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别不大

1、将压缩包解压后,Jacob.jar添加到Libraries中;

2、将Jacob.dll放至“WINDOWS\SYSTEM32”下面。

需要注意的是:

【使用IDE启动Web服务器时,系统读取不到Jacob.dll,例如用MyEclipse启动Tomcat,就需要将dll文件copy到MyEclipse安装目录的“jre\bin”下面。

一般系统没有加载到Jacob.dll文件时,报错信息为:“java.lang.UnsatisfiedLinkError: no jacob in java.library.path”】

新建类:

1

public

class

JacobUtil

2

{3public staticfinalintWORD_HTML=8;45public staticfinalintWORD_TXT =7;67public staticfinalintEXCEL_HTML=44;89

/** *//**10     * WORD转HTML11     *@paramdocfile WORD文件全路径12     *@paramhtmlfile 转换后HTML存放路径13*/14public staticvoidwordToHtml(String docfile, String htmlfile)15

{16        ActiveXComponent app=newActiveXComponent("Word.Application");//启动word 17try18

{19            app.setProperty("Visible",newVariant(false));20            Dispatch docs=app.getProperty("Documents").toDispatch();21            Dispatch doc=Dispatch.invoke(22                    docs,23"Open",24                    Dispatch.Method,25

newObject[] { docfile,newVariant(false),26newVariant(true) },newint[1]).toDispatch();27

            Dispatch.invoke(doc,"SaveAs", Dispatch.Method,newObject[] {28                    htmlfile,newVariant(WORD_HTML) },newint[1]);29            Variant f=newVariant(false);30            Dispatch.call(doc,"Close", f);31        }32catch(Exception e)33

{34            e.printStackTrace();35        }36finally37

{38

            app.invoke("Quit",newVariant[]{});39        }40    }4142

/** *//**43     * EXCEL转HTML44     *@paramxlsfile EXCEL文件全路径45     *@paramhtmlfile 转换后HTML存放路径46*/47public staticvoidexcelToHtml(String xlsfile, String htmlfile)48

{49        ActiveXComponent app=newActiveXComponent("Excel.Application");//启动word 50try51

{52            app.setProperty("Visible",newVariant(false));53            Dispatch excels=app.getProperty("Workbooks").toDispatch();54            Dispatch excel=Dispatch.invoke(55                    excels,56"Open",57                    Dispatch.Method,58

newObject[] { xlsfile,newVariant(false),59newVariant(true) },newint[1]).toDispatch();60

            Dispatch.invoke(excel,"SaveAs", Dispatch.Method,newObject[] {61                    htmlfile,newVariant(EXCEL_HTML) },newint[1]);62            Variant f=newVariant(false);63            Dispatch.call(excel,"Close", f);64        }65catch(Exception e)66

{67            e.printStackTrace();68        }69finally70

{71

            app.invoke("Quit",newVariant[]{});72        }73    }7475}

76

当时我在找转换控件时,发现网易也转载了一偏关于Jacob使用帮助,但其中出现了比较严重的错误:String htmlfile = "C:\\AA";

只指定到了文件夹一级,正确写法是String htmlfile = "C:\\AA\\xxx.html";

到此WORD/EXCEL转换HTML就已经差不多了,相信大家应该很清楚了:)

二、使用XPDF将PDF转换为HTML

2、下载中文支持包

3、下载pdftohtml支持包

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]

|

|

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

xpdfrc:此文件是用来声明转换字符集对应路径的文件

5) 修改xpdfrc文件(文件原名为sample-xpdfrc)

修改文件内容为: Txt代码

#

-----

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(放置的路径不能包含空格)

内容为: Txt代码

@echo off

set folderPath

=%

1

set filePath

=%

2

cd

/

d

%

folderPath

%

pdftohtml

-

enc GBK

%

filePath

%

exit 7) 创建类

JAVA代码

public

class

ConvertPdf

{

private staticString INPUT_PATH;

private staticString PROJECT_PATH;

public staticvoidconvertToHtml(String file, String project)

{

        INPUT_PATH=file;

        PROJECT_PATH=project;

if(checkContentType()==0)

{

            toHtml();

        }    }

private staticintcheckContentType()

{

        String type=INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".")+1, INPUT_PATH.length())

                .toLowerCase();

if(type.equals("pdf"))

return 0;

elsereturn 9;

    }

private staticvoidtoHtml()

{

if(newFile(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();

            }        }    }

}

java xpdf 转换成html_java将Word/Excel/PDF文件转换成HTML整理相关推荐

  1. java word转成表格_java将Word/Excel/PDF文件转换成HTML整理

    项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下: 一.使用Jacob转换Word,Excel为HTML "JACOB一个Java-COM中间件. ...

  2. xml文件转换成图片_如何把pdf文件转换成图片?

    pdf文件怎么转成JPG图片呢?相信有不少人在迷惑,可能还在想着截图等操作来完成转换,但如果是截图成JPG图片后的效果可能很差,并没有之前pdf文件那么清楚.那这样往往打印出来的效果也不怎么理想,那怎 ...

  3. Web方式预览Office/Word/Excel/pdf文件解决方案

    Web方式预览Office/Word/Excel/pdf文件解决方案 参考文章: (1)Web方式预览Office/Word/Excel/pdf文件解决方案 (2)https://www.cnblog ...

  4. 在线查看word,excel,pdf文件解决

    眼看着项目要结束,提出新的需求(-_-!!习惯成自然了)需要支持在线查看word,excel,pdf文件,网页中嵌套word的时候,不让word文档占据整个网页,页面内还要有审批等功能,第一感觉想到控 ...

  5. JAVA如何实现将用户上传的PDF文件转换成图片并返回给用户

    很多曾经攻克过的难题都没有及时记录并分享,觉得有些可惜.趁着现在还单身,头还没秃,精力也还算旺盛,我便整理出一些自己曾经挑灯夜战.独立实现的还算有些成就感的项目需求,记录在个人博客上,希望能给拥有相同 ...

  6. vue 在线访问word,excel,pdf 文件以及打印

    git 项目代码 一.pdf 1. vue-pdf 安装 npm i --save vue-pdf 语法 在组件种使用import pdf from 'vue-pdf'pdf.createLoadin ...

  7. h5页面如何预览excel文件_移动端页面,如何解析预览 word/excel/PDF文件?

    展开全部 利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加 ...

  8. PDF文件转换成excel工作表

    PDF文件想要转换成excel格式的工作表文件,需要用到PDF转换器,我们以奥凯丰 PDF转换大师为例,将PDF文件转换成excel文件. [PDF转换大师]转为word_excel_ppt_txt_ ...

  9. mactxt文件如何转换成html,最佳的用于Mac上的PDF文件转换到HTML文件的转换器

    您是否正在寻找一种在Mac上将PDF文件转换为HTML文件的方法?您经常因为这个情况感到苦恼吗?有许多在线服务和桌面应用程序都可以帮助您将PDF文件转换为HTML文件.市面上有几款不同的PDF转换软件 ...

最新文章

  1. 迅为4418/6818开发板实现最小Linux系统自动挂载SD/TF卡/U盘等存储设备
  2. Note6:batch file programming
  3. 问题 1437: [蓝桥杯][历届试题]城市建设(最小生成树)
  4. 使用LayoutParams设置布局
  5. php7.0开发手册手机版_PHP7.0版本备注
  6. Linux学习-YUM 在线升级机制
  7. Android BottomNavigationBar底部导航控制器的使用(包含默认postion的设置)
  8. iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客
  9. AES、DES加解密方法(Java和JS编程)
  10. lucene-SpanQuery跨度查询基础
  11. 经典神经网络 -- FPN : 设计原理与pytorch实现
  12. 谷歌眼镜设计规范之度量和网格
  13. Elasticsearch多种方案数据迁移
  14. 计算机辅助档案管理文字说明,计算机辅助档案管理
  15. word顶部有一道线_word文档上方总有一条线怎样去掉?
  16. c语言 release函数报错,91-100
  17. Warmup 模型训练之标配
  18. 生成好看的海底地形图
  19. 2.3 从外部置入图片 [Ps教程]
  20. 深入理解Linux网络技术内幕学习笔记第十九章:因特网协议第四版(IPv4):Linux的原理和功能

热门文章

  1. 对话Satya Nadella:大规模AI模型、人机界面或将迎来大突破
  2. 一文读懂云计算和PAYG“现付现用”模型
  3. AI 崛起,科学家的天下,程序员的谢幕
  4. Docker CE/EE 原生支持Kubernetes
  5. 用python怎么样实现图像二值化_使用Python+OpenCV如何实现图像二值化
  6. 工业互联网标识解析企业节点_丰尚公司获批建设国家工业互联网标识解析二级节点...
  7. 无限级分类限定层级_王者荣耀:s20战令该不该买?战令限定星元皮肤实测真香...
  8. java 1m_Java编程测试1M内存可用来缓存多少对象
  9. android 高度上分权重,Android LinearLayout weight权重使用
  10. flowable 开源项目