pdf 文本转换为 java 字符串

本文介绍了一个在Mac上将txt、rtf、rtfd文件转换为PDF的简单方法,以及如何使用Java的PDFBox库将PDF转换为字符串。通过加载PDF文档并利用PDFTextStripper提取文本,可以将PDF文件的内容解析为Java字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

[java]  view plain copy
  1. package org.bruce.toolkit.experiments;  
  2.   
  3. import java.io.ByteArrayOutputStream;  
  4. import java.io.File;  
  5. import java.io.OutputStreamWriter;  
  6.   
  7. import org.apache.pdfbox.pdmodel.PDDocument;  
  8. import org.apache.pdfbox.util.PDFTextStripper;  
  9.   
  10. /** 
  11.  * @author Bruce Yang 
  12.  * 将 pdf 文件中的字符解析为字符串中的字符~ 
  13.  */  
  14. public class Pdf2Text {  
  15.   
  16.     /** 
  17.      * @param args 
  18.      * @throws Exception 
  19.      */  
  20.     public static void main(String[] args) throws Exception {  
  21. //      System.out.println(parsePDF("/Users/user/Desktop/QT教程.pdf"));  
  22.         System.out.println(parsePDF("/Users/user/Novels/pdf/《盗墓笔记》第一季:.第二部.怒海潜沙.pdf"));  
  23.     }  
  24.   
  25.     /** 
  26.      * @param filePath 
  27.      * @return 
  28.      * @throws Exception 
  29.      */  
  30.     public static String parsePDF(String filePath) throws Exception {  
  31.         File file = new File(filePath);  
  32.         String context = "";  
  33.         ByteArrayOutputStream out = new ByteArrayOutputStream();  
  34.         OutputStreamWriter writer = new OutputStreamWriter(out);  
  35.         PDDocument pdfdocument = null;  
  36.   
  37.         pdfdocument = PDDocument.load(file);  
  38.         PDFTextStripper stripper = new PDFTextStripper();  
  39.         stripper.writeText(pdfdocument, writer);  
  40.         byte[] contents = out.toByteArray();  
  41.         System.out.println(contents.length);  
  42.         context = new String(contents);  
  43.   
  44.         writer.close();  
  45.         if (pdfdocument != null) {  
  46.             pdfdocument.close();  
  47.         }  
  48.         return context;  
  49.     }  
  50. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值