| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 25 Februari 2026 | - | - | - | 1.0.0-alpha14 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada pdf, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha14" }
Kotlin
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha14") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Tidak ada catatan rilis untuk artefak ini.
Versi 1.0
Versi 1.0.0-alpha14
25 Februari 2026
androidx.pdf:pdf-*:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.
Fitur Baru
- Interaksi Hardware Eksternal: Dukungan penuh untuk pintasan keyboard dan peristiwa mouse kini tersedia di library
PdfViewer.- Navigasi & Kontrol Keyboard:
- Melakukan zoom: Gunakan Ctrl + + atau Ctrl + = untuk memperbesar, Ctrl + - untuk memperkecil, dan Ctrl + 0 untuk menyesuaikan dokumen agar "muat di lebar".
- Men-scroll: Tombol panah standar (D-pad) memungkinkan pen-scroll ke atas, bawah, kiri, dan kanan, termasuk melompat ke halaman berikutnya atau sebelumnya saat berada di batas.
- Pilihan: Gunakan Ctrl + C untuk menyalin konten yang saat ini dipilih dengan cepat.
- Dukungan Mouse yang Lebih Baik:
- Roda Scroll: Dukungan untuk men-scroll secara vertikal dan horizontal. Gunakan Ctrl + Roda Scroll untuk memperbesar dokumen relatif terhadap posisi kursor mouse.
- Pemilihan: Klik dan tarik dengan tombol mouse utama untuk memilih teks.
- Peningkatan Formulir & Widget:
- Menambahkan opsi Pilihan kustom untuk Kotak Kombinasi.
- Callback pengeditan widget formulir kini dipicu untuk semua pembaruan teks pengeditan
Perubahan API
- Mengekspos
PdfDocumentdariPdfViewerFragmentmelaluionDocumentLoadSuccess(pdfDocument). (I4b47d, b/481616017)
Perbaikan Bug
- Hindari penggabungan Bitmap di
ImageSelectionuntuk mencegahRuntimeExceptionsaat menyimpan status instance (I07bab). - Menonaktifkan fitur anotasi saat penelusuran PDF aktif untuk meningkatkan fokus Ia9866.
- Memastikan permintaan awal/akhir penyorotan selalu diproses (I9a863).
- Memfokuskan item palet warna atau penggeser kuas yang dipilih saat dibuka (Ie7a75).
- Memperbarui callback pengeditan widget formulir agar dipicu untuk semua pembaruan teks pengeditan (Icebe6).
- Memperbaiki dialog batal yang menghilang setelah perubahan konfigurasi (I71a39).
- Memperbaiki gambar yang meluas di luar batas halaman (I88bd5).
- Menghapus pilihan teks saat memasuki mode edit (I26fb9).
- Memperbaiki widget teks yang tidak diperbarui setelah mengetuk widget lain (I5dffc).
Versi 1.0.0-alpha13
11 Februari 2026
androidx.pdf:pdf-*:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha13 berisi commit ini.
Fitur Baru
- Memperkenalkan
EditablePdfViewerFragment, yang memperluasPdfViewerFragmentstandar untuk menyediakan kemampuan pengeditan PDF, termasuk anotasi dan pengisian formulir. - Anotasi: Memanfaatkan library
androidx.inkuntuk memberikan dukungan anotasi PDF yang komprehensif. Toolbar khusus, yang dipicu oleh pengeditanFloatingActionButton, memberikan akses ke alat khusus, termasuk:- Pena: Memungkinkan penulisan dan gambar dengan tangan bebas langsung pada dokumen. Pengguna dapat menyesuaikan goresan pena dengan ketebalan yang dapat disesuaikan dan palet warna yang luas.
- Penyorot: Mendukung penyorotan teks dengan format bebas dan yang disesuaikan dengan teks, tersedia dalam berbagai warna.
- Penghapus: Menghapus anotasi tertentu secara presisi.
- Urungkan dan Ulangi: Menyediakan kemampuan bawaan untuk mengurungkan atau mengulangi perubahan terbaru dengan lancar.
- Pengisian Formulir: Dukungan untuk mengklik dan mengubah kolom formulir seperti input teks, drop-down, kotak centang, dan tombol pilihan.
EditablePdfViewerFragmentmendukung kemampuan pengisian formulir inline yang memberikan pengalaman pengguna yang lancar. Fitur ini dikontrol melalui APIisFormFillingEnableddiPdfView.EditablePdfDocument: Antarmuka baru yang memperluasPdfDocumentuntuk mengelola dan menerapkan pengeditan data formulir.- Composable
PdfViewermendukung interaksi dengan kolom formulir, yang dapat dikontrol melalui parameterisFormFillingEnabled.
- Menyimpan Perubahan:
PdfWriteHandlememungkinkan penerapan konten yang diedit ke file tertentu. - Pemilihan Gambar: Menambahkan dukungan untuk memilih gambar saat ditekan lama dalam dokumen PDF. Fitur ini diaktifkan melalui properti
isImageSelectionEnableddiPdfViewdan composablePdfViewer. Data yang dihasilkan ditampilkan melalui modelImageSelectiondiOnSelectionChangedListener. - Tata Letak Dua Halaman: Menambahkan mode tata letak berdampingan untuk perangkat layar besar, yang dapat dikonfigurasi menggunakan properti
pagesPerRowdiPdfViewdan composablePdfViewer.
Perubahan API
- Memperkenalkan Image Selection API di Jetpack PDF Library (Iee0b9, b/470897750)
- Membuat API lapisan pemrosesan pengisian Formulir menjadi publik. (Iec39c, b/474260451)
- Menambahkan parameter
renderParamskeopenDocumentAPI diSandboxedPdfLoader(If9344, b/438269273) - Menambahkan API lapisan presentasi pengisian formulir (I829c5, b/449869703)
- Menambahkan anotasi
@MainThreadpada metode callbackOnFirstContentLoadListenerdanOnSelectionChangedListener(I4cf10, b/466965940) - Menandai konstruktor
ApplyInProgressExceptionsebagai internal, sehingga mencegah instansiasi eksternal (I5cc66, b/465414484) - Menambahkan anotasi
@MainThreadpada metode callback pemroses diPdfView(Ie7201, b/429407597) - Menambahkan API untuk kemampuan pengeditan native melalui
EditablePdfViewerFragment. (Ifae6c, b/462049364) - Menambahkan
FirstContentLoadAPI kePdfViewdanPdfViewer(Icf63d, b/461666545) - [2Page] Menambahkan API Tata Letak Dua Halaman ke Library
PdfViewer(I8d7f1, b/452517650)
Perbaikan Bug
- Perbaikan untuk pengecualian karena Halaman sudah ditutup sebelum mengambil bitmap (b/475255729)
Versi 1.0.0-alpha12
3 Desember 2025
androidx.pdf:pdf-*:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Perubahan API
- Hapus fungsi
textAsStringdariTextSelectionke androidx-main - Mengganti nama
clearSelectionmenjadiclearCurrentSelection(I3a318, b/429407597) - Menghapus fungsi
textAsStringdariTextSelection(I1305d, b/429407798)
Perbaikan Bug
- Memperbaiki masalah saat peng-scroll cepat di
PdfViewtidak terlihat secara default. (I7fb0e) - Memperbaiki error di
TextSelectionMenuProvideruntuk pilihan dengan teks null. (I855df)
Versi 1.0.0-alpha11
22 Oktober 2025
androidx.pdf:pdf-*:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.
Fitur Baru
- Mengaktifkan Item Menu Smart pada pilihan konten PDF.
- Mengaktifkan pemilihan hyperlink dan pemilihan link GoTo di PDF.
- Mengekspos API menu pilihan
fromPdfViewdan ComposablePdfViewer, yang memungkinkan developer menambahkan item menu pilihan. - Menambahkan API perataan halaman di PdfView dan PdfViewer Composable yang memungkinkan developer memilih perataan halaman saat tinggi konten < tinggi area tampilan.
Perubahan API
- Menjadikan
contentDescnullable dan menghapus nilai default. (I86f8c, b/441973880) - Mengekspos
PdfSelectionMenuKeysuntuk Item Menu Pemilihan Link (Ic9b05, b/447079082) - Menambahkan
PageAlignmentAPI kePdfViewdanPdfViewerke androidx-main - Mengubah API terkait sudut untuk menggunakan derajat dan menyertakan unit dalam nama, memperjelas unit dalam utilitas konversi Sudut dan mendukung derajat serta radian, mengubah
StockBrushesAPI untuk menggunakan versi kuas stok sebagai parameter fungsi factory dan mengekspos kontrol perilaku tumpang-tindih sendiri untuk kuas penyorot, mengganti namaMutableAffineTransform.populateFromTranslatemenjadipopulateFromTranslation, menghapusInProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418) - Menambahkan
PageAlignmentAPI kePdfViewdanPdfViewer(I9c9a5, b/438065228) - Mengekspos API Menu Pilihan dari Composable
PdfViewer(Id9b0f, b/407663999) - Jadikan
PdfViewsebagaiViewGroup. Tidak ada dukungan untuk turunan arbitrer. (Ib51d8, b/410008792) - Mengekspos
HyperLinkSelectiondanGoToLinkSelectiondariPdfView(I378c4, b/441280002) - Memfaktorkan ulang
PdfPageContentuntuk mendukung pilihan generik (I28f16, b/437845185) - Mengekspos Selection Menu API dari
PdfView(Idd547, b/407663737) - Memindahkan class terkait seleksi ke paket khusus (I953cb, b/436157691)
- Memperkenalkan
onPdfViewCreatedeksperimental untuk akses PdfView diPdfViewerFragment. (I86715, b/422620454) - Menambahkan
FileDescriptorAPI kePdfLoader(I60b8d)
Perbaikan Bug
- Meningkatkan pemodelan input untuk membuat goresan lebih akurat mencerminkan input (I93097)
Kontribusi Eksternal
- Mengekspos
PdfSelectionMenuKeysuntuk Item Menu Pemilihan Link - Mengekspos Selection Menu API dari Composable
PdfViewer - Mengekspos Selection Menu API dari
PdfView
Versi 1.0.0-alpha10
16 Juli 2025
androidx.pdf:pdf-*:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Fitur Baru
- Pilihan yang ditingkatkan yang memungkinkan pengguna memilih teks di beberapa halaman dengan menarik tuas pilihan di luar batas halaman.
- Aplikasi kini dapat mencegat dan menyesuaikan penanganan klik hyperlink dalam dokumen PDF.
Perubahan API
- Mengekspos Composable untuk menampilkan konten PDF (I8e7ee)
- Memindahkan
PdfPointdanPdfRectke paketandroidx.pdf.models(I26cf4) - Mengekspos komponen View untuk menampilkan konten PDF (I9fe27)
- Mengekspos API untuk menginisialisasi resource PDF lebih awal dan mengurangi latensi mulai dingin (a18fa89)
- Mengekspos API untuk mengganti penanganan klik hyperlink pada konten PDF(6330a8b)
- Mengekspos artefak baru pdf-document-service dan API yang sesuai -
PdfLoader,PdfDocument, danSandboxedPdfLoader. Antarmuka dapat digunakan untuk menerapkan komponen parsing dan pemrosesan dokumen PDF (Ide70d) - Mengekspos API untuk menyetel
PdfDocumentpadaPdfViewuntuk menginisialisasi rendering dokumen (If8738)
Versi 1.0.0-alpha09
7 Mei 2025
androidx.pdf:pdf-*:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.
Perubahan Utama
- Codebase telah mengalami refaktorisasi besar dan kini sepenuhnya ditulis di Kotlin, menggunakan Coroutine dan
ViewModel. Hal ini mencakup penerapan ulangPdfViewerFragment. Rilis ini tidak menyertakan API atau fitur baru.
Masalah Umum:
- Penggeser cepat dan indikator halaman tidak memiliki efek bayangan.
- Dokumen PDF satu halaman mungkin tidak selalu berada di tengah dan diskalakan ke lebar tampilan.
Perubahan API
- Anotasikan
containerStyleResIddengan@StyleRes. (I88d85)
Versi 1.0.0-alpha08
12 Maret 2025
androidx.pdf:pdf-document-service:1.0.0-alpha08, androidx.pdf:pdf-viewer:1.0.0-alpha08, dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.
Perbaikan Bug
- Memperbaiki penempatan menu pilihan yang tidak konsisten di berbagai perangkat Android karena perbedaan penskalaan. Penempatan menu pilihan kini konsisten di seluruh perangkat.
- Menyelaraskan posisi penggeser cepat dan indikator halaman saat pembuatan ulang fragmen dalam skenario seperti perubahan konfigurasi, dll.
Versi 1.0.0-alpha07
26 Februari 2025
androidx.pdf:pdf-document-service:1.0.0-alpha07, androidx.pdf:pdf-viewer:1.0.0-alpha07, dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Fitur Baru
PdfViewerFragmentkini mendukungStylingOptions(sekumpulan ID resource gaya) yang memungkinkan penataan gaya kustom melaluinewInstanceatau XML (FragmentContainerView). Subclass dapat menggunakan konstruktor yang dilindungi untuk fungsionalitas serupa.StylingOptionssaat ini menerimacontainerStyleyang menyediakan:- Dukungan drawable kustom untuk tuas scroll cepat dan indikator halaman.
- Atribut
marginEnduntuk penempatan yang tepat pada tuas scroll cepat dan indikator halaman.
Perubahan API
- Menambahkan atribut publik dari
PdfView(I30fc5) - Menambahkan API baru
StylingOptionsuntuk tampilan PDF. (Id2993)
Perbaikan Bug
- Memperbaiki perbedaan sinkronisasi antara tuas scroll cepat dan status visibilitas indikator halaman.
Versi 1.0.0-alpha06
29 Januari 2025
androidx.pdf:pdf-document-service:1.0.0-alpha06, androidx.pdf:pdf-viewer:1.0.0-alpha06, dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Perbaikan Bug
- Perbaikan: Error yang disebabkan oleh
IllegalArgumentExceptionsaat melepaskan binding layanan yang tidak terdaftar (eb4e85) - Perbaikan: Error
IllegalArgumentExceptionkarena perbedaanmMaxPagesdannumPages. (75d763)
Versi 1.0.0-alpha05
11 Desember 2024
androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05, dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Perbaikan Bug
- Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict(ini adalah nilai default yang dimulai dengan compiler Kotlin versi 2.1.0). (I38301, b/326456246) - Memperbaiki halaman yang sebelumnya dibuka ditampilkan setelah rotasi di Android 13. (Ib03dd)
- Memperbaiki Toolbox yang menghilang saat Rotasi. (01148f)
Versi 1.0.0-alpha04
13 November 2024
androidx.pdf:pdf-viewer:1.0.0-alpha04 dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Kompatibilitas yang Diperluas
- Library
PDFViewerkini mendukung Android versi S, T, U, dan V. Kompatibilitas yang ditingkatkan ini terkait dengan update ekstensi SDK 13.
Perubahan API
- Menambahkan batasan minimum
SdkExtensionkePdfViewerFragment. (I922af) - Mengekspos API baru untuk library PDF Viewer. (I0af57)
Perbaikan Bug
- Perbaikan error untuk masalah penghentian proses.
- Perbaikan UI terkait dialog sandi.
- Perbaikan aksesibilitas untuk
findInFileViewdanFastscrollView.
Pengembangan Berkelanjutan
- Kami sedang berupaya mengintegrasikan Jetpack Compose ke dalam library.
Versi 1.0.0-alpha03
18 September 2024
androidx.pdf:pdf-viewer:1.0.0-alpha03 dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perbaikan Bug
- Keyboard tidak muncul saat penelusuran dibuka untuk pertama kalinya telah diselesaikan
- Perbaikan UI terkait font tampilan FindInFile.
- Perbaikan UI untuk pemilihan teks dan handel penarikan.
Masalah Umum
- Gambar 3D dalam dokumen PDF tidak dirender di penampil.
PdfViewerFragmentmemiliki beberapa masalah performa pada dokumen PDF yang sangat besar (> 250 MB)
Versi 1.0.0-alpha02
4 September 2024
androidx.pdf:pdf-viewer:1.0.0-alpha02 dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perbaikan Bug
- Masalah gambar PDF yang buram saat memutar dari potret ke lanskap dan aplikasi menjadi tidak aktif telah diselesaikan.
- Menu temukan dalam file kini mempertahankan jumlah hasil meskipun konfigurasi berubah.
- Ikon
FloatingActionButtonkini tersedia untuk PDF satu halaman. - Masalah tumpang-tindih antara kolom Temukan dalam file dan
FloatingActionButtontelah diperbaiki. - Anotasi teks dan sorotan kini dapat dirender di penampil.
- Peningkatan aksesibilitas telah dilakukan pada kolom Temukan dalam file.
- Perbaikan UI telah diterapkan untuk rotasi, termasuk mempertahankan jumlah penemuan, mengatasi menu pilihan teks yang menghilang, dan menyelesaikan masalah FAB yang tumpang-tindih.
- Menu temukan dalam file yang tersembunyi di balik keyboard dalam mode lanskap telah diperbaiki.
Masalah Umum
- Gambar 3D dalam dokumen PDF tidak dirender di penampil.
PdfViewerFragmentmemiliki beberapa masalah performa pada dokumen PDF yang sangat besar (> 250 MB)
Versi 1.0.0-alpha01
7 Agustus 2024
androidx.pdf:pdf-viewer:1.0.0-alpha01 dan androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
Rilis alfa awal PDFViewer mencakup implementasi pratinjau awal yang memungkinkan skenario pembacaan PDF inti. Perhatikan bahwa PdfViewerFragment saat ini hanya didukung di versi Android V (SDK 35). Dukungan untuk versi Android yang lebih lama akan ditambahkan dalam rilis mendatang.
- Memperkenalkan
PdfViewerFragmentyang dapat digunakan aplikasi Anda untuk merender dokumen PDF.PdfViewerFragmentmenyederhanakan integrasi penampil PDF di Aktivitas Anda dan memungkinkan pengguna berinteraksi dengan cara berikut:- Zoom: Cubit untuk memperbesar dan memperkecil tingkat zoom untuk pengalaman membaca yang nyaman, serta ketuk dua kali untuk memperbesar/memperkecil dengan cepat ke kondisi default.
- Navigasi: Scroll dalam status default/di-zoom.
PdfViewerFragmentmenyediakan penggeser cepat untuk men-scroll dengan cepat antar-halaman. - Tindakan teks: Mengetuk lama teks akan memilihnya, sehingga pengguna dapat menggunakan opsi seperti Salin dan Pilih semua di halaman saat ini.
- Dokumen yang dilindungi sandi:
PdfViewerFragmentmenyediakan kotak dialog bagi pengguna untuk memasukkan sandi dan membuka dokumen. - Hyperlink yang dapat dinavigasi: Pengguna dapat membuka URL Web atau bookmark dengan mengetuk hyperlink dalam PDF.
- Pintasan ke mode anotasi: Mode edit belum didukung di
PdfViewerFragment. Sebagai gantinya,PdfViewerFragmentmenampilkanFloatingActionButtonyang memicu intentandroid.intent.action.ANNOTATEimplisit dengan URI dokumen.
Perubahan API
- Menambahkan properti
PdfViewerFragment.documentUriuntuk menetapkan URI file atau konten untuk dokumen dan memulai pemuatan dokumen.PdfViewerFragmentmenampilkan indikator pemuatan dengan lingkaran berputar saat URI disetel yang menunjukkan pemrosesan dokumen di latar belakang. - Menambahkan
PdfViewerFragment.isTextSearchActiveuntuk mengganti visibilitas menu temukan di file.PdfViewerFragmentmenangani seluruh alur - memungkinkan input, menampilkan jumlah total kecocokan, memungkinkan navigasi di antara hasil, dan keluar dari hasil. - Menambahkan callback
onDocumentLoadSuccessdanonDocumentLoadErroryang dipanggil setelah rendering dokumen berhasil atau setelah error terjadi sebelum rendering.
Masalah Umum
- Panel temukan di file tumpang-tindih dengan
FloatingActionButtondalam beberapa kasus. - ikon
FloatingActionButtontidak terlihat untuk PDF halaman tunggal. - Jumlah hasil tidak dipertahankan saat perubahan konfigurasi di menu temukan dalam file.
- Terjadi kedipan saat menutup menu temukan dalam file
- Gambar 3D dalam dokumen PDF tidak dirender di penampil.
- Fitur aksesibilitas akan diaktifkan dalam rilis berikut.
- Gambar PDF menjadi buram saat diputar dari potret ke lanskap.
- Tidak ada dukungan untuk anotasi teks/sorotan.
PdfViewerFragmentmemiliki beberapa masalah performa pada dokumen PDF yang sangat besar (> 250 MB)
Catatan
- Perbarui
compileSdkke 35 5dc41be