`
robinrain
  • 浏览: 60669 次
  • 性别: Icon_minigender_1
  • 来自: 威海
社区版块
存档分类
最新评论

word文件转换PDF,支持DOC DOCX

 
阅读更多
package com.snpit.sncms.system.encryption.word;

import java.io.File;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.*;

/**
 * word文件转换PDF,支持DOC DOCX
 * @author congqinglin@sdepci.com
 */
public class DocToPdf {

	static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。
	static final int wdFormatPDF = 17;// PDF 格式

//	public static void main(String[] args) {
//		//example
//		String filename = "d:/sncms/2013/10/16/1381889147205.docx";
//		
//		DocToPdf d2p = new DocToPdf();
//        d2p.convertToPDF(filename);
//	}
	
	/**
	 * 转换word文件到文件所在位置,支持DOC DOCX
	 * @param docFilePath word文件的路径
	 */
	public void convertToPDF(String docFilePath){
		//输入路径
		String filename = docFilePath;
		//输出路径
		String spPath[]=docFilePath.split("\\.");
		StringBuffer sb= new StringBuffer();
		sb.append(spPath[0]);
		sb.append(".pdf");
		String toFilename=sb.toString();
		//转换
		convertFile(filename,toFilename);
	}
	
	/**
	 * 转换word文件 并转换到一个新的位置,支持DOC DOCX
	 * @param docFilePath word文件的路径
	 * @param pdfFilePath 转换成的pdf文件的路径
	 */
	public void convertToPDFWithNewPath(String docFilePath,String pdfFilePath){
		//输入路径
		String filename = docFilePath;
		//输出路径
		String toFilename=pdfFilePath;
		//转换
		convertFile(filename,toFilename);
	}
	
	
	
	/**
	 * 转换主体
	 * @param filename
	 * @param toFilename
	 */
	private void convertFile(String filename,String toFilename){
		System.out.println("启动Word转换PDF...");
		long start = System.currentTimeMillis();
		ActiveXComponent app = null;
		try {
			app = new ActiveXComponent("Word.Application");
			app.setProperty("Visible", false);
			
			Dispatch docs = app.getProperty("Documents").toDispatch();
			System.out.println("打开文档..." + filename);
			Dispatch doc = Dispatch.call(docs,//
					"Open", //
					filename,// FileName
					false,// ConfirmConversions
					true // ReadOnly
			).toDispatch();
			
			System.out.println("转换文档到PDF..." + toFilename);
			File tofile = new File(toFilename);
			if (tofile.exists()) {
				tofile.delete();
			}
			Dispatch.call(doc,//
					"SaveAs", //
					toFilename, // FileName
					wdFormatPDF);
			
			Dispatch.call(doc, "Close", false);
			long end = System.currentTimeMillis();
			System.out.println("转换完成..用时:" + (end - start) + "ms.");
		} catch (Exception e) {
			System.out.println("========Error:文档转换失败:" + e.getMessage());
		} finally {
			if (app != null)
				app.invoke("Quit", wdDoNotSaveChanges);
		}
	}
}

 

分享到:
评论

相关推荐

    word转pdf 支持docx doc

    在IT行业中,转换文档格式是一项常见的任务,尤其在办公环境中,Word文档(.doc或.docx)和PDF(Portable Document Format)文件之间的转换是必不可少的。本文将详细讲解如何使用OpenOffice将Word文档转换为PDF格式...

    简单讲word文档Docx转换为Doc格式

    然而,某些旧版的Word软件或者用户可能不支持Docx格式,这时就需要将其转换为Doc格式,后者是Word 97-2003广泛使用的文件格式。 转换方法有很多种,其中一种是使用专门的文件转换工具。在这种情况下,我们看到...

    Word转换成PDF转换器 v3.0.exe

    它支持Word 2010 (Docx转换成PDF), Word 2007 (Docx转换成PDF), Word 2003 (Doc转换成PDF), Word 2000 (Doc转换成PDF)和Word 97(Doc转换成PDF)的文件格式到PDF,它还包括的文件格式如, RTF,文本文件和图像格式PDF...

    使用acrobat创建PDF时,不支持docx、doc等Microsoft Office文件时的解决方法.docx

    - 对于.docx文件:注册表项应为HKEY_CLASSES_ROOT\.docx\Word.Document.xx,这里的"xx"代表Office的内部版本号,例如对于Microsoft Word 2010,应该是HKEY_CLASSES_ROOT\.docx\Word.Document.12 - 类似地,对于....

    java word(doc,docx,rtf)转为pdf

    - **读取Word文档**:使用Apache POI的HSSFWorkbook或XWPFDocument类读取.doc或.docx文件,HWPFDocument用于处理RTF文件。 - **解析内容**:从Word文档中提取文本、段落样式、图片等信息。 - **创建PDF**:使用iText...

    利用docx4j实现docx转pdf

    4. **执行转换**:然后,使用`Docx4J`提供的方法将Word文档转换为PDF。 ```java OutputStream os = new FileOutputStream("path_to_output_pdf.pdf"); PdfWriterHelper.write(wordMLPackage, os); os.close(); ``` ...

    Word文档转换为PDF(不需要OFFICE)

    // 将Word转换为PDF pdfDoc.ImportFromWord(wordDoc, ImportFormatOption.PreserveLayout); // 保存PDF pdfDoc.SaveToFile("Target PDF.pdf", FileFormat.PDF); ``` 这个例子展示了如何利用.NET框架和第三方库在...

    用C#.NET实现生成PDF文档和将WORD转换为PDF

    总结来说,用C#.NET实现生成PDF文档和将WORD转换为PDF涉及到对PDF结构的理解、使用合适的库进行编程、处理WORD文档的复杂格式以及异常处理。此外,OCR技术在文档转换过程中的应用也是提高效率的关键环节。通过掌握...

    java+poi+word转pdf的简单demo,执行转换main方法不会抛异常

    在Java开发中,有时我们需要将Word文档转换为PDF格式,以满足不同的应用场景需求。Apache POI是一个流行的Java库,用于处理Microsoft Office格式的文件,包括Word(.doc/.docx)。在本示例中,我们将深入探讨如何...

    PDF文件转换成DOC文档.rar

    PDF文件转换成DOC文档是一个常见的需求,特别是在办公环境中,用户可能需要编辑PDF中的文本或将其内容整合到Word文档中。这个压缩包文件“PDF文件转换成DOC文档.rar”显然是一个工具,专门用于解决这个问题。下面将...

    winform c# pdf文件转换doc文件和 png 图片格式 PDF转word 和图片

    采用C#开发语言,借助第三方Aspose.Pdf.dll及Spire.Pdf.dll 对pdf文件进行处理,可以把pdf文件转换成doc 或者docx png等格式,通过代码大家可以进行自己重新开发,核心代码已经编写完成,下载后可以直接运行进行pdf...

    word文档转换为PDF格式文件

    本主题聚焦于“word文档转换为PDF格式文件”,这是一个关键的知识点,涉及到Microsoft Word和Adobe PDF这两种广泛使用的文件格式。 Word(.doc或.docx)是Microsoft Office套件中的文字处理软件,它提供了丰富的...

    批量WORD转PDF转换器

    由于软件抛弃了传统虚拟打印生成PDF的方法,而采用直接分析WORD文件并转换到PDF的技术,因此批量Word转PDF转换器在保证了转换PDF质量的同时,它的转换速度极快,可以达到1分钟转几十个文件。 支持转成PDF的格式:...

    PyPI 官网下载 | pdf2docx-0.4.1.tar.gz

    2. **分页处理**:考虑到PDF的分页特性,`pdf2docx`可能具备了识别和保留原分页的转换能力,确保转换后的Docx文件在阅读体验上接近PDF。 3. **文本和图像提取**:库可能能准确地提取PDF中的文本和图像,避免在转换...

    uniapp H5 pdf、docx文档预览

    - 使用本地转换库:如`docx2html`或`docx4js`,这些库可以将DOCX文件转换为HTML,然后在uniapp中渲染。然而,这种方式需要在服务器端进行转换,因为H5环境不支持读取本地文件系统。 以`docx4js`为例,你需要先将...

    word完美转PDF,可以批量转换,支持.doc和.docx

    总而言之,将Word转换为PDF是一种常用的操作,无论是为了格式的一致性、分享的便利还是安全性考虑。通过选择合适的工具和方法,可以实现高效且高质量的转换,同时批量转换功能则极大地提升了工作效率。

    docx2pdf.zip

    在IT行业中,转换文档格式是一项常见的任务,尤其是将Microsoft Word的docx格式转换为更通用的PDF格式。本文将深入探讨四种不同的Java库,它们都可用于实现这一转换:Apache POI、docx4j、Aspose.Words以及Spire.Doc...

    centos安装LibreOffice实现word转换PDF操作

    LibreOffice是一款免费且开源的办公软件套件,它提供了类似Microsoft Office的功能,包括文档编辑、表格处理、演示制作等,并且支持文件格式转换,如将Word文档转换为PDF。 LibreOffice包含一个名为Writer的应用...

    如何将PDF转换成word文档完美转换.docx

    然而,在实际工作中,我们常常需要将PDF文件转换为可编辑的Word文档(.doc或.docx)。这一需求催生了一系列专门用于PDF与Word之间相互转换的工具。本文将详细介绍一种高效实用的方法——使用迅捷PDF转换成Word转换器...

    免费pdf转换成word转换器pdf转换成word转换器

    此外,一些高级工具可能还支持选择性转换,用户可以选择只转换PDF中的特定页面或页面范围。 在安全方面,用户应确保选择信誉良好的转换器,因为这些工具可能需要上传文件到服务器进行转换。这意味着你的文件可能会...

Global site tag (gtag.js) - Google Analytics