将PDF框输出打印到文本文件

时间:2015-12-04 05:50:39

标签: java pdf text pdfbox

我正在开发一个用PDF Box解析PDF文档的类,其目的是用结果创建一个文本文件(名称为PdfTestFile.txt)。我们已经将解析后的文本打印到控制台,但我不知道如何将结果写入类创建的.txt文件(名称为PdfTestFile.txt)。

我尝试使用out.print(Text);,但它给出了一个错误说:

  

out无法解决

班级PdfEasyManager调用了我们看到上述错误的班级EasySearch

以下是我所拥有的代码,其中字符串文本是我要打印到文件PdfTestFile.txt的内容:

Class“PdfEasyManager”:

    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.PrintWriter;

    public class PdfEasyManager {

    static BufferedWriter writer; 

    public static void main(String[] args) throws IOException {
        //writer = new BufferedWriter(new FileWriter("Evergreen.txt")); 

        EasySearch easysearch = new EasySearch();
       // pdfManager.setFilePath("PDFextTEST.pdf");
        System.out.println(easysearch.ToText());      
        //out.println(easysearch.ToText()); 
     }
    }    

“EasySearch”课程:

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;

    import org.apache.pdfbox.cos.COSDocument;
    import org.apache.pdfbox.pdfparser.PDFParser;
    import org.apache.pdfbox.pdmodel.PDDocument;
    import org.apache.pdfbox.util.PDFTextStripper;

    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.PrintWriter;

    import java.io.IOException;

    public class EasySearch {

       private PDFParser parser;
       private PDFTextStripper pdfStripper;
       private PDDocument pdDoc ;
       private COSDocument cosDoc ;

       private String Text ;
       private String filePath;

       private File file;
       static BufferedWriter writer; 
       //writer = new BufferedWriter(new FileWriter(BLnumber +         (date.toString().substring(4, 10))+ ".org"));

        public EasySearch() {

        }
      //public static void main(String args[]) throws Exception{


       public String ToText() throws IOException



       {
           this.pdfStripper = null;
           this.pdDoc = null;
           this.cosDoc = null;

           writer = new BufferedWriter(new FileWriter("PdfTestFile.txt"));
           file = new File("C:/Users/Jon Smith/Desktop/Sample.pdf");
           parser = new PDFParser(new FileInputStream(file));

           parser.parse();
           cosDoc = parser.getDocument();
           pdfStripper = new PDFTextStripper();
           pdDoc = new PDDocument(cosDoc);
           pdDoc.getNumberOfPages();

           pdfStripper.setStartPage(1);// reading text from page 1
              // pdfStripper.setEndPage(10);// to 10    
            pdfStripper.setEndPage(pdDoc.getNumberOfPages());// if you want to get text from full pdf file use this code



           Text = pdfStripper.getText(pdDoc);
           out.print(Text); //this is the line that gives me the error
           return Text;


       }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }


    }

2 个答案:

答案 0 :(得分:0)

您正在使用课程中不存在的out。使用System.out.print(Text)

答案 1 :(得分:0)

感谢您的帮助,但

  

writer.write(文本);

解决了我遇到的问题