从PDF框输出到文本文件的打印结果

问题描述:

我正在研究使用PDF框解析PDF文档的类,其目的是创建一个带有结果的文本文件(其名称为PdfTestFile.txt)。我们已经知道如何将解析后的文本打印到控制台,但我不知道如何将结果写入该类创建的文件(名称为PdfTestFile.txt.txt从PDF框输出到文本文件的打印结果

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

出解决不了

PdfEasyManager调用类EasySearch中,我们看到上面提到的错误。

下面是我的代码,其中字符串文字是我想打印到文件PdfTestFile.txt什么:

级“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; 
    } 


    } 

您正在使用out,这不在您的班级中。使用System.out.print(Text)

感谢您的帮助,但

writer.write(文本);

解决了我的问题