我正在使用PDFBox作爲C#.NET項目。從PDF文件中提取文本
FileStream stream = new FileStream(@"C:\1.pdf",FileMode.Open);
//retrieve the pdf bytes from the stream.
byte[] pdfbytes=new byte[65000];
stream.Read(pdfbytes, 0, 65000);
//get the pdf file bytes.
allbytes = pdfbytes;
//create a stream from the file bytes.
java.io.InputStream ins = new java.io.ByteArrayInputStream(allbytes);
string txt;
//load the doc
PDDocument doc = PDDocument.load(ins);
PDFTextStripper stripper = new PDFTextStripper();
//retrieve the pdf doc's text
txt = stripper.getText(doc);
doc.close();
發生在3日聲明的除外:
,我得到一個「TypeInitializationException」執行下面的代碼塊時(對於「java.lang.Throwable的」的類型初始值引發異常。)PDDocument doc = PDDocument.load(ins);
我該怎麼做才能解決這個問題?
這是堆棧跟蹤:
at java.lang.Throwable.__<map>(Exception , Boolean)
at org.pdfbox.pdfparser.PDFParser.parse()
at org.pdfbox.pdmodel.PDDocument.load(InputStream input, RandomAccess scratchFile)
at org.pdfbox.pdmodel.PDDocument.load(InputStream input)
at At.At.ExtractTextFromPDF(InputStream fileStream) in
C:\Users\Administrator\Documents\Visual Studio 2008\Projects\AtProject\Att\At.cs:line 61
設置InnerException的內部異常:
- 的InnerException {「無法加載文件或程序集「IKVM.Runtime,版本= 0.30.0.0,文化=中性,PublicKeyToken = 13235d27fcbfff58'或其依賴項之一。系統找不到指定的文件。「:」IKVM.Runtime,Version = 0.30.0.0,Culture = neutral,PublicKeyToken = 13235d27fcbfff58「} System.Exception {System.IO .FileNotFoundException}
好的,我通過將PDFBox的某些.dll文件複製到我的bin文件夾中解決了上一個問題。但現在我得到這個錯誤:expected ='/'actual ='。' - 1 [email protected]
是否有任何替代使用PDFBox?有沒有其他可靠的庫,我可以用它來從pdf文件中提取文本。
PDFBox的是一個Java庫,你的代碼看起來像Java。 C#涉及哪裏? – dtb 2009-11-15 19:03:11
「TypeInitializationException」的內部異常是什麼? – dtb 2009-11-15 19:04:22
有點困惑;你說它的C#,但它的Java。 而在Java中,字符串類型爲「String」,但您使用「string」 – alternative 2009-11-15 19:06:16