现在的位置: 首页 > 综合 > 正文

pdf 文本转换为 java 字符串

2013年04月08日 ⁄ 综合 ⁄ 共 1176字 ⁄ 字号 评论关闭

txt,rtf,rtfd->pdf,mac下面有个非常好用的工具,TextEditor,简洁实用!

pdf->txt,如下(依赖两个jar 包:pdfbox-1.6.0.jar、fontbox-1.6.0.jar):

package org.bruce.toolkit.experiments;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.OutputStreamWriter;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;

/**
 * @author Bruce Yang
 * 将 pdf 文件中的字符解析为字符串中的字符~
 */
public class Pdf2Text {

	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
//		System.out.println(parsePDF("/Users/user/Desktop/QT教程.pdf"));
		System.out.println(parsePDF("/Users/user/Novels/pdf/《盗墓笔记》第一季:.第二部.怒海潜沙.pdf"));
	}

	/**
	 * @param filePath
	 * @return
	 * @throws Exception
	 */
	public static String parsePDF(String filePath) throws Exception {
		File file = new File(filePath);
		String context = "";
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		OutputStreamWriter writer = new OutputStreamWriter(out);
		PDDocument pdfdocument = null;

		pdfdocument = PDDocument.load(file);
		PDFTextStripper stripper = new PDFTextStripper();
		stripper.writeText(pdfdocument, writer);
		byte[] contents = out.toByteArray();
		System.out.println(contents.length);
		context = new String(contents);

		writer.close();
		if (pdfdocument != null) {
			pdfdocument.close();
		}
		return context;
	}
}

抱歉!评论已关闭.