精华内容
下载资源
问答
  • Java 读取PDF文件

    2019-07-04 16:11:49
    使用Java 读取PDF,利用JFrame和JPanel做成一个窗口,把读取的PDF文本显示到界面
  • java 读取PDF文件

    千次阅读 2018-06-13 09:58:57
    请问如何读取线,形状属性目前pdfbox itext 都试过 貌似 都不行啊。网上也low了一下 帖子 根本就没发现此类 问题。

    请问如何读取线,形状属性

    目前pdfbox  itext 都试过  貌似 都不行啊。网上也low了一下  帖子  根本就没发现此类 问题。


    展开全文
  • JAVA 读取pdf文件

    2015-04-21 12:26:00
    PdfExport pdf = new PdfExport(); String id=request.getParameter("id"); pdf.make(request,response,id); return null; } } 进行输出方法 /* * author syspro wuhan zhangrui 2010/8/20 */ ...

     

    第一个路口action 

    /*
     * wuhan syspro author zhangrui 2010/08/23
    */
    package jp.co.syspro.poo.action;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class PrintPdfAction extends Action{
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    	HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
    		PdfExport pdf = new PdfExport();
    		String id=request.getParameter("id");
    		pdf.make(request,response,id);
    		return null;
    		}
    }
    

    进行输出方法

    /*
     * author syspro wuhan zhangrui 2010/8/20
    */
    package jp.co.syspro.poo.action;
    
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import com.lowagie.text.pdf.PdfPageEventHelper;
    import com.lowagie.text.pdf.BaseFont;   
    import com.lowagie.text.pdf.PdfTemplate;   
    import jp.co.syspro.poo.dao.System3Dao;
    
    public class PdfExport extends PdfPageEventHelper {
    	
    	    public PdfTemplate tpl;
    	    
    	    public BaseFont bf;
    	    
    	    public void make(HttpServletRequest request, HttpServletResponse response,String id) throws Exception{  
    	    	ArrayList f_file2=System3Dao.getInstance().getFile(id);
    	    	InputStream f_file=(InputStream)f_file2.get(0);
    	    	Integer f_size=Integer.parseInt(f_file2.get(1).toString());
    	    	response.reset();
    			response.setContentType("application/pdf");
    			OutputStream output = response.getOutputStream();
    			InputStream fis = f_file;
    			byte[] b = new byte[f_size];
    			int i = 0;
    			while ((i = fis.read(b)) > 0) {
    				output.write(b, 0, i);
    			}
    			output.flush();
    	    } 
    }
    

     

    转载于:https://www.cnblogs.com/sunxun/p/4444035.html

    展开全文
  • JAVA读取PDF文件

    2010-02-03 22:27:00
    java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。一.安装xpdf 在fc系列下,不用安装,可以直接yum,但是...

    在java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。
    一.安装xpdf

           在fc系列下,不用安装,可以直接yum,但是笔者建议还是下载安装的好,因为笔者曾经碰到过这样的问题,客户服务器上的xpdf是yum安装的,有一些特殊的pdf文件就无法预览,但是将yum安装的xpdf卸载,然后下载xpdf安装程序,再重新安装后,就可以了。
    1.下载
    ok,我们需要下载的xpdf安装包主要有三个:

    主程序:ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.01pl2-linux.tar.gz
    简体中文支持:ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz
    繁体中文支持:ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-traditional.tar.gz

    2.安装部署
    (1)进入下载目录,将主程序解压至/usr,也可以是其他地方,根据个人情况而定。
    #tar zvfx xpdf-3.01pl2-linux.tar.gz -C /usr
    #cd usr然后将其重命名,这样看起来简单点
    mv xpdf-3.01pl2-linux/ xpdf(2)建立中文支持。回到下载目录,依次执行:
    #tar zvfx xpdf-chinese-simplified.tar.gz -C /usr/xpdf
    #mv  /usr/xpdf/xpdf-chinese-simplified /usr/xpdf/chinese-simplified
    #tar zvfx xpdf-chinese-traditional.tar.gz -C /usr/xpdf
    #mv  /usr/xpdf/xpdf-chinese-traditional /usr/xpdf/chinese-traditional(3)配置环境
    #vi /etc/bashrc增加如下内容
    export PATH=/usr/xpdf/:$PATH
    确保重启机器后,在控制台输入xpdf不会提示找不到命令或文件即可。
    (4)资源配置
    #cd /usr/xpdf
    #cp sample-xpdfrc xpdfrc
    #vi xpdfrc*在文件开始处增加如下内容(将/usr/xpdf替换为xpdf的实际路径)*
    #----- begin Chinese Simplified support package (2004-jul-27)
    cidToUnicode Adobe-GB1 "/usr/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode"
    unicodeMap         ISO-2022-CN "/usr/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap"
    unicodeMap         EUC-CN "/usr/xpdf/chinese-simplified/EUC-CN.unicodeMap"
    unicodeMap         GBK "/usr/xpdf/chinese-simplified/GBK.unicodeMap"
    cMapDir Adobe-GB1 "/usr/xpdf/chinese-simplified/CMap"
    toUnicodeDir "/usr/xpdf/chinese-simplified/CMap"
    #displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf
    #----- end Chinese Simplified support package
    #----- begin Chinese Traditional support package (2004-jul-27)
    cidToUnicode Adobe-CNS1 "/usr/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode"
    unicodeMap Big5 "/usr/xpdf/chinese-traditional/Big5.unicodeMap"
    unicodeMap Big5ascii "/usr/xpdf/chinese-traditional/Big5ascii.unicodeMap"
    cMapDir Adobe-CNS1 "/usr/xpdf/chinese-traditional/CMap"
    toUnicodeDir "/usr/xpdf/chinese-traditional/CMap"
    #displayCIDFontTT Adobe-CNS1 /usr/..../bkai00mp.ttf
    #----- end Chinese Traditional support package然后再执行:
    #cp xpdfrc /usr/local/etc/好了,到这里我们也就安装完成了。下面介绍如何利用xpdf读取pdf文件的内容

    二.利用xpdf读取pdf文件的内容

    方法很简单,利用著名的Runtime.getRuntime()即可,如下:     /** *//**
         * @param filePath  pdf文件路径
         * @return
         */
        public String getPdfContent(String filePath)...{
            String excute="pdftotext";

            String[] cmd=new String[]...{excute, "-enc", "UTF-8", "-q", filePath,"-"};
            Process p=null;
            try ...{
                p=Runtime.getRuntime().exec(cmd);
            } catch (IOException e) ...{
                e.printStackTrace();
            }

            BufferedInputStream bis=new BufferedInputStream(p.getInputStream());

            InputStreamReader reader=null;

            try ...{
                reader=new InputStreamReader(bis,"UTF-8");
            } catch (UnsupportedEncodingException e1) ...{
                e1.printStackTrace();
            }

            StringBuffer sb=new StringBuffer();

            try ...{
                BufferedReader br = new BufferedReader(reader);
                String line = br.readLine();           
                sb = new StringBuffer();
                while (line != null) ...{
                    sb.append(line);
                    sb.append(" ");
                    line = br.readLine();
                }
            } catch (Exception e) ...{
                e.printStackTrace();
            }
           
            return sb.toString();
        }
     

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tropica/archive/2007/12/17/1943071.aspx

    展开全文
  • java读取pdf文件

    2013-05-23 22:55:41
    1、使用PDFBox处理PDF文档 ...PDF文件格式将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。如果要抽取其中的文本信息,需要根据它的文件格式来进行解析。幸好目前已经有不少工具

    1、使用PDFBox处理PDF文档

    PDF全称Portable Document Format,是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,可以在Windows、Unix或Mac OS等操作系统上通用。

    PDF文件格式将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。如果要抽取其中的文本信息,需要根据它的文件格式来进行解析。幸好目前已经有不少工具能帮助我们做这些事情。

    2、PDFBox的下载

    最常见的一种PDF文本抽取工具就是PDFBox了,访问网址http://sourceforge.net/projects/pdfbox/,进入如图7-1所示的下载界面。读者可以在该网页下载其最新的版本。本书采用的是PDFBox-0.7.3版本。PDFBox是一个开源的Java PDF库,这个库允许你访问PDF文件的各项信息。在接下来的例子中,将演示如何使用PDFBox提供的API,从一个PDF文件中提取出文本信息。

    3、在Eclipse中配置

    以下是在Eclipse中创建工程,并建立解析PDF文件的工具类的过程。

    (1)在Eclipse的workspace中创建一个普通的Java工程:ch7。

    (2)把下载的PDFBox-0.7.3.zip解压。

    (3)进入external目录下,可以看到,这里包括了PDFBox所有用到的外部包。复制下面的Jar包到工程ch7的lib目录下(如还未建立lib目录,则先创建一个)。

    l bcmail-jdk14-132.jar

    l bcprov-jdk14-132.jar

    l checkstyle-all-4.2.jar

    l FontBox-0.1.0-dev.jar

    l lucene-core-2.0.0.jar

    然后再从PDFBox的lib目录下,复制PDFBox-0.7.3.jar到工程的lib目录下。

    (4)在工程上单击右键,在弹出的快捷菜单中选择“Build Path->Config Build Path->Add Jars”命令,把工程lib目录下面的包都加入工程的Build Path。

    4、使用PDFBox解析PDF内容

    在刚刚创建的Eclipse工程中,创建一个ch7.pdfbox包,并创建一个PdfboxTest类。该类包含一个getText方法,用于从一个PDF中获取文本信息,其代码如下。

    import java.io.BufferedWriter;
    import java.io.FileInputStream;
    import java.io.FileWriter;

    import org.pdfbox.pdfparser.PDFParser;
    import org.pdfbox.util.PDFTextStripper;


    public class PdfParser {

       /**
       * @param args
       */
       // TODO 自动生成方法存根

           public   static   void   main(String[]   args)   throws   Exception{
                FileInputStream   fis   =   new   FileInputStream("F:\\task\\lerman-atem2001.pdf");
                BufferedWriter writer = new BufferedWriter(new FileWriter("F:\\task\\pdf_change.txt"));
                PDFParser   p   =   new   PDFParser(fis);
                p.parse();        
                PDFTextStripper   ts   =   new   PDFTextStripper();        
                String   s   =   ts.getText(p.getPDDocument());
                writer.write(s);
                System.out.println(s);
                fis.close();
                writer.close();
             
       }
    }
    下面是自己按照书上的例子写的代码。
    复制代码
      1package TestPDF.pdfbox;
      2
      3import java.io.File;
      4import java.io.FileOutputStream;
      5import java.io.IOException;
      6import java.io.OutputStreamWriter;
      7import java.io.Writer;
      8import java.net.URL;
      9
     10import org.apache.lucene.analysis.standard.StandardAnalyzer;
     11import org.apache.lucene.document.Document;
     12import org.apache.lucene.index.IndexWriter;
     13import org.apache.lucene.index.Term;
     14import org.apache.lucene.search.IndexSearcher;
     15import org.apache.lucene.search.PhraseQuery;
     16import org.apache.lucene.search.Query;
     17import org.apache.lucene.search.ScoreDoc;
     18import org.apache.lucene.search.TermQuery;
     19import org.apache.lucene.search.TopDocCollector;
     20import org.apache.lucene.search.TopDocs;
     21import org.pdfbox.pdmodel.PDDocument;
     22import org.pdfbox.searchengine.lucene.LucenePDFDocument;
     23import org.pdfbox.util.PDFTextStripper;
     24
     25public class Test {
     26
     27    public void getText(String file) throws Exception{
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
    finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
            
     84    }

     85    
     86    /** *//**
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */

     90    public void LuceneTest() throws IOException{
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
     26
     27    public void getText(String file) throws Exception{
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
    finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
            
     84    }
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }            
     57            }catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     63            }
     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
     77            if(output != null){
     78                output.close();                
     79            }
     78                output.close();                
     79            }
     80            if(document != null){
     81                document.close();
     82            }
     81                document.close();
     82            }
     83        }        
     84    }
     85    
     86    /** *//**
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */
     90    public void LuceneTest() throws IOException{
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
     26
     27    public void getText(String file) throws Exception{
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
    finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
            
     84    }
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }            
     57            }catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     63            }
     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
     77            if(output != null){
     78                output.close();                
     79            }
     78                output.close();                
     79            }
     80            if(document != null){
     81                document.close();
     82            }
     81                document.close();
     82            }
     83        }        
     84    }
     28        //是否排序
     29        boolean sort = false;
     30        //pdf文件名
     31        String pdfFile = file;
     32        //输入文本文件名称
     33        String textFile = null;
     34        //编码方式
     35        String encoding = "UTF-8";
     36        //开始提取页数
     37        int startPage = 1;
     38        //结束提取页数
     39        int endPage = Integer.MAX_VALUE;
     40        //文件输入流,输入文本文件
     41        Writer output = null
     42        //内存中存储的PDF Document
     43        PDDocument document = null;
     44        
     45        try{
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
    catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }

     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }            
     57            }catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     63            }
     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }
     46            try{
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
                
     57            }
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }            
     57            }
     47                //首先当作一个URL来加载文件,如果得到异常再从本地系统装载文件
     48                URL url = new URL(pdfFile);
     49                document = PDDocument.load(url);
     50                String fileName = url.getFile();
     51            
     52                if(fileName.length() > 4){
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }
     53                    //以原来pdf名称来命名新产生的txt文件
     54                    File outputFile = new File(fileName.substring(0, fileName.length()-4) + ".txt");
     55                    textFile = outputFile.getName();
     56                }            
     57            }catch(Exception e){
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }

     63            }
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     63            }
     58                //如果作为URL装载得到异常则从文件系统装载
     59                document = PDDocument.load(pdfFile);
     60                if(pdfFile.length() > 4){
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     61                    textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt";
     62                }
     63            }
     64            //文件输出流,写入文件到textFile
     65            output = new OutputStreamWriter(new FileOutputStream(textFile),encoding);
     66            //PDFTextStripper来提取文本
     67            PDFTextStripper stripper = new PDFTextStripper();
     68            //设置是否排序
     69            stripper.setSortByPosition(sort);
     70            //设置起始页
     71            stripper.setStartPage(startPage);
     72            //设置结束页
     73            stripper.setEndPage(endPage);
     74            //调用PDFTextStripper的writeText提取并输出文本
     75            stripper.writeText(document, output);
     76        }finally{
     77            if(output != null){
     78                output.close();                
     79            }

     80            if(document != null){
     81                document.close();
     82            }

     83        }
     77            if(output != null){
     78                output.close();                
     79            }
     78                output.close();                
     79            }
     80            if(document != null){
     81                document.close();
     82            }
     81                document.close();
     82            }
     83        }
     77            if(output != null){
     78                output.close();                
     79            }
     78                output.close();                
     79            }
     78                output.close();                
     79            }
     80            if(document != null){
     81                document.close();
     82            }
     81                document.close();
     82            }
     81                document.close();
     82            }
     83        }        
     84    }
     85    
     86    /** *//**
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */
     87     * test Lucene with pdfbox
     88     * @throws IOException
     89     */
     90    public void LuceneTest() throws IOException{
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
     91        
     92        String path = "D:\\index";
     93        String pdfpath = "D:\\index\\Lucene.Net基本用法.pdf";
     94        
     95        IndexWriter writer = new IndexWriter(path, new StandardAnalyzer(),true);
     96        //writer.setMaxFieldLength(10240);
     97        //LucenePDFDocument返回由PDF产生的Lucene Document
     98        Document d = LucenePDFDocument.getDocument(new File(pdfpath));
     99        //System.out.println(d);
    100        //写入索引
    101        writer.addDocument(d);
    102        writer.close();
    103        
    104        //读取d:\index下的索引文件,建立IndexSearcher
    105        IndexSearcher searcher = new IndexSearcher(path);
    106        //对索引的contents Field进行关键字Query的查找
    107        Term t = new Term("contents","优");
    108        Term m = new Term("contents","化");
    109        PhraseQuery q = new PhraseQuery();
    110        q.add(t);
    111        q.add(m);
    112        //Query q = new TermQuery(t);
    113        TopDocCollector co = new TopDocCollector(10);
    114        searcher.search(q,co);
    115        
    116        Document document;
    117        TopDocs docs = co.topDocs();
    118        ScoreDoc[] doc = docs.scoreDocs;
    119        //System.out.println(doc.length);
    120        
    121        for(int i=0;i<doc.length;i++){
    122            System.out.println("文档编号:" + doc[i].doc);
    123            //document = searcher.doc(doc[i].doc);
    124        }
    122            System.out.println("文档编号:" + doc[i].doc);
    123            //document = searcher.doc(doc[i].doc);
    124        }
    122            System.out.println("文档编号:" + doc[i].doc);
    123            //document = searcher.doc(doc[i].doc);
    124        }
    125    }
    126    /** *//**
    127     * @param args
    128     */
    127     * @param args
    128     */
    127     * @param args
    128     */
    129    public static void main(String[] args) {
    130        // TODO Auto-generated method stub
    131        Test test = new Test();
    132        try{
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }
    catch(Exception e){
    136            e.printStackTrace();
    137        }

    130        // TODO Auto-generated method stub
    131        Test test = new Test();
    132        try{
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }catch(Exception e){
    136            e.printStackTrace();
    137        }
    136            e.printStackTrace();
    137        }
    130        // TODO Auto-generated method stub
    131        Test test = new Test();
    132        try{
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }
    133            //test.getText("D:\\index\\Lucene.Net基本用法.pdf");
    134            test.LuceneTest();
    135        }catch(Exception e){
    136            e.printStackTrace();
    137        }
    136            e.printStackTrace();
    137        }
    136            e.printStackTrace();
    137        }
    138    }
    139}
    140

    展开全文
  • java读取pdf文件属性

    2012-08-08 11:35:35
    java读取pdf文件作者、标题等属性
  • java 读取PDF文件中的内容

    热门讨论 2010-06-21 08:54:37
    java 读取PDF文件中的内容 java 读取PDF文件中的内容
  • 强悍的java读取PDF文件

    2011-12-14 14:54:17
    java读取PDF文件的内容,可以读取多种格式的PDF文件,
  • Java简单的读取pdf文件中的数据:第二步:写个简单的读取pdf文件的程序。(PdfReader.java)import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import...
  • ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { PdfExport pdf = new PdfExport(); String id=request.getParameter("id"); pdf.make(request,response,id); ...
  • Java读取PDF文件中字符串 方法:PDFBox 1、加入依赖 <!-- https://mvnrepository.com/artifact/pdfbox/pdfbox --> <dependency> <groupId>pdfbox</groupId> <artifactId>pdfbox...
  • 引入所需maven依赖org.icepdf.osicepdf-core6.2.2javax.mediajai_coreJAVA代码工具类packagecom.util;importcom.lowagie.text.pdf.PdfReader;importlombok.extern.slf4j.Slf4j;importorg.icepdf.core.pobjects....
  • 第一步:导入jar包org.apache.pdfboxpdfbox2.0.12第二步:读取文件内容import java.io.File;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.text.PDFTextStripper;public class PDFUtil {...
  • java 处理pdf文档,比如:在特定位置插入图片,签名,需要计算pdf的宽度,高度1.项目结构 和引用类库除了标准java jdk库外,还需引入下图表示的两个jar 2.具体实现代码:import java.io.FileInputStream;import java....
  • Java简单的读取pdf文件中的数据,简单、实用。
  • ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { PdfExport pdf = new PdfExport(); String id=request.getParameter("id"); pdf.make(request,response,id); ...
  • java读取pdf文件内容

    2009-08-28 01:20:00
    java读取pdf文件内容 在java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。一.安装xpdf 在fc系列下,不用安装...
  • 实现代码如下:import java.io.*;import org.apache.pdfbox.pdfparser.PDFParser;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.util.PDFTextStripper;public class PDFReader {public ...
  • Java读取pdf文件所需5个jar包,及简单用法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 840
精华内容 336
关键字:

java读取pdf文件

java 订阅