2012-12-26 2 views
0

내 응용 프로그램에서 강제로 닫기을 가지고 있는데 file1 (크기 : 33,016,510 - 바이트 또는 kb인지 확실하지 않음)을 선택했지만 file2 (크기 : 604,612)를 시도하면 닫히지 않습니다. iTextPDF에서 읽을 수있는 파일 크기는 얼마입니까?iTextPDF에서 읽을 수있는 파일 크기는 얼마입니까?

파일 1 : 400-500pages는 배경 이미지와 이미지를 가지고 있지만, 텍스트는 모든 HIGHLIGHTABLE 그래서 의미 텍스트 (I가 PDF의 내용이 텍스트 또는 이미지 경우, 결정하면 저를 수정하는 방법이가 읽을 수있는 내가 잘못이다).

파일 2 : 30-50 페이지는 이미지가 있고 배경이 없습니다.

강제 종료 이유가 있습니다.

  1. PDF 파일 크기 때문에.
  2. 코드 자체입니다.
  3. PDF의 내용입니다.

내가 읽기 위해 사용하는 코드 PDF : 문제가 여기에 무엇

page_Content = PdfTextExtractor.getTextFromPage(
        reader, 0, new SimpleTextExtractionStrategy()); 

?

정보가 부족한 경우 아래에서 설명하십시오.

예외 :

12-26 19:20:19.026: E/AndroidRuntime(1119): FATAL EXCEPTION: main 
12-26 19:20:19.026: E/AndroidRuntime(1119): java.lang.OutOfMemoryError 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at java.util.ArrayList.add(ArrayList.java:123) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfArray.add(PdfArray.java:269) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readArray(PdfReader.java:1608) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readPRObject(PdfReader.java:1657) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readDictionary(PdfReader.java:1588) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readPRObject(PdfReader.java:1624) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1143) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:511) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:170) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:159) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.example.panalyzerdemo.InformationRetrieval.pdfFilePath(InformationRetrieval.java:54) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.example.panalyzerdemo.MainActivity.onActivityResult(MainActivity.java:207) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.Activity.dispatchActivityResult(Activity.java:3890) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3514) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3560) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.ActivityThread.access$2800(ActivityThread.java:128) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.os.Looper.loop(Looper.java:123) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at android.app.ActivityThread.main(ActivityThread.java:4644) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
12-26 19:20:19.026: E/AndroidRuntime(1119):  at dalvik.system.NativeStart.main(Native Method) 
+0

예외는 무엇입니까? –

+2

파일 * 실제로 *가 얼마나 큰지 알아야합니다. 33MB 파일과 33GB 파일을 읽는 것 사이에 큰 차이가 있습니다. –

+0

@ JohnSkeet 그래서 오류가 파일 크기에 있다고 말하고 있습니까? 그 거대한 크기를 읽을 수있는 방법이 있습니까? –

답변

0

나는 큰 PDF 파일로 내 문제를 해결했다. 내가해야 할 일은 전체 PDF 파일을 읽지 않고 50-100 페이지를 먼저 읽는 것입니다.

+0

당신은'Reader'를 통해 한 번에 50 페이지 만 넘기는 방법에 대한 예제를 게시 할 수 있습니까? – Yokhen

관련 문제