2012-11-09 1 views
1

iText를 사용하여 PDF를 읽는 Java ME 응용 프로그램을 작성 중입니다. 클래스 경로에 iText 라이브러리를 포함하여 표준 Java로 코드를 작성하면 응용 프로그램이 실행됩니다. 내가 클래스 경로에서이 iText 라이브러리를 포함한 자바 모바일 응용 프로그램에 코드를 이동하는 경우에는Java ME에 Java SE 클래스 추가 PDF 읽기

error: cannot access URL 
PdfReader reader = new PdfReader(pdfPath);     
class file for java.net.URL not found 

내 문제는 내가 PDF 파일을 읽기 위해 주위에 작업이 필요하다고 말한다 컴파일하는 동안 오류가 있습니다. 나는 rt.jar을 라이브러리로 사용하여 java.io을 포함하는 패키지 인 코드에 추가하려고 시도했지만 컴파일하기에는 너무 큽니다. 제발 해결 방법을 찾도록 도와주세요. 내 코드는 여기

package PDFreaderpackage; 

import com.itextpdf.text.pdf.PdfReader; 
import com.itextpdf.text.pdf.parser.PdfTextExtractor; 
import com.sun.lwuit.Display; 
import com.sun.lwuit.Form; 
import com.sun.lwuit.TextArea; 
import javax.microedition.midlet.MIDlet; 

public class Midlet extends MIDlet { 

Form displayForm; 
TextArea pdfText; 
private String bookcontent; 
public static String INPUTFILE = "c:/test.pdf"; 
public static int pageNumber = 1; 

public void startApp() { 
    Display.init(this); 
    this.bookcontent = readPDF(INPUTFILE, pageNumber); 
    pdfText = new TextArea(bookcontent); 
    displayForm = new Form("Works"); 
    displayForm.addComponent(pdfText); 
    displayForm.show(); 
} 

public void pauseApp() { 
} 

public void destroyApp(boolean unconditional) { 
} 

public String readPDF(String pdfPath, int pageNumber) { 

    try { 
     PdfReader reader = new PdfReader(pdfPath); 
     this.bookcontent = PdfTextExtractor.getTextFromPage(reader, pageNumber); 
    } catch (Exception e) { 
     System.out.println(e); 
    } 
    return bookcontent; 
} 
} 

답변

3

이러한 클래스는 모바일 장치에서 사용할 수 없으며 JavaME은 Java 5 기능을 지원하지 않습니다. 당신이하려는 것은 다소 실용적입니다. Codename One은 바이트 코드 처리 덕분에 더 많은 클래스를 허용하지만이 경우에도 완전한 rt.jar에 근접하지는 않습니다.

1

시간이 있다면 iText의 Java ME 호환 버전을 만들 수 있지만 PDF를 제대로 열려면 파일 끝에 xref 테이블이 있으므로 라이브러리에 Random Access File의 형식을 사용해야합니다. 이러한 종류의 파일 연결은 이 아니며 Java ME에서 사용할 수 없습니다.입니다.

라이브러리가 할 수있는 것은 파일 크기와 사용 가능한 핸드셋 메모리에 크게 의존하는 PDF를 메모리에 완전히로드하는 것입니다.

웹 서비스를 만들어 PDF를 받고 PNG 이미지를 반환하는 것이 좋습니다.