`
xumingming64398966@yahoo.com.cn
  • 浏览: 41116 次
文章分类
社区版块
存档分类

把word文档转化成pdf文档

阅读更多

<o:p></o:p>

最近想写个Java程序来把word文档转换成pdf文档, 虽然最终结果不是很理想, 但是还是想把经验拿出来和大家分享.<o:p></o:p>

先到网上google了一下,  倒是找到一些小技巧:<o:p></o:p>

1.    wps可以直接把word转化成pdf文档.<o:p></o:p>

2.    Adobe有个pdfmaker也可以把一个word文档转化成pdf, 而且安装了pdfmaker就同时也安装了几个dll, 如果用C++的话,那么利用这几个dll可以直接把word转化成pdf.<o:p></o:p>

3.    java里面有个类库:itext, 可以生成pdf.<o:p></o:p>

4.    因为word的格式是不公开的, 所以无法直接用Java去操作word(如果你把一个word文件读出来, 你将得到一堆乱码), 但是COM是可以操作word, 所以利用JavaJNI来操作COM从而可以间接的操作word, 这里就要用一种叫做Java COM Bridge的包来实现JavaCOM的链接, 我了解到的有两种桥:Jacob, JCOM. 两个我都有试过, Jacob有点恶心, 依赖于JRE的版本, 我试了几个版本才在我的机器上跑对一个例子, 可是拿到别人的机器上一跑, 有崩了, 遂放弃. JCOM倒是一试就对, 可是我一想如果要利用他们把word的内容取出来再用itext把内容写进pdf, 感觉太过复杂..<o:p></o:p>

直接从word转化成pdf代价太大!<o:p></o:p>

直接不行间接呢?itext库可以把html转化成pdf, 那只要想办法把word转成html就可以了, 我找了一下,找到两个东西:<o:p></o:p>

1.     WordHTML是一个开源的C++程序, 可以把word转化成html.<o:p></o:p>

2.     我试Jacob的程序就可以把我word转化成html,但是前面说了,在别人的机器上崩了, , 不过还是把程序贴出来:<o:p></o:p>

  

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class WordToHtml{
    
public boolean changeFormat (String FileName){
        
        String FileFormat 
= "";
        FileFormat 
= FileName.substring(FileName.length()-4,FileName.length());
        System.out.println(FileFormat);
        
        
if(FileFormat.equalsIgnoreCase(".doc")){
            String DocFile 
= FileName;
            
            System.out.println(
"word文件路径:"+DocFile);
            
//word文件的完整路径
            
            String HtmlFile 
= DocFile.substring(0, (DocFile.length() - 4)) + ".htm";
            
            System.out.println(
"htm文件路径:"+HtmlFile);
            
//html文件的完整路径
            
            ActiveXComponent app 
= new ActiveXComponent("Word.Application");
            
//启动word
            
            
try
{
                app.setProperty(
"Visible"new Variant(false));
                
//设置word程序非可视化运行
                
                Dispatch docs 
= app.getProperty("Documents").toDispatch();
                
                Dispatch doc 
= Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{DocFile,new Variant(false), new Variant(true)}new int[1]).toDispatch(); 
                
//打开word文件
                
                Dispatch.invoke(doc,
"SaveAs",Dispatch.Method, new Object[]{HtmlFile,new Variant(8)}new int[1]);
                
//作为htm格式保存文件
                
                Dispatch.call(doc, 
"Close",new Variant(false));
                
//关闭文件
                
            }

            
catch (Exception e){
                e.printStackTrace();
            }

            
finally {
                app.invoke(
"Quit"new Variant[] {});
                
//退出word程序
            }

            
//转化完毕
            return true;
        }

        
return false;
    }

    
public static void main(String[] args ) {
        WordToHtml d 
= new WordToHtml();
        d.changeFormat( args[ 
0 ] );
    }

}


 

3.     htmldoc可以把html转化成pdf.<o:p></o:p>

我试了一下利用WordHTML转化成的html可以用htmldoc转化成pdf,但是word中的表格到了pdf中都没了边框, 总算还是可以转的, wordhtml是有源代码的, 可以把它改一下,利用jni来调用, htmldoc可以从命令行调用, 当然有兴趣的人可以用itext来做, 我是在公司找出这个方法的, 回到寝室一试, htmldoc在我的机器上崩了, ..,虽然不怎么成功,但也没觉得沮丧,总算知道了有这么回事,知道用java把word转成pdf不简单,记得老师曾经问一个同学项目做的怎么样了, 该同学说:"我只是经历了一些失败!";

 



分享到:
评论

相关推荐

    word格式文档转化为PDF格式文档

    word格式文档转化为PDF格式文档,非常方便,提供给大家共享

    将多个word文档转化成PDF.zip

    将多个word文档转化成PDF

    VS2015下采用office的API将Word文档转化为PDF文档的实现源码

    在本文中,我们将深入探讨如何在Visual Studio 2015环境下使用Microsoft Office的API将Word文档转换为PDF文档。这个过程涉及到几个关键步骤,包括系统需求、API接口的使用以及C++编程技术。 首先,确保您的计算机上...

    用WPS将Word文档转化成PDF格式.docx

    WPS WORD 转 PDF 格式转换指南 在数字化时代,文档格式的互通性变得越来越重要。...WPS Office 2021 的 PDF 转换功能是一个非常有用的工具,能够快速将 WORD 文档转换为 PDF 格式,提高工作效率和文档安全性。

    word转化为PDF

    在日常工作中,我们经常需要将Word文档转换成PDF格式,反之亦然,因为这两种格式各有优势。Word文档便于编辑和格式调整,而PDF文件则能更好地保持原始布局,并且易于分享和打印。以下是对"word转化为PDF"这一主题的...

    可以将word文件转化为PDF文件

    可以将word文件转化为PDF文件,我用过了,很好用的哦

    用OFFICE 2003把pdf文件转换成可编辑的word文档

    标题中的“用OFFICE 2003把pdf文件转换成可编辑的word文档”指的是使用微软的Office 2003套件中的组件来将不可编辑的PDF文档转换为可编辑的Word文档。这个过程涉及到PDF文件的读取、转换和识别技术,主要依赖于...

    从pdf文件直接转化成word文件的工具

    转换工具的核心功能在于解析PDF文件中的内容,并将其转化为Word文档的结构。这包括文字、图片、表格、链接等元素的提取和重建。e-PDFToWordConverter_2.5可能就是这样一个转换软件,它允许用户将PDF文件转换为.doc或...

    Word2007转化为PDF插件

    总结来说,Word2007转化为PDF插件是微软官方提供的一种便捷工具,它使得用户能够在不丢失格式的情况下轻松将Word文档转换为PDF。通过安装和使用这个插件,可以提高工作效率,确保文档在不同设备和操作系统之间的兼容...

    pdf文件转换成word软件工具转化器

    PDF文件转换成Word软件工具转化器是用于将Adobe PDF格式的文档转换成Microsoft Word文档的实用工具。在日常工作中,这种转换可能出于编辑、分享或兼容性的需求。PDF格式通常用于保留文档的原始布局和设计,但不便于...

    pdf文件转word文档工具免费版

    完全免费,真正的物超所值,摆脱收费束缚,想怎么转就怎么转

    office文档转化为pdf文件 c++代码-office to pdf (包含WORD EXCEL POWPOINT)

    office文档转化为pdf文件 c++代码-office to pdf (包含WORD EXCEL POWPOINT) (office document into a pdf file c ++ code -office to pdf (containing WORD EXCEL POWPOINT))

    实现word文档格式转化成PDF格式功能的源代码

    Word文档与PDF文件的主要区别在于它们的设计目的和用途。Word文档通常用于编写、编辑和共享内容,支持丰富的格式化和布局调整,而PDF文件则更侧重于保持文档的原始外观和打印一致性,防止未经授权的编辑。 实现Word...

    C#中PDF文件转WORD文件(完整版)

    在C#编程环境中,将PDF文件转换为Word文档是一项常见的任务,这可能涉及到文本提取、格式保留以及图像处理等多个方面。下面将详细讲解如何在C#中实现这一过程,包括必要的库、步骤以及可能遇到的问题。 1. **库的...

    pdf-to-word,能将pdf文件转化为word文档

    "pdf-to-word"工具就是为了实现这个目的,它可以将PDF文件转换成DOC或DOCX格式的Word文档,使得用户可以轻松地进行文字编辑、格式调整和内容修改。 PDF到Word的转换涉及到几个关键的技术点: 1. **图像识别**:PDF...

    word excel ppt 转化为pdf

    首先,我们来详细了解一下如何将Word文档转换成PDF。Microsoft Word自身就提供了保存或另存为PDF的功能。用户只需打开Word文档,点击“文件”菜单,选择“导出”或“保存为”,在弹出的对话框中选择PDF格式,然后...

    如何把pdf转成word word转成pdf -史上最好的转化工具.zip

    3. **Microsoft Word**:较新版本的Word(2013及以后)内置了PDF导入功能,可以直接打开PDF文件并保存为Word文档。虽然可能无法完全保留所有格式,但对于简单的文本转换,这是一个方便的选择。 接下来,我们讨论...

    jacob的jar包,把word文档转化为pdf文件

    将jacob-1.18.zip下载解压,在文件夹中找到jacob-1.18-x64.dll,...如果是32位系统 将jacob-1.18-x86.dll 文件复制到下面目录下,如果是64位操作系统 将jacob-1.18-x64.dll C:\Program Files\Java\jdk1.8.0_45\jre\bin

    pfd文件转化成word文件

    下面将详细介绍如何将PDF文件转化为Word文件,并探讨相关工具和注意事项。 首先,PDF转Word的基本方法有两种:在线转换和使用软件转换。在提供的压缩包文件中,包含了一个名为"pdf to word.exe"的程序,这可能是一...

    PDF文档转化word文档

    PDF文档与Word文档之间的转换是日常工作中的常见需求。PDF(Portable Document Format)格式因其稳定性、兼容性和安全性而广泛使用,但有时我们需要编辑内容时,Word文档(.doc或.docx)则更为合适。"Wondershare ...

Global site tag (gtag.js) - Google Analytics