如何以编程方式在我的应用程序中从SdCard打开PDF文件,而不是在设备安装的PDFViewer中打开?

时间:2014-03-22 13:02:42

标签: android pdf android-webview

我使用了很多库但是那些都是无用的,我还检查天气可以在Web视图中打开PDF文件通过使用 ContenProvider <将我的 URI 转换为Html代码/ strong>但这对我也没有用。

我使用了像

这样的库
  • PDF查看器
  • MuPDF库
  • 以及更多...

所以,如果有人遇到过这个问题或者解决了这个问题,那么请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我使用PDFViewer库PDFViewer解决了它 您需要做的就是:

  • 将PDFViewer项目导入工作区(或使用PDFViewer.jar文件)。
  • 将其添加为项目的库。
  • 定义如下活动:

    public class ViewerActivity extends PdfViewerActivity {
      public int getPreviousPageImageResource() { return R.drawable.left_arrow; }
      public int getNextPageImageResource() { return R.drawable.right_arrow; }
      public int getZoomInImageResource() { return R.drawable.zoom_in; }
      public int getZoomOutImageResource() { return R.drawable.zoom_out; }
      public int getPdfPasswordLayoutResource() { return R.layout.pdf_file_password; }
      public int getPdfPageNumberResource() { return R.layout.dialog_pagenumber; }
      public int getPdfPasswordEditField() { return R.id.etPassword; }
      public int getPdfPasswordOkButton() { return R.id.btOK; }
      public int getPdfPasswordExitButton() { return R.id.btExit; }
      public int getPdfPageNumberEditField() { return R.id.pagenum_edit; }
    

    }

  • 调用活动如下:

    Intent intent = new Intent(this, MainActivity.class);
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, FILE_PATH);
     startActivity(intent);
    

其中FILE_PATH是您设备上的pdfFileLocation。 我就像

final String FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test/com_handbook.pdf"; 

希望这有帮助。