精华内容
下载资源
问答
  • 展开全部Java读取PDF文件:读取PDF文件中的文本内容:importcom.spire.pdf.PdfDocument;importcom.spire.pdf.PdfPageBase;importjava.io.*;publicclassExtract_Text{publicstaticvoidmain(String[]args){//创建...

    展开全部

    Java读取PDF文件:读取PDF文件中的文本内容:import com.spire.pdf.PdfDocument;

    import com.spire.pdf.PdfPageBase;

    import java.io.*;

    public class Extract_Text {

    public static void main(String[] args) {

    //创建PdfDocument实例

    PdfDocument doc= new PdfDocument();

    //加载PDF文件

    doc.loadFromFile("test.pdf");

    StringBuilder sb= new StringBuilder();

    PdfPageBase page;

    //遍历PDF页面,获取文e68a84e8a2ad3231313335323631343130323136353331333431356130本

    for(int i=0;i

    page=doc.getPages().get(i);

    sb.append(page.extractText(true));

    }

    FileWriter writer;

    try {

    //将文本写入文本文件

    writer = new FileWriter("ExtractText.txt");

    writer.write(sb.toString());

    writer.flush();

    } catch (IOException e) {

    e.printStackTrace();

    }

    doc.close();

    }

    读取图片也是支持的,你可以自己试一下,但是PDF中是没有表格的概念的,表格是画到页面上的,和office文件中的表格不一样,只能通过从PDF页面指定矩形范围内提取数据来实现提取表格内容

    展开全文
  • java读取pdf内容(图片和文本) 使用pdfbox,maven如下 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.12</...

    java读取pdf内容(图片和文本)

    使用pdfbox,maven如下

    		<dependency>
    			<groupId>org.apache.pdfbox</groupId>
    			<artifactId>pdfbox</artifactId>
    			<version>2.0.12</version>
    		</dependency>
    

    代码如下

    	
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Iterator;
    import java.util.UUID;
     
    import javax.imageio.ImageIO;
     
    import org.apache.pdfbox.cos.COSName;
    import org.apache.pdfbox.pdmodel.PDDocument;
    import org.apache.pdfbox.pdmodel.PDPage;
    import org.apache.pdfbox.pdmodel.PDResources;
    import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
    import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
    import org.apache.pdfbox.text.PDFTextStripper;
    import org.junit.Test;
     
    public class PdfTest {
     
    	public void testPdf() {
    		String path = "D:\\temp\\temp\\test.pdf";
    		File file = new File(path);
    		InputStream is = null;
    		PDDocument document = null;
    		try {
    			if (path.endsWith(".pdf")) {
    				document = PDDocument.load(file);
    				int pageSize = document.getNumberOfPages();
    				// 一页一页读取
    				for (int i = 0; i < pageSize; i++) {
    					// 文本内容
    					PDFTextStripper stripper = new PDFTextStripper();
    					// 设置按顺序输出
    					stripper.setSortByPosition(true);
    					stripper.setStartPage(i + 1);
    					stripper.setEndPage(i + 1);
    					String text = stripper.getText(document);
    					System.out.println(text.trim());
    					System.out.println("-=-=-=-=-=-=-=-=-=-=-=-=-");
     
    					// 图片内容
    					PDPage page = document.getPage(i);
    					PDResources resources = page.getResources();
    					Iterable<COSName> cosNames = resources.getXObjectNames();
    					if (cosNames != null) {
    						Iterator<COSName> cosNamesIter = cosNames.iterator();
    						while (cosNamesIter.hasNext()) {
    							COSName cosName = cosNamesIter.next();
    							if (resources.isImageXObject(cosName)) {
    								PDImageXObject Ipdmage = (PDImageXObject) resources.getXObject(cosName);
    								BufferedImage image = Ipdmage.getImage();
    								FileOutputStream out = new FileOutputStream("D:\\temp\\temp\\" + UUID.randomUUID() + ".png");
    								try {
    									ImageIO.write(image, "png", out);
    								} catch (IOException e) {
    								} finally {
    									try {
    										out.close();
    									} catch (IOException e) {
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		} catch (InvalidPasswordException e) {
    		} catch (IOException e) {
    		} finally {
    			try {
    				if (document != null) {
    					document.close();
    				}
    				if (is != null) {
    					is.close();
    				}
    			} catch (IOException e) {
    			}
    		}
    	}
    	
    }
    
    

    转自:一叶葬目
    原文链接

    展开全文
  • 需求:Java读取pdf中表格内容并将其封装成map pdf模板比较多,所以我没有选择按照固定区域读取,而是读取的全部,然后正则匹配 插件:pdfbox [img=...
  • //创建PdfDocument实例...//加载PDF文件doc.loadFromFile("sample.pdf");//创建StringBuilder实例StringBuilder sb = new StringBuilder();PdfPageBase page;//遍历PDF页面,获取每个页面的文本并添加到StringBui...

    //创建PdfDocument实例

    PdfDocument doc = new PdfDocument();

    //加载PDF文件

    doc.loadFromFile("sample.pdf");

    //创建StringBuilder实例

    StringBuilder sb = new StringBuilder();

    PdfPageBase page;

    //遍历PDF页面,获取每个页面的文本并添加到StringBuilder对象

    for(int i= 0;i

    page = doc.getPages().get(i);

    sb.append(page.extractText(true));

    }

    FileWriter writer;

    try {

    //将StringBuilder对象中的文本写入到文本文件

    writer = new FileWriter("ExtractText.txt");

    writer.write(sb.toString());

    writer.flush();

    } catch (IOException e) {

    e.printStackTrace();

    }

    doc.close();

    展开全文
  • /*** PdfboxUtil.java* Create on 2015-1-5*/package charlie.utils.pdf;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.InputStrea...

    /**

    * PdfboxUtil.java

    * Create on 2015-1-5

    */

    package charlie.utils.pdf;

    import java.io.BufferedWriter;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileWriter;

    import java.io.InputStream;

    import org.apache.pdfbox.pdfparser.PDFParser;

    import org.apache.pdfbox.pdmodel.PDDocument;

    import org.apache.pdfbox.util.PDFTextStripper;

    /**

    *@authorCharlieChen

    *@DateTime2015-1-5上午9:55:38

    *@version1.0

    */

    public class PdfboxUtil {

    /**

    *@paramargs

    */

    public static void main(String[] args) {

    String pdfPath = "D:/temp/成交单-PDF格式.pdf";

    String txtfilePath = "D:/temp/成交单-PDF格式-pdfbox.txt";

    PdfboxUtil pdfutil = new PdfboxUtil();

    try {

    String content = pdfutil.getTextFromPdf(pdfPath);

    pdfutil.toTextFile(content, txtfilePath);

    System.out.println("Finished !");

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    /**

    *读取PDF文件的文字内容

    *@parampdfPath

    *@throwsException

    */

    public String getTextFromPdf(String pdfPath)

    throws Exception {

    //是否排序

    boolean sort =

    false;

    //开始提取页数

    int startPage = 1;

    //结束提取页数

    int endPage = Integer.MAX_VALUE;

    String content = null;

    InputStream input = null;

    File pdfFile = new File(pdfPath);

    PDDocument document = null;

    try {

    input = new FileInputStream(pdfFile);

    //加载pdf 文档

    PDFParser parser = new PDFParser(input);

    parser.parse();

    document = parser.getPDDocument();

    //获取内容信息

    PDFTextStripper pts = new PDFTextStripper();

    pts.setSortByPosition(sort);

    endPage = document.getNumberOfPages();

    System.out.println("Total Page: " + endPage);

    pts.setStartPage(startPage);

    pts.setEndPage(endPage);

    try {

    content = pts.getText(document);

    } catch (Exception e) {

    throw e;

    }

    System.out.println("Get PDF Content ...");

    } catch (Exception e) {

    throw e;

    } finally {

    if (null != input)

    input.close();

    if (null != document)

    document.close();

    }

    return content;

    }

    /**

    *把PDF文件内容写入到txt文件中

    *@parampdfContent

    *@paramfilePath

    */

    public void toTextFile(String pdfContent,String filePath) {

    try {

    File f = new File(filePath);

    if (!f.exists()) {

    f.createNewFile();

    }

    System.out.println("Write PDF Content to txt file ...");

    BufferedWriter output = new BufferedWriter(new FileWriter(f));

    output.write(pdfContent);

    output.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    展开全文
  • Java 读取PDF文本内容

    万次阅读 热门讨论 2018-09-10 17:19:11
    本文将介绍如何在Java应用程序中读取PDF文件的文本内容。(读取图片也支持,参考这篇文章Java 提取PDF文档中的图片) 在Java应用程序中读取PDF,我们可以借助第三方PDF控件,本文所使用的控件是免费Java PDF组件Free ...
  • java 读取PDF文件中的内容

    热门讨论 2010-06-21 08:54:37
    java 读取PDF文件中的内容 java 读取PDF文件中的内容
  • 展开全部你需32313133353236313431303231363533e78988e69d8331333363363464要用到PDFbox api例子如下importjava.io.File;importjava.io.IOException;importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache....
  • java读取pdf文件内容

    2009-08-28 01:20:00
    java读取pdf文件内容 在java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。一.安装xpdf 在fc系列下,不用安装...
  • import java.io.ByteArrayOutputStream;import java.io.File;import java.io.OutputStreamWriter;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.util....public class Pdftext {public stat...
  • java 读取pdf内容

    2017-10-12 16:08:00
    //暂时存放pdf内容 InputStream input = null; File pdfFile = new File(pdfPath); PDDocument document = null; try { input = new FileInputStream(pdfFile); // 加载 pdf 文档 PDFParser ...
  • 在评论中,OP澄清说他从pdf文件中的表中找到文本值他要提取提供X和Y坐标因此,虽然这个问题最初听起来像是从PDF中通用提取表格数据(至少可能很困难),但它实际上主要是从坐标给出的页面上的矩形区域中提取文本。...
  • NULL 博文链接:https://snowdymy.iteye.com/blog/1114344
  • 读取PDF中的文件内容 https://blog.csdn.net/HM_1011000000/article/details/88546659
  • 第一步:导入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文字内容的方法

    万次阅读 2015-01-05 17:32:38
    (一个BSD许可下的源码开放项目)是一个为开发人员读取和创建PDF文档而准备的纯Java类库。它提供如下特性: 提取文本,包括Unicode字符。和Jakarta Lucene等文本搜索引擎的整合过程十分简单。加密/解密PDF文档。从...
  • 如何使用Java读取PDF中的内容

    千次阅读 2018-11-30 10:13:39
    读取PDF内容需要调用第三方jar包。我用的itextpdf-5.5.6.jar 首先在pom.xml文件中添加itextpdf依赖: &lt;dependency&gt; &lt;groupId&gt;com.itextpdf&lt;/groupId&gt; &lt;...
  • 用到的jar:itextpdf-5.5.8.jar (PDF)poi.jarpublic class FileUtils {/*** 判断文件是否存在** @Title: isExcite* @param @param filePath* @param @return* @return boolean 返回类型* @throws*/public static ...

空空如也

空空如也

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

java读取pdf内容

java 订阅