Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

[Android] android-pdfview:PDF表示設定を変更する(APIレベル20以下)

android_android-pdfview-2_01

android-pdfviewを使えばAndroid4.4以下の端末でもPDFビュアーを簡単に作成することができます。ここでは、android-pdfviewの表示設定について説明します。

 

広 告

 

目次

前提条件

動作確認端末

  • Nexus7 – 5.1 – API22

1. 端末ストレージ内のPDFファイルを読み込む

ストレージ内のファイルを読み込む場合は、fromFile()メソッドを使います。

以下がサンプルコードを示します。

 

src/main/java/<packagename>/MainActivity.java

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromFile(new File("sample.pdf")).load();

2. デフォルトページを設定する

PDFファイルを読み込み、デフォルトで表示するページを設定する場合は、defaultPage()メソッドを使います。1ページ目をデフォルト表示させたい場合は1を、2ページ目をデフォルト表示させたい場合は2を設定します。

以下にサンプルコードを示します。

 

src/main/java/<packagename>/MainActivity.java

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromAsset("sample.pdf")
            .defaultPage(2)
            .load();

3. 表示ページを限定する

読み込んだPDFファイルの中から、表示させたいページを限定させたい場合は、pages()メソッドを使用します。

1ページ目と3ページ目のみ表示させたい場合は、以下のように設定します。

 

src/main/java/<packagename>/MainActivity.java

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromAsset("sample.pdf")
            .pages(0,2)
            .load();

4. スワイプを無効にする

PDFビュアーのスワイプの有効/無効を切り替えたい場合は、enableSwipe()メソッドを使用します。

スワイプを無効(そのようなケースはあまりないかと思いますが)にする場合は、以下のようにfalseを設定します。

 

src/main/java/<packagename>/MainActivity.java

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromAsset("sample.pdf")
        .enableSwipe(false)
        .load();

5. ページ読み込み完了時のイベントを受け取る

ページ読み込み完了時のイベントを受け取るためにはonLoad()メソッドにOnLoadCompleteListenerを使ってイベントリスナーを設定する必要があります。

以下にサンプルコードを示します。

 

src/main/java/<packagename>/MainActivity.java

import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnLoadCompleteListener;

…

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromAsset("sample.pdf")
        .onLoad(new OnLoadCompleteListener() {
            @Override
            public void loadComplete(int page) {
                // ページ読み込み完了時に実行されます
                // 引数には読み込んだページ数が渡されてきます
            }
        })
        .load();

6. ページ切り替え時のイベントを受け取る

ページ切り替え時のイベントを受け取るためには、onPageChange()メソッドにOnPageChangeListenerを使ってイベントリスナーを設定する必要があります。

以下にサンプルコードを示します。

 

src/main/java/<packagename>/MainActivity.java

import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnPageChangeListener;

… 

final PDFView pdfView = (PDFView) findViewById(R.id.pdfview);
pdfView.fromAsset("sample.pdf")
        .onPageChange(new OnPageChangeListener() {
            @Override
            public void onPageChanged(int current, int total) {
                // ページが切り替わった時に実行されます。
                // 第一引数は現在のページ数
                // 第二引数はページ数の合計
            }
        })
        .load();
広 告