搜档网
当前位置:搜档网 › Java程序把Word文档直接转换成Html文件

Java程序把Word文档直接转换成Html文件

Java程序把Word文档直接转换成Html文件
Java程序把Word文档直接转换成Html文件

Java程序把Word文档直接转换成Html文件

Jacob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。如果你的JDK是1.4,那你需要下载Jacob1.9的jni库才能正常运行,早期版本在JDK1.4下有些问题。

学习Java to Html

JavaToHtml 为了方便在blog中粘贴源代码,特意找了这方面的工具(本来琢磨自己写,可惜能力有限,再次受打击了~~~) JavaToHtml开源,Eclipse Plugin 大家都知道读源代码很累,读乱七八糟的源代码那就想吐了,所以格式化源代码还是很有必要的,不信看看下面的例子。 格式化后的漂亮效果: import java.util.Vector; public class Stack { private Vector content; public Stack() { content = new Vector(); } public void push(T t) { content.add(t); } public T peek() { if (content.size() == 0) { return null; } return content.get(content.size() - 1); } public T pop() { if (content.size() == 0) { return null; } return content.remove(content.size() - 1); } public int size() { return content.size(); } public String toString() { return content.toString();

} } 下面是原版的: import java.util.Vector; public class Stack { private Vector content; public Stack() { content = new Vector(); } public void push(T t) { content.add(t); } public T peek() { if (content.size() == 0) { return null; } return content.get(content.size() - 1); } public T pop() { if (content.size() == 0) { return null; } return content.remove(content.size() - 1); } public int size() { return content.size(); } public String toString() { return content.toString(); } } 更有甚者: package com.calculator.base;import java.util.Vector;public class Stack{ private Vectorcontent;public Stack(){content=new Vector();}public void push(T t){content.add(t);}public T peek(){if(content.size()==0){return null;} return content.get(content.size()-1);}public T pop(){if(content.size()==0){

将图片转成base64字符串并在JSP页面显示的Java代码

*本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方式和BASE64加密字符串方式展示图片. 首先看工具类: import ; import ; import ; import ; import ; import ; import ; import ; import ; /** * @author IluckySi 1

* @since */ public class ImageUtil { private static BASE64Encoder encoder = new ; private static BASE64Decoder decoder = new ; /** * 将图片转换为BASE64加密字符串. * @param imagePath 图片路径. * @param format 图片格式. * @return */ public String convertImageToByte(String imagePath, String format) { File file = new File(imagePath); BufferedImage bi = null; ByteArrayOutputStream baos = null; String result = null;

try { bi = ImageIO.read(file); baos = new ByteArrayOutputStream(); ImageIO.write(bi, format == null ? "jpg" : format, baos); byte[] bytes = baos.toByteArray(); result = encoder.encodeBuffer(bytes).trim(); "将图片转换为BASE64加密字符串成功!"); } catch (IOException e) { "将图片转换为BASE64加密字符串失败: " + e); } finally { try { if(baos != null) { baos.close(); baos = null; } } catch (Exception e) { "关闭文件流发生异常: " + e); } 3

word域代码转换html丢失解决办法

. Word转html存在域代码丢失。 Aspose ,jacob,poi都无法解决 在使用jocob转换成html时域代码会被包裹 可以统一提取出来转换成latex ,latex转换成图片,解决word域代码丢失问题 private void processFormula(List nodes) throws UnsupportedEncodingException{ for(int i = nodes.size()-1;i>=0;i--){ Node node =nodes.get(i); if(node instanceof Element){ Element e = (Element)node; processFormula(e.childNodes()); }else if(node instanceof Comment){ String commentText = node.toString(); if(commentText.contains(" & 空格 --->   < ---> < > ---> > " ---> " 此外,根据源码的特点,可以把 TAB 转为4个空格来显示。 TAB --->      为了显示为换行,需要在行尾加
标签。 为了显示美观,对关键字加粗显示,即在关键字左右加标签。比如: public 对单行注释文本用绿色显示,可以使用标签,形如: //这是我的单行注释! 注意:如果“//”出现在字符串中,则注意区分,不要错误地变为绿色。 不考虑多行注释的问题(/* .... */ 或 /** .... */) 你的任务是:编写程序,把给定的源文件转化为相应的html表达。 【输入、输出格式要求】 与你的程序同一目录下,存有源文件 a.txt,其中存有标准的java源文件。

要求编写程序把它转化为b.html。 例如:目前的 a.txt 文件与 b.html 文件就是对应的。可以用记事本打开b.html查看转换后的内容。用浏览器打开b.html则可以看到显示的效果。 注意:实际评测的时候使用的a.txt与示例是不同的。 【注意】 请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分! 请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。 相关的工程文件不要拷入。 请不要使用package语句。 源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。 a.txt // 我的工具类 public class MyTool { public static void main(String[] args) { int a = 100; int b = 20; if(a>b && true) System.out.println(a); else System.out.println("this! //aaa//kkk"); // 测试注释显示是否正确 } } 代码 package com; import java.io.BufferedReader; import java.io.BufferedWriter;

java表达式转换代码

https://www.sodocs.net/doc/771648261.html,/itedu/200707/126842_3.html 一、表达式的组成 1、数字 2、运算符:+ - / * ^ % = 3、圆括号 4、变量 二、运算符优先级 由高到低分别为:+-(正负号)、^、*/%、+-、= 优先级相等的运算符按照从左到右的顺序计算 三、关键技术点 1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。 2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在计算整个表达式的主方法中,只需要调用最低级别的运算的实现方法即可。 3、确定表达式中的分隔符,(+、-、*、/、%、^、=、(、)、)。利用这些分隔符将表达式分成多段,每一段叫做一个token,分隔符也算token。 4、用长度为26的int数组vars存储变量的值。 5、Character的isWhitespace方法判断字符是否为空白符,用于去掉表达式中的空白符。 6、Character的isLetter方法判断字符是否为字母,用于提取表达式中的变量 7、Character的isDigit方法判断字符是否为数字,用于获取表达式中的数字 四、演示实例 /** *//** * 文件名ExpressionParser.java */ package book.oo.String; /** *//** * 表达式解析器 * @author joe * */

public class ExpressionParser ...{ //4种标记类型 public static final int NONE_TOKEN = 0; //标记为空或者结束符 public static final int DELIMITER_TOKEN = 1; //标记为分隔符 public static final int VARIABLE_TOKEN = 2; //标记为变量 public static final int NUMBER_TOKEN = 3; //标记为数字 //4种错误类型 public static final int SYNTAX_ERROR = 0; //语法错误   public static final int UNBALPARENS_ERROR = 1; //括号没有结束错误 public static final int NOEXP_ERROR = 2; //表达式为空错误 public static final int DIVBYZERO_ERROR = 3; //被0除错误 //针对4种错误类型定义的4个错误提示 public static final String[] ERROR_MESSAGES = ...{"Syntax Error", "Unbalanced " + "Parentheses", "No Expression Present", "Division by Zero"}; //表达式的结束标记 public static final String EOE = ""\0"; private String exp; //表达式字符串 private int expIndex; //解析器当前指针在表达式中的位置 private String token; //解析器当前处理的标记 private int tokenType; //解析器当前处理的标记类型 private double[] vars = new double[26]; //变量数组 /** * */ public ExpressionParser() { } /** * 解析一个表达式,返回表达式的值 */ public double evaluate(String expStr) throws Exception { double result; this.exp = expStr; this.expIndex = 0; //获取第一个标记 this.getToken(); if (this.token.equals(EOE)) { //没有表达式异常

Java 转PDF为Word、图片、html、XPS、SVG、PDFA

Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A 本文将介绍通过Java编程来实现PDF文档转换的方法。包括: PDF转为Word PDF转为图片 PDF转为Html PDF转为SVG 将PDF每一页转为单个的SVG 将一个包含多页的PDF文档转为一个SVG PDF转为XPS PDF转为PDF/A 使用工具:Free Spire.PDF for Java(免费版) Jar文件获取及导入: 方法1:通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入Java程序。 方法2:可通过maven仓库安装导入。参考导入方法。 Java代码示例 【示例1】PDF 转Word PdfDocument pdf = new PdfDocument("test.pdf"); pdf.saveToFile("ToWord.docx",FileFormat.DOCX); 【示例2】PDF转图片 支持的图片格式包括Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF等。这里以保存为Png格式为例。 import com.spire.pdf.*; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class PDFtoimage { public static void main(String[] args) throws IOException { PdfDocument pdf = new PdfDocument("test.pdf");

java html内容生成word文件实现代码

java html内容生成word文件实现代码 https://www.sodocs.net/doc/771648261.html, 编辑:kepeer 来源:转载 处理HTML标签我用的是Jsoup组件,生成word文档这方面我用的是Jacob组件。 有兴趣的朋友可以去Google搜索一下这两个组件。大致思路如下: 先利用jsoup将得到的html代码“标准化”(Jsoup.parse(String html))方法,然后利用FileWiter 将此html内容写到本地的template.doc文件中,此时如果文章中包含图片的话,template.doc 就会依赖你的本地图片文件路径,如果你将图片更改一个名称或者将路径更改,再打开这个template.doc,图片就会显示不出来(出现一个叉叉)。为了解决此问题,利用jsoup组件循环遍历html文档的内容,将img元素替换成${image_自增值}的标识,取出img元素中的src 此时你的html内容会变成如下格式:(举个示例) 代码如下复制代码 测试消息1 ${image_1}

测试消息2 ${image_2} 测试消息3 保存到本地文件以后,利用MSOfficeGeneratorUtils类(工具类详见下面,基于开源组件Jacob)打开你保存的这个template.doc,调用replaceText2Image,将上面代码的图片标识替换为图片,这样就消除了本地图片路径的问题。然后再调用copy方法,复制整篇文档,关闭template.doc

Java将Excel转为图片、html、XPS、XML、CSV

Java 将Excel转为图片、html、XPS、XML、CSV 通过文档格式转换,可满足不同办公场合对文档操作的需求。本文将介绍转换Excel文档为其他常见文档格式的方法。通过文中的方法,可支持将Excel转换为包括PDF、图片、html、XPS、XML、CSV、PCL、ODS、PostScript、以及Office Excel不同版本,如,version97-2003,version2007,version2010,version2013,version2016等在内的不同文档格式。本文以转换其中的几种文档格式为例介绍具体转换方法。 使用工具:Free Spire.XLS for Java (免费版) Jar文件下载及导入: 方法1:可通过官网下载jar文件包。下载后,解压文件,将lib文件夹下的Spire.Xls.jar导入Java程序。如下图: 方法2:可通过maven仓库导入。 Java代码示例(供参考) import com.spire.xls.*; public class ExcelToImg { public static void main(String[] args) { //加载Excel工作表 Workbook wb = new Workbook(); wb.loadFromFile("test.xlsx"); //获取工作表

Worksheet sheet = wb.getWorksheets().get(0); //调用方法将Excel工作表保存为图片 sheet.saveToImage("ToImg.png"); //调用方法,将指定Excel单元格数据范围保存为图片 //sheet.saveToImage("ToImg2.png",8,1,30,7); //调用方法将Excel保存为HTML sheet.saveToHtml("ToHtml.html"); //调用方法将Excel保存为XPS sheet.saveToFile("ToXPS.xps", String.valueOf(FileFormat.XPS)); //调用方法将Excel保存为CSV sheet.saveToFile("ToCSV.csv", String.valueOf(FileFormat.CSV)); //调用方法将Excel保存为XML sheet.saveToFile("ToXML.xml", String.valueOf(FileFormat.XML)); //调用方法将Excel保存为PostScript sheet.saveToFile("ToPostScript.postscript", String.valueOf(FileFormat.PostScript)); //调用方法将Excel保存为PCL sheet.saveToFile("ToPCL.pcl", String.valueOf(FileFormat.PCL)); } } 文档转换结果:

用Java编写HTML文件分析程序

用Java编写HTML文件分析程序 一、概述 Web服务器的核心是对HTML文件中的各标记(Tag)作出正确的分析,一种编程语言的解 释程序也是对源文件中的保留字进行分析再做解释的。实际应用中,我们也常常会遇到需要 对某一特定类型文件进行关键字分析的情况,比如,需要将某个HTML文件下载并同时下载与 之相关的.gif、.class等文件,此时就要求对HTML文件中的标记进行分离,找出所需的文件 名及目录。在Java出现以前,类似工作需要对文件中的每个字符进行分析,从中找出所需 部分,不仅编程量大,且易出错。笔者在近期的项目中利用Java的输入流类StreamTokenizer 进行HTML文件的分析,效果较好。在此,我们要实现从已知的Web页面下载HTML文件,对 其进行分析后,下载该页面中包含的HTML文件(如果在Frame中)、图像文件和 Class(Java Applet)文件。 二、StreamTokenizer类 StreamTokenizer即令牌化输入流的作用是将一个输入流变成令牌流。令牌流中的令牌 实体有三类:单词(即多字符令牌)、单字符令牌和空白(包括Java和C/C++中的说明语句)。 StreamTokenizer类的构造器为: StreamTokenizer(InputStream in) 该类有一些公有实例变量:ttype、sval和nval ,分别表示令牌类型、当前字符串值和当 前数字值。当我们需要取得令牌(即HTML中的标记)之间的字符时,应访问变量sval,而读向 下一个令牌的方法是调用nextToken()。方法nextToken()的返回值是int型,共有四种可能的返回: StreamTokenizer.TT_NUMBER: 表示读到的令牌是数字,数字的值是double型,可以从实 例变量nval中读取。 StreamTokenizer.TT_WORD: 表示读到的令牌是非数字的单词(其他字符也在其中), 单词可以从实例变量sval中读取。 StreamTokenizer.TT_EOL: 表示读到的令牌是行结束符。 如果已读到流的尽头,则nextToken()返回TT_EOF。 开始调用nextToken()之前,要设置输入流的语法表,以便使分析器辨识不同的字符。WhitespaceChars(int low, int hi)方法定义没有意义的字符的范围。 WordChars(int low, int hi)方法定义构造单词的字符范围。 三、程序实现 1.HtmlTokenizer类的实现 对某个令牌流进行分析之前,首先应对该令牌流的语法表进行设置,在本例中,即是让 程序分出哪个单词是HTML的标记。下面给出针对我们需要的HTML标记的令牌流类定义,quote: 它是StreamTokenizer的子类:

源代码转html课程设计报告

华南农业大学 课程论文 ( 设计 ) 课程名称面向对象程序设计 论文题目源代码自动转换程序 指导老师肖磊 所在学院信息学院 专业年级2007级计算机科学与技术(2)班提交日期2008年11月20日

华南农业大学计算机科学与技术 《面向对象程序设计》课程设计评分表 题目源代码自动转换程序 专业班级2012级计算机科学与技术(2)班提交日期2014-05-18 小组成员学号姓名工作量% 成绩 (指导老师填写)组长201230740209 何志豪50% 组员201230740224 叶炜杰30% 组员201230740219 孙常鹏20% 小组评分表 评分项目分数1.实现情况(15):完成课程设计要求的情况 2.系统分析(10):对系统的理解及分析的深入程度。 3.系统设计(20):总体设计、具体设计、数据结构设计等。 4.程序设计(30):面向对象程序设计方法与编程工具掌握水 平。 5.界面设计(15):界面美观程度、操作方式友好程度等。 6.论文撰写(10):论文撰写的规范性、合理性等等。 小组总成绩: 教师签名日期

一、系统分析 1.1问题描述 在写Blog的时候,常常需要粘贴Java及其它源代码,但是从IDE中复制过去的源码 为纯文本格式的。IDE中的高亮语法语法全部丢失,贴出去全成黑白的了。看起来很难看,也不易于阅读。源程序代码是纯文本文件,本课程设计的目标是编写一个应用程序可以将源程序文件转换为HTML的网页文件。 1.2系统功能分析 1.能够处理的源程序包括:Java源程序(扩展名.java)、C源程序(扩展名.h和.c)。鼓励能处理其他源程序代码。 2.提供一个基于Java Swing实现的GUI界面,类似Windows的资源管理器。在该界面中选择一个或多个源程序文件进行转换。 3.转换时要求按语法分色。因此需要该对转换进行设置,如:目标文件名、字体、关键字颜色等。 4.得到的HTML文件,用浏览器查看如下图所示。另外要求每行有行号。 开发平台及工具介绍:

Java HTML直接导出PDF

Java HTML直接导出PDF Java HTML直接导出PDF 对于java中如何从html中直接导出pdf,有很多的开源代码,这里个人用itext转。 首先需要的包有:core-renderer-1.0.jar core-renderer-R8pre1.jar core-renderer.jar iText-2.0.8.jar jtidy-4aug2000r7-dev.jar Tidy.jar iTextAsian.jar java代码的话就比较简单了。具体是先用Tidy将html转换为xhtml,将xhtml转换为其它各种格式的。虽然在转化到pdf时也是用的iText。代码如下: Java代码//struts1.x中 Java代码else if("Html2Pdf".equalsIgnoreCase(action)){ exportPdfF ile("http://localhost:8080/jsp/test.jsp"); return null; } // 导出pdf add by huangt 2012.6.1 public File exportPdfFile(String urlStr) throws BaseException { // String outputFile = this.fileRoot + "/" +

// ServiceConstants.DIR_PUBINFO_EXPORT + "/" + getFileName() + ".pdf"; String outputFile = "d:/test3.pdf"; OutputStream os; try { os = new FileOutputStream(outputFile); ITextRenderer renderer = new ITextRenderer(); String str = getHtmlFile(urlStr); renderer.setDocumentFromString(str); ITextFontResolver fontResolver = renderer.getFontResolver(); fontResolver.addFont("C:/WINDOWS/Fonts/SimSun.ttc",B aseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);// 宋体字 fontResolver.addFont("C:/WINDOWS/Fonts/Arial.ttf",Base Font.IDENTITY_H, BaseFont.NOT_EMBEDDED);// 宋体字https://www.sodocs.net/doc/771648261.html,yout(); renderer.createPDF(os); System.out.println("转换成功!"); os.flush(); os.close(); return new File(outputFile); } catch (FileNotFoundException e) { // logger.error("不存在文件!" + e.getMessage()); throw new BaseException(e); } catch (DocumentException

使用java将word文档转化为html格式

Microsoft Word文档到HTML文档的转化(环境配置) 在该部分的转化中,使用了JACOB Project(A Java-COM Bridge)一种Java到com的连接桥来操作基于com模型的Microsoft word文档。使用Jocob基本上可以完全操作word文档,在该例中主要使用了JACOB来操作word文档另存为HTML文档。 首先在https://www.sodocs.net/doc/771648261.html,/JACOB/下载JACOB开源包,目前该开源项目已经移至https://www.sodocs.net/doc/771648261.html,[17]。本系统使用的是JACOB_1.9,下载解压后的JACOB_1.9目录下主要有以下三个文件:Java doc描述文件、JACOB.dll、JACOB.jar。填加JACOB.dll到系统//windows//system32//目录下或者安装Java的bin目录下;在eclipse环境下填加JACOB.jar 到自己的Java库中,填加方法是在包资源管理器下点击鼠标右键选择构建路径//配置构建路径//Java构建路径//库//添加外部jar 然后在弹出窗口中选择外部jar路径,也就是JACOB.jar的所在的文件夹。 做好以上的环境配置工作后,就可以正确使用JACOB来操作Microsoft word文档了。在该例中,主要使用了JACOB来操作word另存为HTML文件。核心操作代码见下文。 使用java将word文档转化为html格式(续) 2008-07-06 23:13 Microsoft Word文档到HTML文档的转化(实现代码) import com.jacob.activeX.*; import https://www.sodocs.net/doc/771648261.html,.*; import Java.io.File; public class WordToHtml { public static void convertDocToHtml(String inputFile, String outputFile) { boolean flag = false; // 打开Word应用程序 ActiveXComponent app = new ActiveXComponent("Word.Application"); try { //设置word不可见 app.setProperty("Visible", new Variant(false)); // 打开word文件

java编码转换的详细过程

java编码转换的详细过程 常见的JAVA程序包括以下类别: *直接在console上运行的类(包括可视化界面的类) *JSP代码类(注:JSP是Servlets类的变型) *Servelets类 *EJB类 *其它不可以直接运行的支持类 这些类文件中,都有可能含有中文字符串,并且常用前三类JAVA程序和用户直接交互,用于输出和输入字符,如:在JSP和Servlet中得到客户端送来的字符,这些字符也包括中文字符。无论这些JAVA类的作用如何,这些JAVA程序的生命周期都是这样的: *编程人员在一定的操作系统上选择一个合适的编辑软件来实现源程序代码并以.java扩展名保存在操作系统中,例如我们在中文win2k 中用记事本编辑一个java源程序; *编程人员用JDK中的javac.exe来编译这些源代码,形成.class类(JSP 文件是由容器调用JDK来编译的);

*直接运行这些类或将这些类布署到WEB容器中去运行,并输出结果。那么,在这些过程中,JDK和JVM是如何将这些文件如何编码和解码并运行的呢? 这里,以中文win2k操作系统为例说明JAVA类是如何来编码和被解 码的。 第一步,我们在中文win2k中用编辑软件如记事本编写一个Java源程序文件(包括以上五类JAVA程序),程序文件在保存时默认采用了操作系统默认支持GBK编码格式(操作系统默认支持的格式为 file.encoding格式)形成了一个.java文件,也即,java程序在被编译前,我们的JAVA源程序文件是采用操作系统默认支持的file.encoding 编码格式保存的,java源程序中含有中文信息字符和英文程序代码;要查看系统的file.encoding参数,可以用以下代码: public class ShowSystemDefaultEncoding { public static void main(String[] args) { String encoding = System.getProperty("file.encoding"); System.out.println(encoding); }} 第二步,我们用JDK的javac.exe文件编译我们的Java源程序,由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指