Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实现PDF查看器的Android代码_Android_Pdf - Fatal编程技术网

实现PDF查看器的Android代码

实现PDF查看器的Android代码,android,pdf,Android,Pdf,在这里,我需要在我的应用程序中使用Pdf查看器。我参考了许多API,但在查看SD卡上的Pdf文件时仍然结巴。这是我的密码 `First.java public class First extends ListActivity { String[] pdflist; File[] imagelist; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

在这里,我需要在我的应用程序中使用Pdf查看器。我参考了许多API,但在查看SD卡上的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();
    }
}}
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;
}}
pdfView.fromUri(Uri)

我在模拟器对话框中使用了project.com,因为点击pdf文件后会出现“加载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);
要在quick PDF或adobe PDF reader等应用程序中打开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);

你可以在谷歌文档上打开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);
要在quick PDF或adobe PDF reader等应用程序中打开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);
你可以使用图书馆

将此依赖项添加到成绩中:

implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
在activity_main.xml中添加PDFView

<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

如果您使用的是ProGuard,请不要忘记添加以下行:

-keep class com.shockwave.**
你可以使用图书馆

将此依赖项添加到成绩中:

implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
在activity_main.xml中添加PDFView

<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

如果您使用的是ProGuard,请不要忘记添加以下行:

-keep class com.shockwave.**

感谢您的即时回复。在我的应用程序中,我不需要在WebView bro中打开PDF。请帮助我在上面的代码中打开PDF。如果你不想在webview上打开,只需使用我给你的第二个代码在阅读器上打开即可。我也尝试过。我想在Uri路径中作为参数(文件)给出什么?你必须给出PDF文件保存在sd卡中的路径。最终文件=新文件(Environment.getExternalStorageDirectory()+“mypdf.pdf”)@furqi…Thnks它的工作非常完美..它会在PDF页面中打开超链接吗?感谢您的即时回复。在我的应用程序中,我不需要在WebView bro中打开PDF。请帮助我在上面的代码中打开PDF。如果你不想在webview上打开,只需使用我给你的第二个代码在阅读器上打开即可。我也尝试过。我想在Uri路径中作为参数(文件)给出什么?你必须给出PDF文件保存在sd卡中的路径。最终文件=新文件(Environment.getExternalStorageDirectory()+“mypdf.pdf”)@furqi…它工作得很好..它会打开PDF页面中的超链接吗?使用这个库你找到了卷曲/翻转页面的解决方案吗?!使用此库,您是否找到了卷曲/翻转页面的解决方案?!