请问只用Java怎样将PDF和RTF文件批量转成TXT文件?
请问各用什么第三方软件包能转PDF和RTF?最好是开源的。
并能给出转换的关键几句sample code。谢谢。

解决方案 »

  1.   

    java 什么将pdf文档转换txt文档就不知道了?但是Adobe是可以直接把pdf文档转换成txt文档
    也有第三方软件可以将照象出来的文本转换可以认识的txt文件,这个软件去年我在高交会上看到过
      

  2.   

    可以用POI. 读取PDF的文件.
     
    但前提是这种pdf文件只能是自己生成的. 不能是通过扫描而成的. 扫描的那种神仙也没办法. 具体可以去 ibm  develperworks参考.. 
      

  3.   

    谢谢各位,我的PDF和RTF文档都是正常的文档,非扫描的那种。请问楼上POI具体怎么读取PDF?我听说itext也能读取PDF。不过我要的不只是读取,而是转换成TXT。
    请问具体调用什么方法可以直接转换成txt。
      

  4.   

    我知道红旗贰仟的redoffice可以保存为pdf格式的,也可以打开txt格式的
      

  5.   

    使用jacob可以,在sourceforge网站上下,但是貌似国内屏蔽这个网站了。
    http://mirror.optus.net/sourceforge/j/ja/jacob-project/
    这个是镜像网站可以下,建议楼主下最新版本的,这个对版本要求比较严格,你可以在它的文档里查看具体信息。
    代码例子这里有个word转html的,我以前用过的,如果需要pdf转txt只需要改几个参数就可以了。package cn.qducomputer.flame;import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;public class WordUtil {
    /**
     * 文档转换函数
     * 
     * @param docfile
     *            word文档的绝对路径加文件名(包含扩展名)
     * @param htmlfile
     *            转换后的html文件绝对路径和文件名(不含扩展名)
     */
    public static void wordToHtml(String docfile, String htmlfile) { ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
    try {
    app.setProperty("Visible", new Variant(false));
    // 设置word不可见
    Dispatch doc1 = app.getProperty("Documents").toDispatch();
    Dispatch doc2 = Dispatch.invoke(
    doc1,
    "Open",
    Dispatch.Method,
    new Object[] { docfile, new Variant(false),
    new Variant(true) }, 
    new int[1]).toDispatch();
    // 打开word文件
    Dispatch.invoke(doc2, "SaveAs", Dispatch.Method, new Object[] {
    htmlfile, new Variant(8) }, new int[1]);
    // 作为html格式保存到临时文件
    Variant f = new Variant(false);
    Dispatch.call(doc2, "Close", f);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    app.invoke("Quit", new Variant[] {});
    }
    }}
      

  6.   


    谢谢,不过由于程序要放到unix machine上以纯命令行方式运行,unix机器上也没有MS Word,也不能装MS Word。所以jacob的方式估计不能使用。继续求一个只用纯Java的方案。
      

  7.   

    你这个是pdf转化什么?是转word还是htm,我想知道误码率有多高?因为我直接通过pdf转word就有些误码
      

  8.   

    iReport 这个东东可以做报表 而且有很多格式 ,,PDF等都能做,,,你可以用他来解析 然后生成新格式
      

  9.   

    我终于搞定了RTF转TXT的问题。
    用了一个JDK的内部类:javax.swing.text.rtf.RTFEditorKit public String getText(InputStream in) throws IOException,
    BadLocationException {
    RTFEditorKit kit = new RTFEditorKit();
    Document doc = kit.createDefaultDocument();
    kit.read(in, doc, 0);
    return doc.getText(0, doc.getLength());
    }继续求PDF转TXT方案。
      

  10.   

    可以用POI. 读取PDF的文件. 但前提是这种pdf文件只能是自己生成的. 不能是通过扫描而成的. 扫描的那种神仙也没办法. 
      

  11.   

    我有用报表birt(eclipse插件)转换文件类型的程序。思路就是先把数据从文件中读出来,然后放进报表中生成新的类型的文件。代码太多了,就不贴了
      

  12.   

    jacobPJX支持读取,组合,处理,和生成PDF文档(注意:PJX需要 J2SE 1.4.0 或更高版本)。 
      

  13.   

    可以用POI. 读取PDF的文件. 
      

  14.   

    请问有转换成功吗,我这段时间也做这个,而且头疼的是pdf里面的内容有太多的化学式,都带下标,这个要怎么解决?