docx命令运行Java_使用Java将DOC文件转换为DOCX

7 个答案:

答案 0 :(得分:3)

// Open a document.

Document doc = new Document("input.doc");

// Save document.

doc.save("output.docx");

请查看这在您的方案中是否有帮助。

披露:我在Aspose担任开发人员传播者。

答案 1 :(得分:2)

或者使用它:

XWPFDocument docx = new XWPFDocument(OPCPackage.openOrCreate(new File("hello.docx")));

XWPFWordExtractor wx = new XWPFWordExtractor(docx);

String text = wx.getText();

System.out.println("text = "+text);

答案 2 :(得分:2)

查看JODConverter以查看是否符合条款。我没有亲自使用它。

答案 3 :(得分:0)

将jodconverter-core-3.0-beta-4-sources.jar文件添加到项目lib

//1) Create OfficeManger Object

OfficeManager officeManager = new DefaultOfficeManagerConfiguration()

.setOfficeHome(new File("/opt/libreoffice4.4"))

.buildOfficeManager();

officeManager.start();

// 2) Create JODConverter converter

OfficeDocumentConverter converter = new OfficeDocumentConverter(

officeManager);

// 3)Create DocumentFormat for docx

DocumentFormat docx = converter.getFormatRegistry().getFormatByExtension("docx");

docx.setStoreProperties(DocumentFamily.TEXT,

Collections.singletonMap("FilterName", "MS Word 2007 XML"));

//4)Call convert funtion in converter object

converter.convert(new File("doc/AdvancedTable.doc"), new File(

"docx/AdvancedTable.docx"), docx);

答案 4 :(得分:0)

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.OutputStream;

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Paragraph;

import com.lowagie.text.pdf.PdfWriter;

import org.apache.poi.hwpf.HWPFDocument;

import org.apache.poi.hwpf.extractor.WordExtractor;

import org.apache.poi.hwpf.usermodel.Range;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class TestCon {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

POIFSFileSystem fs = null;

Document document = new Document();

try {

System.out.println("Starting the test");

fs = new POIFSFileSystem(new FileInputStream("C:/Users/312845/Desktop/a.doc"));

HWPFDocument doc = new HWPFDocument(fs);

WordExtractor we = new WordExtractor(doc);

OutputStream file = new FileOutputStream(new File("C:/Users/312845/Desktop/test.docx"));

System.out.println("Document testing completed");

} catch (Exception e) {

System.out.println("Exception during test");

e.printStackTrace();

} finally {

// close the document

document.close();

}

}

}

答案 5 :(得分:0)

JODConvertor通过网络协议调用OpenOffice / LibreOffice。因此,它可以“在OpenOffice中执行任何操作”。这包括转换格式。但它只能像您运行的任何OpenOffice版本一样出色。我的一个文档中有一些艺术,并没有像我希望的那样转换它们。

根据谷歌代码网站v3,

不再支持JODConvertor。

要让JOD完成这项工作,你需要做一些像这样的事情

private static void transformBinaryWordDocToDocX(File in, File out)

{

OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);

DocumentFormat docx = converter.getFormatRegistry().getFormatByExtension("docx");

docx.setStoreProperties(DocumentFamily.TEXT,

Collections.singletonMap("FilterName", "MS Word 2007 XML"));

converter.convert(in, out, docx);

}

private static void transformBinaryWordDocToW2003Xml(File in, File out)

{

OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);;

DocumentFormat w2003xml = new DocumentFormat("Microsoft Word 2003 XML", "xml", "text/xml");

w2003xml.setInputFamily(DocumentFamily.TEXT);

w2003xml.setStoreProperties(DocumentFamily.TEXT, Collections.singletonMap("FilterName", "MS Word 2003 XML"));

converter.convert(in, out, w2003xml);

}

private static OfficeManager officeManager;

@BeforeClass

public static void setupStatic() throws IOException {

/*officeManager = new DefaultOfficeManagerConfiguration()

.setOfficeHome("C:/Program Files/LibreOffice 3.6")

.buildOfficeManager();

*/

officeManager = new ExternalOfficeManagerConfiguration().setConnectOnStart(true).setPortNumber(8100).buildOfficeManager();

officeManager.start();

}

@AfterClass

public static void shutdownStatic() throws IOException {

officeManager.stop();

}

要实现这一点,你需要将LibreOffice作为网络服务器运行(我无法让JODConvertor的'按需运行'部分在具有LO 3.6的Windows下工作)

答案 6 :(得分:0)

使用罐子jodconverter-core-4.2.2.jar和jodconverter-local-4.2.2.jar的较新版本

String inputFile = "*.doc";

String outputFile = "*.docx";

LocalOfficeManager localOfficeManager = LocalOfficeManager.builder()

.install()

.officeHome(getDefaultOfficeHome()) //your path to openoffice

.build();

try {

localOfficeManager.start();

final DocumentFormat format

= DocumentFormat.builder()

.from(DefaultDocumentFormatRegistry.DOCX)

.build();

LocalConverter

.make()

.convert(new FileInputStream(new File(inputFile)))

.as(DefaultDocumentFormatRegistry.getFormatByMediaType("application/msword"))

.to(new File(outputFile))

.as(format)

.execute();

} catch (OfficeException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

} catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

} finally {

OfficeUtils.stopQuietly(localOfficeManager);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[c#基础]使用抽象工厂实现三层

引言 昨天加了一天班,今天闲来无事,就在想如何将之前的三层和最近一直在学的设计模式给联系在一起,然后就动手弄了个下面的小demo。 项目结构 项目各个层实现 Wolfy.Model层中有一个抽象类BaseModel.cs,User.cs是用户实体类&#…

php 当前ip_php获取本机ip(远程IP地址)

例子,php获取用户IP地址。复制代码 代码示例:// 111111111111echo $_SERVER[REMOTE_ADDR];// 2222222222222function get_local_ip() {$preg "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25…

场效应管原理_场效应管——不就是一个电控开关?

管在mpn中,它的长相和我们常面讲的三极管非常像,所以有不少修朋友好长时间还分不清楚,统一的把这些长相相同的三极管、场效应管、双二极管、还有各种稳压IC统统称作“三个脚的管管”,呵呵,如果这样麻木不分的话&#x…

解决phpMyAdmin在nginx+php-fpm模式下无法使用的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dgd2010.blog.51cto.com/1539422/1684839 昨天接到一个网友的问题,说yum安装nginxphp-fpmmysqlphpMyAdmin后,发现…

python库有什么用_Python程序员必知什么 常用的Python库有哪些

Python程序员必知什么?常用的Python库有哪些?Python有很多丰富而强大的库,这是它成为人工智能与数据分析领域强者的关键。有很多Python开发人员想知道常用的Python库有哪些,接下来就给大家详细介绍一下。ArrowPython中处理时间的库…

三次握手面试题java_java面试题三次握手和四次挥手-嗨客网

题目对 tcp 了解吗?讲讲它的三次握手和四次挥手?为什么需要三次握手,为什么需要四次挥手。答案三次握手第一次握手:客户端向服务器发送连接请求,这个时候报文首部中的同步为 SYN 1,同时生成一个随机序列号…

运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行脚本的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dgd2010.blog.51cto.com/1539422/1676490 运维经验分享作为一个专题,目前共7篇文章 《运维经验分享(一&#xff0…

一个jsp能取到父类jsp的值吗_「Javaweb」ssm整合权限控制框架shiro,你知道怎么做吗?...

为美好而努力——羊羽科技说。最近在开发自己的网站,需要权限控制功能,在网上找了一下,找到了我接下来要介绍的shiro框架。shiro框架是Apache公司维护的开源产品之一,其官网对其的简介是这样的:shiro官网简介翻译过来就…

php for嵌套循环_PHP中的for循环怎样嵌套

本篇文章主要介绍 PHP中的for循环怎样嵌套,感兴趣的朋友参考下,希望对大家有所帮助。for循环的执行原理:for循环的参数有(初始值;判断条件;更新循环变量表达式) 三者均不是必须的,若三者不完整则必须在适当…

Visio显示不完整

下面显示不完整的话,选中对象,菜单栏设置(点击对象,右键并没有段落选项)行距为单倍;右侧显示不完整,选中后右键设置环绕方式为负于文字上方,原来是嵌入型。

python2 python3 通信_python与USB通信

Date周三 04 十一月 2015TagsUSB/PythonPyUSB依赖于一些USB的驱动程序, 这个貌似叫做无驱驱动, 其中libusb是一统天下者, 当然就要用这个咯. 那么问题来了, libusb这个驱动是怎么装到要开发的设备上呢? 在windows下答案是Zadig, 这个和rtlsdr用的方案是一致的.下载了最新的Zad…

php设置用户头像,PHP针对多用户实现更换头像功能

一个网站,其实说白了就是某几个特定功能的组合,而更换用户头像就在这些功能之中。今天就来做个测试,针对不同的用户,实现头像上传功能。先给大家展示下成品效果图:思路针对不同的用户上传头像,我们要为每一…

执行计划中cpu耗时_面试被问怎么排查遇到的系统CPU飙高和频繁GC,到底该怎么回答?...

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排…

可视化数据包分析工具-CapAnalysis

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenguang.blog.51cto.com/350944/1325742 可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流…

网易云歌单添加到php,给自己的网站添加网易云音乐歌单吧^ ^

这个是怎么实现的?一起来看看吧APlayer首先我们需要一个音频播放器,这里我用到了APlayer,这是由bilibili前端大神DIYgod开源的播放器,有兴趣的可以去TA的主页看看,非常惊艳,这里我就不多说了我们看一下APla…

python学完面向对象之后_Python学完基础语法后,再往后应该学什么?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼第一阶段:Python语言及应用课程内容:Python语言基础,面向对象设计,多线程编程,数据库交互技术,前端特效,Web框架,爬虫框架,…

百度应用部署秘籍

2019独角兽企业重金招聘Python工程师标准>>> 【背景介绍】 传统PaaS采用sandbox实现app间的资源安全隔离,sandbox需要对运行环境和编程语言进行底层的功能限制,例如:禁止创建进程和线程,禁止部分系统调用,禁…

php新闻删除功能设计,php原生开发新闻站之删除新闻

我们前两篇文章都完成了新闻的添加、修改。那么我们这个节课程就给大家介绍删除新闻,这个比之前的两个都要简单点!首先创建一个new_delete.php,接着我们要在新闻列表页找到删除的按钮,给这个按钮加一个连接,我们同样需要通过id来传…

java8新特性_JAVA8十大新特性详解

一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sq…

spark1.6.1 on yarn搭建部署

注:本文是建立在hadoop已经搭建完成的基础上进行的。 Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度,任务的提交、执行和跟踪,节点间的通信以及数据并行处理的内在底层操作都进…