Java fermer PDF erreur
J'ai ce code 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");
}
Et jette ce:
11:45:07,017 WARN [COSDocument] Warning: You did not close a PDF Document
Et je ne sais pas pourquoi, mais de se débarrasser de cette 1, 2, 3, ou plus.
Je trouve que COSDocument est une classe et avoir la méthode close (), mais je n'utilise pas cette classe de nulle part.
J'ai cette importations:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
Merci 🙂
- Si c'est résolu, puis marquer une réponse comme acceptée.
- Le type de ressource
PDDocument
ne pas mettre en œuvrejava.lang.AutoCloseable
donc on ne peut pas aller avec essayer avec des ressources pour le scénario actuel. - Peut-être que vous êtes en utilisant une ancienne version de PDFBox. Dans 2.0.13 il est Fermer, qui s'étend AutoCloseable. Btw, ce n'est pas une réponse.
Vous devez vous connecter pour publier un commentaire.
Vous êtes en train de charger un
PDDocument
mais pas de fermeture. Je soupçonne que vous devez faire:Juste eu ce problème. Avec Java 7, vous pouvez le faire:
Parce que
PDDocument implements Closeable
, letry
bloc va automatiquement appeler saclose()
méthode à la fin.Cet avertissement est émis lorsque le document pdf est finalisé et n'a pas été fermé.
Ici est la
finalize
méthode de COSDocument:Pour se débarrasser de cet avertissement, vous devez appeler explicitement
close
sur le document lorsque vous avez fini avec elle.PDDocument.load
méthode crée unPDDocument
qui a un sous-jacentCOSDocument
. Vous êtes donc implicitement à l'aide d'unCOSDocument
qui doit être fermé. Si vous fermez laPDDocument
, le sous-jacentCOSDocument
est fermée aussi.