| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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();
- }
- }
|