实现 PDF 查看器的 Android 代码

标签 android pdf

这里我需要在我的应用程序中使用 Pdf-Viewer。我引用了许多 API,但仍然坚持从 SDCARD 查看 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 页面吗??

最佳答案

你可以在google doc上打开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 阅读器等应用程序中打开 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 查看器的 Android 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499942/

相关文章:

没有下划线的 Android TextView 链接?

android - 如何在 Android 服务中使用 SQLite?

windows - 在 Windows 上使用 Chromium 查看 PDF

java - 如何使用 PDFBox 使线宽小于 1

java - 有没有可以从给定坐标中提取文本的PDF解析库?

c# - 为什么生成 PDF 后 Excel 不关闭?

使用音频记录 api 的 Android 录音应用程序

android - 如何正确停止媒体播放器,android

java - Android、OSC、接收器未接收消息。

php - 在 PHP 中以编程方式编辑 PDF 文件