我怎样才能读取和Android的浏览PDF? [英] How can I read and view PDF in android?

查看:184
本文介绍了我怎样才能读取和Android的浏览PDF?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的工作需要到应用程序打开,阅读和查看PDF 在Android应用程序。我有资产文件夹中的PDF文件。默认情况下Android不支持PDF格式。

I am working on an application which require to open, read and view pdf in Android Application. I am having a pdf files in assets folder. By default android does not support pdf.

有没有被用于打开,阅读和查看PDF文件的任何API。这些文件是在资产的文件夹。

Is there any API which is used to open, read and view pdf files. These files are in Assets folder.

经过两天的艰苦努力,做了很多研究及发展; DI已经得到一点解决办法,但几个疑问尚存

After two days hard work and doing a lot of R&D I have got little bit solution but few Queries still remaining.

我已经使用的 PDF查看器的图书馆,以显示PDF格式的机器人。而下面是我的code

I have used PdfViewer its a Library to display PDF in android. And below is my code

MainActivity

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent(this, MyPdfViewerActivity.class);
        intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME,
                "mnt/sdcard/sample.pdf");
        startActivity(intent);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

MyPdfViewerActivity

public class MyPdfViewerActivity 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;
    }
}

有一个查询 这是需要时间的加载PDF页面,并没有输出到来。模拟器的屏幕截图

There is a query It is taking time in loading Pdf page and there is no output coming. Screenshot of Emulator

有没有什么解决方案,如何解决这个问题呢?

Is there any solution how to resolve this problem?

谢谢!

推荐答案

尝试的Andr​​oid pdfview 库。它工作得很好。

Try android-pdfview library. It works very well.

在你的布局包括PDFView:

Include PDFView in your layout:

<com.joanzapata.pdfview.PDFView
    android:id="@+id/pdfView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

加载PDF文件:

public class PDFViewActivity extends Activity implements OnPageChangeListener {

    public static final String SAMPLE_FILE = "sample.pdf";

    public static final String ABOUT_FILE = "about.pdf";


    PDFView pdfView;


    String pdfName = SAMPLE_FILE;


    Integer pageNumber = 1;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        pdfView  =(PDFView)findViewById(R.id.pdfView);

        pdfView.fromAsset(pdfName)
        .defaultPage(1)
        .showMinimap(false)
        .enableSwipe(true)
        .load();



    }    

    @Override
    public void onPageChanged(int page, int pageCount) {
        pageNumber = page;
        setTitle(format("%s %s / %s", pdfName, page, pageCount));
    }




}

这篇关于我怎样才能读取和Android的浏览PDF?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆