package com.seec.bok.back.domainobject; import com.seec.bok.back.utils.EachPagePDFTextStripper; import org.apache.pdfbox.cos.COSDocument; import org.apache.pdfbox.io.RandomAccessFile; import org.apache.pdfbox.pdfparser.PDFParser; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.text.PDFTextStripper; import org.fit.pdfdom.PDFDomTree; import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.io.Writer; public class Pdf { String filename; PDDocument pdf; File file; public Pdf(String filename) throws IOException { this.file =new File("pdf/"+filename); this.pdf = PDDocument.load(file); this.filename=filename; } public void toHtml() throws IOException, ParserConfigurationException { Writer output = new PrintWriter("pdf/"+filename+".html", "utf-8"); new PDFDomTree().writeText(pdf, output); output.close(); } public void toText() throws IOException { String parsedText; PDFParser parser = new PDFParser(new RandomAccessFile(file, "r")); parser.parse(); COSDocument cosDoc = parser.getDocument(); PDFTextStripper pdfStripper = new EachPagePDFTextStripper(); PDDocument pdDoc = new PDDocument(cosDoc); for (PDPage page : pdDoc.getPages()){ System.out.println(page.getContents().toString()); } parsedText = pdfStripper.getText(pdDoc); PrintWriter pw = new PrintWriter("pdf/"+filename+".text"); pw.print(parsedText); pw.close(); cosDoc.close(); } }