| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package me.zhengjie.appapi.util;
- import java.io.*;
- import org.apache.pdfbox.io.RandomAccessBuffer;
- import org.apache.pdfbox.pdfparser.PDFParser;
- import org.apache.pdfbox.pdmodel.PDDocument;
- import org.apache.pdfbox.pdmodel.PDPage;
- import org.apache.pdfbox.pdmodel.PDPageContentStream;
- import org.apache.pdfbox.pdmodel.font.PDFont;
- import org.apache.pdfbox.pdmodel.font.PDType1Font;
- import org.apache.pdfbox.text.PDFTextStripper;
- public class PdfUtils {
- public String readPdf(String fileName) {
- File file = new File(fileName);
- FileInputStream in = null;
- String content = null;
- try {
- in = new FileInputStream(fileName);
- PDFParser parser = new PDFParser(new RandomAccessBuffer(in)); // 新建一个PDF解析器对象
- parser.parse(); // 对PDF文件进行解析
- PDDocument pdfdocument = parser.getPDDocument(); // 获取解析后得到的PDF文档对象
- PDFTextStripper stripper = new PDFTextStripper(); // 新建一个PDF文本剥离器
- content = stripper.getText(pdfdocument); // 从PDF文档对象中剥离文本
- } catch (Exception e) {
- System.out.println("读取PDF文件" + file.getAbsolutePath() + "生失败!" + e);
- e.printStackTrace();
- }
- return content;
- }
- public String createPDF (String fileName, String content) throws IOException{
- PDDocument document = new PDDocument();
- PDPage page = new PDPage();
- document.addPage(page);
- PDFont font = PDType1Font.HELVETICA;
- PDPageContentStream contentStream = new PDPageContentStream(document, page);
- contentStream.beginText();
- contentStream.setFont(font, 14);
- contentStream.moveTextPositionByAmount(100, 700);
- contentStream.drawString(content);
- contentStream.endText();
- contentStream.close();
- try {
- document.save(fileName);
- } catch (Exception e) {
- e.printStackTrace();
- }
- document.close();
- return "";
- }
- }
|