| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2026 年 2 月 11 日 | - | - | - | 1.0.0-alpha13 |
依存関係の宣言
pdf への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
このアーティファクトのリリースノートはありません。
バージョン 1.0
バージョン 1.0.0-alpha13
2026 年 2 月 11 日
androidx.pdf:pdf-*:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。
新機能
- 標準の
PdfViewerFragmentを拡張して、注釈やフォーム入力などの PDF 編集機能を提供するEditablePdfViewerFragmentを導入しました。 - アノテーション:
androidx.inkライブラリを活用して、PDF アノテーションの包括的なサポートを提供します。編集FloatingActionButtonによってトリガーされる専用のツールバーから、次のような専用ツールにアクセスできます。- ペン: ドキュメントに直接フリーハンドで書き込みや描画を行うことができます。ペンのストロークの太さを調整したり、幅広いカラーパレットから色を選択したりして、カスタマイズできます。
- ハイライト表示: 自由形式とテキスト スナップの両方のハイライト表示をサポートし、複数の色で利用できます。
- 消しゴム: 特定のメモを正確に削除します。
- 元に戻す / やり直す: 直前の変更をシームレスに元に戻したりやり直したりするための組み込み機能を提供します。
- フォームの入力: テキスト入力、プルダウン、チェックボックス、ラジオボタンなどのフォーム フィールドをクリックして変更する機能。
EditablePdfViewerFragmentはインラインのフォーム入力機能をサポートしており、シームレスなユーザー エクスペリエンスを提供します。この機能は、PdfViewのisFormFillingEnabledAPI で制御されます。EditablePdfDocument: フォームデータの編集を管理、適用するためのPdfDocumentを拡張する新しいインターフェース。- コンポーザブル
PdfViewerは、isFormFillingEnabledパラメータで制御可能なフォーム フィールドとのインタラクションをサポートしています。
- 変更の保存:
PdfWriteHandleを使用すると、編集したコンテンツを指定したファイルにコミットできます。 - 画像選択: PDF ドキュメント内で長押しして画像を選択する機能を追加しました。この機能は、
PdfViewとPdfViewerコンポーザブルの両方のisImageSelectionEnabledプロパティで有効になります。結果のデータは、OnSelectionChangedListenerのImageSelectionモデルを介して公開されます。 - 2 ページ レイアウト: 大画面デバイス用の並列レイアウト モードを追加しました。このモードは、
PdfViewのpagesPerRowプロパティとPdfViewerコンポーザブルを使用して構成できます。
API の変更
- Jetpack PDF ライブラリに画像選択 API を導入(Iee0b9、b/470897750)
- フォーム入力処理レイヤ API を公開します。(Iec39c、b/474260451)
SandboxedPdfLoaderのopenDocumentAPI にrenderParamsパラメータを追加(If9344、b/438269273)- フォーム入力のプレゼンテーション レイヤ API を追加(I829c5、b/449869703)
OnFirstContentLoadListenerとOnSelectionChangedListenerのコールバック メソッドに@MainThreadアノテーションを追加しました(I4cf10、b/466965940)ApplyInProgressExceptionコンストラクタを内部としてマークし、外部インスタンス化を防止しました(I5cc66、b/465414484)PdfViewのリスナーのコールバック メソッドに@MainThreadアノテーションを追加しました(Ie7201、b/429407597)EditablePdfViewerFragmentを介したネイティブ編集機能の API を追加(Ifae6c、b/462049364)PdfViewとPdfViewerにFirstContentLoadAPI を追加しました(Icf63d、b/461666545)- [2 ページ] 2 ページ レイアウト API を
PdfViewerライブラリに追加(I8d7f1、b/452517650)
バグの修正
- ビットマップを取得する前にページがすでに閉じられていることによる例外を修正しました(b/475255729)
バージョン 1.0.0-alpha12
2025 年 12 月 3 日
androidx.pdf:pdf-*:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。
API の変更
TextSelectionから androidx-main にtextAsString関数を削除clearSelectionの名前をclearCurrentSelectionに変更(I3a318、b/429407597)TextSelectionからtextAsString関数を削除しました(I1305d、b/429407798)
バグの修正
PdfViewの高速スクローラーがデフォルトで表示されない問題を修正しました。(I7fb0e)- テキストが null の選択で
TextSelectionMenuProviderがクラッシュする問題を修正。(I855df)
バージョン 1.0.0-alpha11
2025 年 10 月 22 日
androidx.pdf:pdf-*:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
新機能
- PDF コンテンツの選択でスマート メニュー アイテムを有効にする。
- PDF でハイパーリンクの選択とリンクへの移動の選択を有効にしました。
- 選択メニューの API
fromPdfViewとPdfViewerコンポーザブルを公開。これにより、デベロッパーは選択メニュー項目を追加できます。 - PdfView と PdfViewer コンポーザブルにページ配置 API を追加しました。これにより、コンテンツの高さがビューポートの高さより小さい場合に、デベロッパーがページ配置を選択できるようになります。
API の変更
contentDescを null 可能にし、デフォルト値を削除しました。(I86f8c、b/441973880)- リンク選択メニュー アイテムの
PdfSelectionMenuKeysを公開(Ic9b05、b/447079082) PageAlignmentAPI をPdfViewに追加し、PdfViewerを androidx-main に追加- 角度関連の API を度数を使用するように変更し、名前に単位を含め、角度変換ユーティリティの単位を明確にし、度数とラジアンの両方をサポートし、
StockBrushesAPI をファクトリ関数パラメータとしてストック ブラシ バージョンを受け取るように変更し、ハイライト ブラシの自己オーバーラップ動作制御を公開し、MutableAffineTransform.populateFromTranslateをpopulateFromTranslationに変更し、InProgressStrokesView.setRenderFactory/getRenderFactoryを削除。(Id9eab、b/436656418) PageAlignmentAPI をPdfViewとPdfViewerに追加(I9c9a5、b/438065228)PdfViewerComposable から Selection Menu API を公開(Id9b0f、b/407663999)PdfViewをViewGroupにします。任意の子要素はサポートされていません。(Ib51d8、b/410008792)PdfViewからHyperLinkSelectionとGoToLinkSelectionを公開(I378c4、b/441280002)- 汎用選択をサポートするよう
PdfPageContentをリファクタリング(I28f16、b/437845185) PdfViewから選択メニュー API を公開(Idd547、b/407663737)- 選択関連のクラスを専用のパッケージに移動(I953cb、b/436157691)
PdfViewerFragmentで PdfView アクセス用の試験運用版onPdfViewCreatedを導入します。(I86715、b/422620454)FileDescriptorAPI をPdfLoaderに追加(I60b8d)
バグの修正
- 入力モデリングを改善し、ストロークがより正確に入力を反映するようにした(I93097)
外部からの協力
- リンク選択メニュー項目の
PdfSelectionMenuKeysを公開 PdfViewerコンポーザブルから選択メニュー API を公開PdfViewから Selection Menu API を公開
バージョン 1.0.0-alpha10
2025 年 7 月 16 日
androidx.pdf:pdf-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
- 選択範囲を拡張し、ページ境界を越えて選択ハンドルをドラッグすることで、複数のページにわたってテキストを選択できるようにしました。
- アプリケーションで、PDF ドキュメント内のハイパーリンクのクリック処理をインターセプトしてカスタマイズできるようになりました。
API の変更
- PDF コンテンツを表示するための Composable を公開(I8e7ee)
PdfPointとPdfRectをandroidx.pdf.modelsパッケージに移動(I26cf4)- PDF コンテンツを表示するための View コンポーネントを公開(I9fe27)
- PDF リソースを事前に初期化してコールド スタートのレイテンシを短縮する API を公開(a18fa89)
- PDF コンテンツのハイパーリンク クリック処理をオーバーライドする API を公開(6330a8b)
- 新しいアーティファクト pdf-document-service と対応する API(
PdfLoader、PdfDocument、SandboxedPdfLoader)を公開します。このインターフェースは、PDF ドキュメントの解析と処理のコンポーネント(Ide70d)の実装に使用できます。 PdfViewでPdfDocumentを設定してドキュメントのレンダリングを初期化する 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-alpha08、androidx.pdf:pdf-viewer:1.0.0-alpha08、androidx.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-alpha07、androidx.pdf:pdf-viewer:1.0.0-alpha07、androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
PdfViewerFragmentがStylingOptions(スタイル リソース ID のセット)をサポートするようになり、newInstanceまたは XML(FragmentContainerView)によるカスタム スタイル設定が可能になりました。サブクラスは、同様の機能に保護されたコンストラクタを利用できます。StylingOptionsは現在containerStyleを受け取ります。containerStyleは次のものを提供します。- 高速スクロール ハンドルとページ インジケーターのカスタム ドローアブルのサポート。
- 高速スクロール ハンドルとページ インジケーターを正確に配置するための
marginEnd属性。
API の変更
バグの修正
- 高速スクロール ハンドルとページ インジケーターの表示状態の同期の不一致を修正しました。
バージョン 1.0.0-alpha06
2025 年 1 月 29 日
androidx.pdf:pdf-document-service:1.0.0-alpha06、androidx.pdf:pdf-viewer:1.0.0-alpha06、androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
バグの修正
- 修正: 登録されていないサービスをバインド解除するときに
IllegalArgumentExceptionが原因でクラッシュする(eb4e85) - 修正:
mMaxPagesとnumPagesの違いによりIllegalArgumentExceptionがクラッシュする。(75d763)
バージョン 1.0.0-alpha05
2024 年 12 月 11 日
androidx.pdf:pdf-document-service:1.0.0-alpha05、androidx.pdf:pdf-viewer:1.0.0-alpha05、androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin を使用している場合、次のコンパイラ引数を使用して正しい使用法を適用する必要があります。
-Xjspecify-annotations=strict(Kotlin コンパイラのバージョン 2.1.0 以降ではデフォルトです)。(I38301、b/326456246) - Android 13 で、回転後に以前に開いたページが表示される問題を修正しました。(Ib03dd)
- 回転時にツールボックスが消える問題を修正しました。(01148f)
バージョン 1.0.0-alpha04
2024 年 11 月 13 日
androidx.pdf:pdf-viewer:1.0.0-alpha04 と androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
対応範囲の拡大
PDFViewerライブラリで Android バージョン S、T、U、V がサポートされるようになりました。この互換性の強化は、SDK 拡張機能 13 のアップデートに関連しています。
API の変更
バグの修正
- プロセスの終了に関する問題のクラッシュを修正しました。
- パスワード ダイアログに関連する UI の修正。
findInFileViewとFastscrollViewのユーザー補助機能を修正しました。
継続的な開発
- 現在、Jetpack Compose をライブラリに組み込む作業を積極的に進めています。
バージョン 1.0.0-alpha03
2024 年 9 月 18 日
androidx.pdf:pdf-viewer:1.0.0-alpha03 と androidx.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-alpha02 と androidx.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-alpha01 と androidx.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プロパティを追加しました。URI が設定されると、PdfViewerFragmentは読み込みスピナーを表示して、ドキュメントのバックグラウンド処理を示します。 PdfViewerFragment.isTextSearchActiveを追加して、ファイル内検索メニューの表示 / 非表示を切り替えられるようにしました。PdfViewerFragmentはフロー全体を処理します。入力、一致した合計数の表示、結果間の移動、終了が可能です。- ドキュメントのレンダリングが成功した後、またはレンダリング前にエラーがスローされた後に呼び出される
onDocumentLoadSuccessコールバックとonDocumentLoadErrorコールバックを追加しました。
既知の問題
- ファイル内検索バーが
FloatingActionButtonと重なることがある。 - 1 ページの PDF で
FloatingActionButtonアイコンが表示されない。 - ファイル内検索メニューで構成を変更すると、結果の数が保持されない。
- [ファイル内検索] メニューを閉じるときにちらつきが発生する
- PDF ドキュメント内の 3D 画像はビューアでレンダリングされません。
- ユーザー補助機能は、次のリリースで有効になります。
- 縦向きから横向きに回転すると、PDF 画像がぼやける。
- テキスト/ハイライト アノテーションはサポートされていません。
PdfViewerFragmentは、非常に大きな PDF ドキュメント(250 MB 超)でパフォーマンスの問題が発生することがあります
注
compileSdkを 35 5dc41be に更新