我試圖在PDF文件中提取「[」和「]」之間的文本,但我無法這樣做bcos文件似乎被加密。我得到了一些符號是不是可讀的格式..從pdf文件中提取文本
public class ITextReadDemo {
public static void main(String[] args) {
try {
PdfReader reader = new PdfReader("D:\\temp\\1.pdf");
System.out.println("This PDF has "+reader.getNumberOfPages()+" pages.");
String page = PdfTextExtractor.getTextFromPage(reader, 2);
System.out.println("Page Content:\n\n"+page+"\n\n");
System.out.println("Is this document tampered : "+reader.isTampered());
System.out.println("Is this document encrypted : "+reader.isEncrypted());
} catch (IOException e) {
e.printStackTrace();
}
}
}
,但我得到這個異常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString
at com.itextpdf.text.pdf.PdfEncryption.<init>(PdfEncryption.java:147)
at com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:775)
at com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1152)
at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:512)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:172)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:161)
at pdfexc.ITextReadDemo.main(ITextReadDemo.java:19)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.ASN1OctetString
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
我嘗試以下方法也。它是從PDF文件中讀取內容,但是當我展示它,它不是在可讀格式
void readfile() {
Path path = Paths.get("D:\\temp\\1.pdf");
Scanner scanner = new Scanner(path);
while(scanner.hasNextLine()){
String line = scanner.nextLine();
System.out.println(line);
}
}
所有我需要的是從PDF文件(而不是文本文件)中的內容,因爲它是可讀格式我可以提取文本B/W [和]使用正則表達式..請幫助我,如果你知道解決方案。
你是否檢查過你試圖閱讀的任何文件的r/w權限? –