我有这个java代码:

try {
    PDFTextStripper pdfs = new PDFTextStripper();

    String textOfPDF = pdfs.getText(PDDocument.load("doc"));

    doc.add(new Field(campo.getDestino(),
            textOfPDF,
            Field.Store.NO,
            Field.Index.ANALYZED));

} catch (Exception exep) {
    System.out.println(exep);
    System.out.println("PDF fail");
}

并抛出这个:
11:45:07,017 WARN  [COSDocument] Warning: You did not close a PDF Document

而且我不知道为什么,但是扔掉这个1、2、3或更多。

我发现COSDocument是一个类,并且具有close()方法,但是我不会在任何地方使用此类。

我有这个进口:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;

谢谢 :)

最佳答案

您正在加载PDDocument,但未将其关闭。我怀疑您需要这样做:

String textOfPdf;
PDDocument doc = PDDocument.load("doc");
try {
    textOfPdf = pdfs.getText(doc);
} finally {
    doc.close();
}

09-26 09:30