2012-07-16 3 views
2

여기에서 필자는 app.i에서 Pdf-Viewer를 사용해야하는데, 참고로 많은 API를 사용했지만 여전히 SDCARD에서 Pdf 파일을 볼 때 방해 받고있다. 여기에 내 코드안드로이드 코드 PDF 뷰어 구현

`First.java

public class First extends ListActivity { 
String[] pdflist; 
File[] imagelist; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 

    File images = Environment.getExternalStorageDirectory(); 
    imagelist = images.listFiles(new FilenameFilter() { 
     public boolean accept(File dir, String name) { 
      return ((name.endsWith(".pdf"))); 
     } 
    }); 
    pdflist = new String[imagelist.length]; 
    for (int i = 0; i < imagelist.length; i++) { 
     pdflist[i] = imagelist[i].getName(); 
    } 
    this.setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, pdflist)); 
} 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    String path = imagelist[(int) id].getAbsolutePath(); 
    openPdfIntent(path); 
} 
private void openPdfIntent(String path) { 
    try { 
     final Intent intent = new Intent(First.this, Second.class); 
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); 
     startActivity(intent); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
}} 

Second.java

public class Second extends PdfViewerActivity { 

@Override 
public int getPreviousPageImageResource() { 
    // TODO Auto-generated method stub 
    return R.drawable.left_arrow; 
} 

@Override 
public int getNextPageImageResource() { 
    // TODO Auto-generated method stub 
    return R.drawable.right_arrow; 
} 

@Override 
public int getZoomInImageResource() { 
    // TODO Auto-generated method stub 
    return R.drawable.zoom_in; 
} 

@Override 
public int getZoomOutImageResource() { 
    // TODO Auto-generated method stub 
    return R.drawable.zoom_out; 
} 

@Override 
public int getPdfPasswordLayoutResource() { 
    // TODO Auto-generated method stub 
    return R.layout.pdf_file_password; 
    } 

@Override 
public int getPdfPageNumberResource() { 
    // TODO Auto-generated method stub 
    return R.layout.dialog_pagenumber; 
} 

@Override 
public int getPdfPasswordEditField() { 
    // TODO Auto-generated method stub 
    return R.id.etPassword; 
} 

@Override 
public int getPdfPasswordOkButton() { 
    // TODO Auto-generated method stub 
    return R.id.btOK; 
} 

@Override 
public int getPdfPasswordExitButton() { 
    // TODO Auto-generated method stub 
    return R.id.btExit; 
} 

@Override 
public int getPdfPageNumberEditField() { 
    // TODO Auto-generated method stub 
    return R.id.pagenum_edit; 
}} 

그리고 난 "로드 pdf 파일"로 내 에뮬레이터 대화 project.in Android-Pdf-Reader-Library을 사용 나타나고있다 Pdf 파일을 클릭 한 후 그리고 당신은 누군가 손가락으로 문질러서 Pdf 페이지를 바꾸는 방법을 말해 줄 수 있습니까 ??

+0

제 대답을 참조하십시오. –

+0

이 라이브러리를 사용하여 컬/플립 페이지에 대한 해결책을 찾았습니까?! –

답변

2
+0

완벽하게 작동합니다. @dipak 감사합니다. 내 이틀간의 투쟁이 끝났습니다. PDF 페이지를 손가락으로 스 와이프하여 슬라이드하는 옵션이 있습니까? –

+0

@ Michael-aes 죄송합니다. 손가락으로 스 와이프하여 슬라이드 PDF 페이지를 알지 못합니다. –

+0

어쨌든 고맙습니다 .GestureDetector를 사용하여 손가락 슬라이드를 구현할 수 있습니다. –

1

당신은 빠른 PDF 또는 어도비 PDF 리더와 같은 응용 프로그램에서 PDF를 열려면 구글 문서

WebView webviewer = new WebView(this); 
    webviewer.getSettings().setJavaScriptEnabled(true); 
    webviewer.getSettings().setPluginsEnabled(true); 
    setContentView(webviewer); 

    webviewer.loadUrl("http://docs.google.com/gview?embedded=true&url=PDF_url/fileName.pdf"); 
    setContentView(webviewer); 

에 PDF 파일을 열 수 있습니다 : 다운로드 PDFViewer.jar 파일에 대한 링크를 아래

Uri path = Uri.fromFile(file); 
    Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setDataAndType(path, "application/pdf"); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 
+0

즉각적인 회신을 보내 주셔서 감사합니다. 내 애플 리케이션에서 나는 WebView 동메에 PDF를 열 필요가 없습니다. 위의 코드에서 PDF를 열어 도와주세요. –

+0

webview에서 열지 않으려는 경우 2 번째 코드를 사용하여 독자에게 공개하기 만하면됩니다. – Furqi

+0

나는 그걸 시도해 봤어. 무슨 추종자가 우리 길에서 매개 변수 (파일)로주고 싶어? –