pdf

  
アプリ内で PDF を表示する機能を追加するためのライブラリ。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 7 月 16 日 - - - 1.0.0-alpha10

依存関係の宣言

pdf への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10"
}

Kotlin

dependencies {
    implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

このアーティファクトのリリースノートはありません。

バージョン 1.0

バージョン 1.0.0-alpha10

2025 年 7 月 16 日

androidx.pdf:pdf-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 にはこれらの commit が含まれています。

新機能

  • 選択範囲をページ境界を超えてドラッグすることで、複数のページにわたってテキストを選択できる選択機能の強化。
  • アプリケーションで、PDF ドキュメント内のハイパーリンクのクリック処理をインターセプトしてカスタマイズできるようになりました。

API の変更

  • PDF コンテンツを表示するためのコンポーザブルを公開(I8e7ee
  • PdfPointPdfRectandroidx.pdf.models パッケージに移動(I26cf4
  • PDF コンテンツを表示するための View コンポーネントを公開(I9fe27
  • PDF リソースを事前に初期化してコールド スタートのレイテンシを短縮する API を公開(a18fa89
  • PDF コンテンツのハイパーリンク クリック処理をオーバーライドする API を公開(6330a8b
  • 新しいアーティファクト pdf-document-service と対応する API(PdfLoaderPdfDocumentSandboxedPdfLoader)を公開します。このインターフェースは、PDF ドキュメントの解析と処理コンポーネント(Ide70d)の実装に使用できます。
  • PdfViewPdfDocument を設定してドキュメントのレンダリングを初期化する API を公開(If8738

バージョン 1.0.0-alpha09

2025 年 5 月 7 日

androidx.pdf:pdf-*:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 には、これらの commit が含まれています。

主な変更点

  • コードベースが大幅にリファクタリングされ、コルーチンと ViewModel を使用して完全に Kotlin で記述されるようになりました。これには、PdfViewerFragment の再実装が含まれます。このリリースには、新しい API や機能は含まれていません。

既知の問題:

  • 高速スクロールとページ インジケーターにシャドウ効果がありません。
  • 1 ページの PDF ドキュメントが、ビューの幅に合わせて中央に配置され、拡大縮小されないことがあります。

API の変更

  • containerStyleResId@StyleRes アノテーションを付けます。(I88d85

バージョン 1.0.0-alpha08

2025 年 3 月 12 日

androidx.pdf:pdf-document-service:1.0.0-alpha08androidx.pdf:pdf-viewer:1.0.0-alpha08androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 にはこれらの commit が含まれています。

バグの修正

  • スケーリングの違いにより、Android デバイス間で選択メニューの配置が一致しない問題を解決しました。選択メニューの配置がデバイス間で統一されました。
  • 構成の変更などのシナリオで、フラグメントの再作成時に高速スクロールとページ インジケーターの位置を調整

バージョン 1.0.0-alpha07

2025 年 2 月 26 日

androidx.pdf:pdf-document-service:1.0.0-alpha07androidx.pdf:pdf-viewer:1.0.0-alpha07androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 には、これらの commit が含まれています。

新機能

  • PdfViewerFragmentStylingOptions(スタイル リソース ID のセット)をサポートするようになり、newInstance または XML(FragmentContainerView)によるカスタム スタイル設定が可能になりました。サブクラスは、同様の機能に保護されたコンストラクタを利用できます。
  • StylingOptions は現在 containerStyle を受け取ります。これは次のものを提供します。
    • 高速スクロール ハンドルとページ インジケーターのカスタム ドローアブルのサポート。
    • 高速スクロール ハンドルとページ インジケーターを正確に配置するための marginEnd 属性。

API の変更

  • PdfView から公開属性を追加しました(I30fc5
  • PDF ビュー用の新しい API StylingOptions を追加しました。(Id2993

バグの修正

  • 高速スクロール ハンドルとページ インジケーターの表示状態の同期の不一致を修正しました。

バージョン 1.0.0-alpha06

2025 年 1 月 29 日

androidx.pdf:pdf-document-service:1.0.0-alpha06androidx.pdf:pdf-viewer:1.0.0-alpha06androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 にはこれらの commit が含まれています。

バグの修正

  • 修正: 登録されていないサービスをバインド解除するときに IllegalArgumentException が原因でクラッシュする(eb4e85
  • 修正: mMaxPagesnumPages の違いにより IllegalArgumentException がクラッシュする。(75d763

バージョン 1.0.0-alpha05

2024 年 12 月 11 日

androidx.pdf:pdf-document-service:1.0.0-alpha05androidx.pdf:pdf-viewer:1.0.0-alpha05androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 には、これらの commit が含まれています。

バグの修正

  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin を使用している場合、次のコンパイラ引数を使用して正しい使用法を適用する必要があります。-Xjspecify-annotations=strict(Kotlin コンパイラのバージョン 2.1.0 以降ではこれがデフォルトです)。(I38301b/326456246
  • Android 13 で、回転後に以前に開いたページが表示される問題を修正しました。(Ib03dd
  • 回転時にツールボックスが消える問題を修正しました。(01148f

バージョン 1.0.0-alpha04

2024 年 11 月 13 日

androidx.pdf:pdf-viewer:1.0.0-alpha04androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 にはこれらの commit が含まれています。

対応範囲の拡大

  • PDFViewer ライブラリで Android バージョン S、T、U、V がサポートされるようになりました。この互換性の強化は、SDK 拡張機能 13 のアップデートに関連しています。

API の変更

  • PdfViewerFragment に最小 SdkExtension 制約を追加しました。(I922af
  • PDF ビューア ライブラリ用の新しい API を公開。(I0af57

バグの修正

  • プロセスの終了に関する問題のクラッシュを修正しました。
  • パスワード ダイアログに関連する UI の修正。
  • findInFileViewFastscrollView のユーザー補助機能を修正しました。

継続的な開発

  • 現在、Jetpack Compose をライブラリに組み込む作業を積極的に進めています。

バージョン 1.0.0-alpha03

2024 年 9 月 18 日

androidx.pdf:pdf-viewer:1.0.0-alpha03androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 にはこれらの commit が含まれています。

バグの修正

  • 検索を初めて開いたときにキーボードが表示されない問題を解決
  • FindInFile ビューのフォントに関する UI の修正。
  • テキスト選択とドラッグ ハンドルの UI を修正しました。

既知の問題

  • PDF ドキュメント内の 3D 画像はビューアでレンダリングされません。
  • PdfViewerFragment は、非常に大きな PDF ドキュメント(250 MB 超)でパフォーマンスの問題が発生することがあります

バージョン 1.0.0-alpha02

2024 年 9 月 4 日

androidx.pdf:pdf-viewer:1.0.0-alpha02androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 にはこれらの commit が含まれています。

バグの修正

  • 縦向きから横向きに回転したときに PDF 画像がぼやける問題と、アプリがスリープ状態になる問題を解決しました。
  • ファイル内検索メニューで、構成が変更されても結果数が維持されるようになりました。
  • 単一ページの PDF で FloatingActionButton アイコンを使用できるようになりました。
  • [ファイル内検索] バーと FloatingActionButton の重複に関する問題を修正しました。
  • テキストとハイライトのアノテーションがビューアでレンダリングされるようになりました。
  • ファイル内検索バーのユーザー補助機能を改善しました。
  • 回転に関する UI の修正が実装されました。これには、検索数の保持、テキスト選択メニューの消失に関する問題の解決、FAB の重複に関する問題の解決が含まれます。
  • 横向きモードでキーボードの背後に隠れていたファイル内検索メニューが修正されました。

既知の問題

  • PDF ドキュメント内の 3D 画像はビューアでレンダリングされません。
  • PdfViewerFragment は、非常に大きな PDF ドキュメント(250 MB 超)でパフォーマンスの問題が発生することがあります

バージョン 1.0.0-alpha01

2024 年 8 月 7 日

androidx.pdf:pdf-viewer:1.0.0-alpha01androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 にはこれらの commit が含まれています。

新機能

PDFViewer の最初のアルファ版リリースには、PDF の読み取りのコア シナリオを可能にする初期プレビュー実装が含まれています。なお、PdfViewerFragment は現在 Android V(SDK 35)バージョンでのみサポートされています。古い Android バージョンのサポートは、今後のリリースで追加される予定です。

  • アプリで PDF ドキュメントをレンダリングするために使用できる PdfViewerFragment を導入しました。PdfViewerFragment は、アクティビティでの PDF ビューアの統合を簡素化し、ユーザーが次の方法で操作できるようにします。
    • ズーム: ピンチイン / ピンチアウトでズームレベルを調整して快適に読書できます。ダブルタップでデフォルトの状態にすばやくズームイン / ズームアウトできます。
    • ナビゲーション: デフォルト状態またはズーム状態でのスクロール。PdfViewerFragment は、ページ間をすばやくスクロールするためのクイック スクラバーを提供します。
    • テキスト アクション: テキストを長押しすると、そのテキストが選択され、現在のページで [コピー] や [すべて選択] などのオプションを使用できるようになります。
    • パスワードで保護されたドキュメント: PdfViewerFragment は、ユーザーがパスワードを入力してドキュメントを開くためのダイアログ ボックスを提供します。
    • ナビゲーション可能なハイパーリンク: PDF 内のハイパーリンクをタップして、ウェブ URL やブックマークに移動できます。
    • アノテーション モードへのショートカット: 編集モードは PdfViewerFragment ではまだサポートされていません。代わりに、PdfViewerFragment はドキュメント URI を含む暗黙的な android.intent.action.ANNOTATE インテントを起動する FloatingActionButton を表示します。

API の変更

  • ドキュメントのファイルまたはコンテンツ URI を設定し、ドキュメントの読み込みを開始する PdfViewerFragment.documentUri プロパティを追加しました。PdfViewerFragment は、URI が設定されると読み込みスピナーを表示し、ドキュメントのバックグラウンド処理を示します。
  • PdfViewerFragment.isTextSearchActive を追加して、ファイル内検索メニューの表示 / 非表示を切り替えられるようにしました。PdfViewerFragment はフロー全体を処理します。入力、一致した合計数の表示、結果間の移動、終了が可能です。
  • ドキュメントのレンダリングが成功した後、またはレンダリング前にエラーがスローされた後に呼び出される onDocumentLoadSuccess コールバックと onDocumentLoadError コールバックを追加しました。

既知の問題

  • ファイル内検索バーが FloatingActionButton と重なることがある。
  • 1 ページの PDF で FloatingActionButton アイコンが表示されない。
  • ファイル内検索メニューで構成を変更すると、結果の数が保持されない。
  • ファイル内検索メニューを閉じるときにちらつきが発生する
  • PDF ドキュメント内の 3D 画像はビューアでレンダリングされません。
  • ユーザー補助機能は、次のリリースで有効になります。
  • 縦向きから横向きに回転すると、PDF 画像がぼやける。
  • テキスト/ハイライト アノテーションはサポートされていません。
  • PdfViewerFragment は、非常に大きな PDF ドキュメント(250 MB 超)でパフォーマンスの問題が発生することがあります

  • compileSdk を 35 5dc41be に更新