2012-07-16 46 views
2

在這裏我需要在我的app.i中使用Pdf-Viewer,我把很多API作爲參考,但仍然在查看SDCARD的PDF文件。在這裏我的代碼Android代碼來實現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; 
}} 

,我用Android-Pdf-Reader-Library project.in我的模擬器對話爲 「加載PDF文件」 正在出現點擊Pdf文件後。你能告訴我如何通過用手指滑動來更改PDF頁面嗎?

+0

請看我的答案。 – 2012-07-16 08:50:26

+0

您是否使用此庫找到了卷頁/翻頁的解決方案? – 2015-06-13 07:13:53

回答

2

使用下面的鏈接下載PDFViewer.jar文件。

http://tamilsikk.net/softwares/load/file.php?p=1&file=load/Softwares/Java%20Apps/Media%20Editing/Pdf_Viewer_.jar&sort=1

,看看下面鏈接瞭解更多參考。

PDF Viewer

+0

其工作完美。謝謝@dipak。我的兩天鬥爭已經結束了。是否有任何選擇通過用手指滑動PDF頁面來滑動PDF頁面,而不是點擊按鈕事件? – 2012-07-16 10:27:05

+0

@ Michael-aes對不起,我不知道用手指滑動滑動PDF頁面。 – 2012-07-16 11:14:45

+0

反正謝謝。猜猜可以使用手勢檢測器來實現Finger-Slide – 2012-07-16 11:44:55

1

你可以在谷歌文檔

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格式的應用,如快速PDF或Adobe PDF閱讀器中打開PDF:

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 bro中打開PDF。幫助我在上面的代碼中打開PDF。 – 2012-07-16 08:23:32

+0

如果你不想在webview上打開,只需使用我給你的第二個代碼的讀者打開。 – Furqi 2012-07-16 09:30:18

+0

我也試過了。我想在Uri路徑中給出一個參數(文件)作爲什麼shuld? – 2012-07-16 10:34:51