pdf

  
Uygulamalara PDF görüntüleme özellikleri eklemek için kullanılan bir kitaplık.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
11 Şubat 2026 - - - 1.0.0-alpha13

Bağımlılıkları bildirme

PDF'ye bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapıtların bağımlılıklarını ekleyin:

Eski

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

Kotlin

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

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Bu yapıyla ilgili sürüm notu yok.

Sürüm 1.0

Sürüm 1.0.0-alpha13

11 Şubat 2026

androidx.pdf:pdf-*:1.0.0-alpha13 iptal edilir. 1.0.0-alpha13 sürümü bu commit'leri içerir.

Yeni Özellikler

  • EditablePdfViewerFragment özelliği kullanıma sunuldu. Bu özellik, standart PdfViewerFragment özelliğini genişleterek ek açıklamalar ve form doldurma gibi PDF düzenleme özellikleri sunar.
  • Notlar: Kapsamlı PDF notu desteği sağlamak için androidx.ink kitaplığından yararlanır. Düzenle FloatingActionButton simgesiyle tetiklenen özel bir araç çubuğu, aşağıdakiler dahil olmak üzere özel araçlara erişim sağlar:
    • Kalem: Doğrudan belgeye serbest el yazısı yazma ve çizim yapmayı sağlar. Kullanıcılar, ayarlanabilir kalınlık ve geniş bir renk paletiyle kalem vuruşunu özelleştirebilir.
    • Vurgulayıcı: Hem serbest biçimli hem de metne tutturarak vurgulamayı destekler ve birden fazla renkte kullanılabilir.
    • Silgi: Belirli ek açıklamaları hassas bir şekilde kaldırır.
    • Geri alma ve yeniden yapma: En son değişiklikleri sorunsuz bir şekilde geri almak veya yeniden yapmak için yerleşik özellikler sunar.
  • Form Doldurma: Metin girişleri, açılır listeler, onay kutuları ve radyo düğmeleri gibi form alanlarının tıklanması ve değiştirilmesi desteklenir.
    • EditablePdfViewerFragment, sorunsuz bir kullanıcı deneyimi sağlayan satır içi form doldurma özelliklerini destekler. Bu özellik, PdfView içindeki isFormFillingEnabled API'si üzerinden kontrol edilir.
    • EditablePdfDocument: Form verisi düzenlemelerini yönetmek ve uygulamak için PdfDocument'yi genişleten yeni bir arayüz.
    • PdfViewer composable'ı, isFormFillingEnabled parametresiyle kontrol edilebilen form alanlarıyla etkileşimi destekler.
  • Değişiklikleri Kaydetme: PdfWriteHandle, düzenlenen içeriğin belirtilen bir dosyaya kaydedilmesine olanak tanır.
  • Resim Seçimi: PDF dokümanlarında uzun basarak resim seçme desteği eklendi. Bu özellik, hem PdfView hem de PdfViewer composable'da isImageSelectionEnabled özelliği aracılığıyla etkinleştirilir. Elde edilen veriler, OnSelectionChangedListener içindeki ImageSelection modeli aracılığıyla kullanıma sunulur.
  • İki Sayfalık Düzen: Büyük ekranlı cihazlar için yan yana düzen modu eklendi. Bu mod, PdfView içindeki pagesPerRow özelliği ve PdfViewer composable kullanılarak yapılandırılabilir.

API Değişiklikleri

  • Jetpack PDF Library'de Image Selection API'yi kullanıma sunma (Iee0b9, b/470897750)
  • Form doldurma işleme katmanı API'lerini herkese açık hale getirin. (Iec39c, b/474260451)
  • SandboxedPdfLoader'deki openDocument API'sine renderParams parametresini ekleyin (If9344, b/438269273)
  • Form doldurma sunum katmanı API'leri ekleyin (I829c5, b/449869703)
  • OnFirstContentLoadListener ve OnSelectionChangedListener geri çağırma yöntemlerine @MainThread ek açıklaması eklendi (I4cf10, b/466965940)
  • ApplyInProgressException oluşturucu dahili olarak işaretlendiğinden harici örnekleme engelleniyor (I5cc66, b/465414484)
  • PdfView'teki dinleyicilerin geri çağırma yöntemlerine @MainThread açıklaması eklendi (Ie7201, b/429407597)
  • EditablePdfViewerFragment aracılığıyla yerel düzenleme özellikleri için API'ler ekleyin. (Ifae6c, b/462049364)
  • FirstContentLoad API'sini PdfView ve PdfViewer'ye ekleyin (Icf63d, b/461666545)
  • [2Page] PdfViewer kitaplığına Two-Page Layout API'yi ekleyin (I8d7f1, b/452517650)

Hata Düzeltmeleri

  • Bitmap getirilmeden önce sayfa kapatıldığı için oluşan istisna düzeltildi (b/475255729)

Sürüm 1.0.0-alpha12

3 Aralık 2025

androidx.pdf:pdf-*:1.0.0-alpha12 iptal edilir. 1.0.0-alpha12 sürümü bu commit'leri içerir.

API Değişiklikleri

  • textAsString işlevini TextSelection'den androidx-main'e taşıma
  • clearSelection öğesini clearCurrentSelection olarak yeniden adlandırın (I3a318, b/429407597)
  • textAsString işlevini TextSelection öğesinden kaldırma (I1305d, b/429407798)

Hata Düzeltmeleri

  • PdfView bölümündeki hızlı kaydırma çubuğunun varsayılan olarak görünmemesine neden olan sorun düzeltildi. (I7fb0e)
  • Boş metinle seçim için TextSelectionMenuProvider içindeki kilitlenme düzeltildi. (I855df)

Sürüm 1.0.0-alpha11

22 Ekim 2025

androidx.pdf:pdf-*:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü bu commit'leri içerir.

Yeni Özellikler

  • PDF içerik seçiminde akıllı menü öğelerini etkinleştirme
  • PDF'de köprü seçimi ve bağlantıya gitme seçimini etkinleştirme.
  • Geliştiricilerin seçim menüsü öğeleri eklemesine olanak tanıyan fromPdfView ve PdfViewer Composable seçim menüsü API'si kullanıma sunuldu.
  • PdfView ve PdfViewer Composable'a sayfa hizalama API'si eklendi. Bu API, geliştiricilerin içerik yüksekliği < görüntü alanı yüksekliği olduğunda sayfa hizalamasını seçmesine olanak tanır.

API Değişiklikleri

  • contentDesc null yapılabilir hale getirildi ve varsayılan değer kaldırıldı. (I86f8c, b/441973880)
  • Bağlantı Seçimi Menü Öğeleri için PdfSelectionMenuKeys işlevini kullanıma sunma (Ic9b05, b/447079082)
  • PageAlignment API'sini PdfView ve PdfViewer'yi androidx-main'e ekleyin
  • Açıyla ilgili API'yi derece kullanacak şekilde değiştirin ve birimi adlara ekleyin, açı dönüştürme yardımcı programlarındaki birimler konusunda net olun ve hem dereceyi hem de radyanı destekleyin, StockBrushes API'sini stok fırça sürümünü fabrika işlevi parametresi olarak alacak şekilde değiştirin ve vurgulayıcı fırçalar için kendi kendine çakışma davranış kontrolünü kullanıma sunun, MutableAffineTransform.populateFromTranslate öğesini populateFromTranslation olarak yeniden adlandırın, InProgressStrokesView.setRenderFactory/getRenderFactory öğesini kaldırın. (Id9eab, b/436656418)
  • PageAlignment API'yi PdfView ve PdfViewer'ye ekleyin (I9c9a5, b/438065228)
  • PdfViewer Composable'dan Selection Menu API'yi kullanıma sunma (Id9b0f, b/407663999)
  • PdfView öğesini ViewGroup yapın. İsteğe bağlı alt öğeler desteklenmez. (Ib51d8, b/410008792)
  • PdfView'den HyperLinkSelection ve GoToLinkSelection'ı kullanıma sunma (I378c4, b/441280002)
  • Genel seçimleri desteklemek için yeniden düzenleme PdfPageContent (I28f16, b/437845185)
  • PdfView (Idd547, b/407663737) üzerinden seçim menüsü API'sini kullanıma sunma
  • Seçimle ilgili sınıfları özel bir pakete taşıma (I953cb, b/436157691)
  • PdfViewerFragment'te PdfView erişimi için deneysel onPdfViewCreated özelliğini kullanıma sunuyoruz. (I86715, b/422620454)
  • FileDescriptor API'si PdfLoader'ye eklendi (I60b8d)

Hata Düzeltmeleri

  • Vuruşların girişi daha doğru yansıtması için giriş modellemeyi iyileştirme (I93097)

Harici Katkı (External Contribution)

  • Bağlantı Seçimi Menü Öğeleri için PdfSelectionMenuKeys seçeneğini kullanıma sunma
  • PdfViewer Composable'dan Expose Selection Menu API'yi kullanma
  • PdfView'dan seçim menüsü API'sini kullanıma sunma

Sürüm 1.0.0-alpha10

16 Temmuz 2025

androidx.pdf:pdf-*:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Kullanıcıların seçim tutamaçlarını sayfa sınırlarının ötesine sürükleyerek birden fazla sayfadaki metni seçmesine olanak tanıyan gelişmiş seçim.
  • Uygulamalar artık PDF dokümanlarındaki köprü tıklamalarının işlenmesini engelleyip özelleştirebilir.

API Değişiklikleri

  • PDF içeriğini sunmak için Composable'ı kullanıma sunar (I8e7ee).
  • PdfPoint ve PdfRect, androidx.pdf.models paketine taşınıyor (I26cf4)
  • PDF içeriğini sunmak için bir View bileşeni kullanıma sunuluyor (I9fe27)
  • PDF kaynaklarını önceden başlatmak ve soğuk başlatma gecikmesini azaltmak için API'yi kullanıma sunar (a18fa89)
  • Pdf içeriğinde köprü tıklama işleme özelliğini geçersiz kılmak için API'yi kullanıma sunar(6330a8b).
  • Yeni bir yapay nesne olan pdf-document-service ve ilgili API'ler (PdfLoader, PdfDocument ve SandboxedPdfLoader) kullanıma sunulur. Arayüzler, PDF dokümanının ayrıştırma ve işleme bileşenini (Ide70d) uygulamak için kullanılabilir.
  • Belgenin oluşturulmasını başlatmak için PdfView üzerinde PdfDocument ayarlamak üzere bir API kullanıma sunar (If8738).

Sürüm 1.0.0-alpha09

7 Mayıs 2025

androidx.pdf:pdf-*:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü bu commit'leri içerir.

Önemli Değişiklikler

  • Kod tabanı büyük bir yeniden düzenleme işleminden geçti ve artık tamamen Kotlin ile yazılıyor. Coroutines ve ViewModel kullanılıyor. Bu kapsamda, PdfViewerFragment yeniden uygulanacaktır. Bu sürümde yeni API'ler veya özellikler yer almıyor.

Bilinen Sorunlar:

  • Hızlı kaydırma çubuğu ve sayfa göstergesinde gölge efektleri yok.
  • Tek sayfalık PDF belgeler her zaman ortalanmayabilir ve görünümün genişliğine göre ölçeklenmeyebilir.

API Değişiklikleri

  • containerStyleResId ile @StyleRes'ye not ekleyin. (I88d85)

Sürüm 1.0.0-alpha08

12 Mart 2025

androidx.pdf:pdf-document-service:1.0.0-alpha08, androidx.pdf:pdf-viewer:1.0.0-alpha08 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Ölçeklendirme farklılıkları nedeniyle farklı Android cihazlar arasında tutarsız olan seçim menüsü yerleşimi düzeltildi. Seçim menüsünün yerleşimi artık cihazlar arasında tutarlı.
  • Yapılandırma değişikliği gibi senaryolarda parça yeniden oluşturulurken hızlı kaydırma ve sayfa göstergesi konumu hizalandı.

Sürüm 1.0.0-alpha07

26 Şubat 2025

androidx.pdf:pdf-document-service:1.0.0-alpha07, androidx.pdf:pdf-viewer:1.0.0-alpha07 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü bu commit'leri içerir.

Yeni Özellikler

  • PdfViewerFragment artık StylingOptions (stil kaynağı kimlikleri kümesi) destekliyor. Bu sayede newInstance veya XML (FragmentContainerView) üzerinden özel stil oluşturulabiliyor. Alt sınıflar, benzer işlevler için korumalı oluşturucuyu kullanabilir.
  • StylingOptions şu anda containerStyle'ı kullanıyor. containerStyle'ın sağladığı özellikler:
    • Hızlı kaydırma tutma yeri ve sayfa göstergesi için özel çizilebilir öğe desteği.
    • Hızlı kaydırma tutma yerinin ve sayfa göstergesinin hassas konumlandırılması için marginEnd özelliği.

API Değişiklikleri

  • PdfView (I30fc5) kaynağından herkese açık özellikler eklendi.
  • PDF görünümü için yeni API'ler StylingOptions eklendi. (Id2993)

Hata Düzeltmeleri

  • Hızlı kaydırma tutacağı ile sayfa göstergesi görünürlük durumu arasındaki senkronizasyon tutarsızlığı düzeltildi.

Sürüm 1.0.0-alpha06

29 Ocak 2025

androidx.pdf:pdf-document-service:1.0.0-alpha06, androidx.pdf:pdf-viewer:1.0.0-alpha06 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Düzeltme: Kayıtlı olmayan bir hizmetin bağlantısı kaldırılırken IllegalArgumentException nedeniyle oluşan kilitlenme sorunu (eb4e85)
  • Düzeltme: mMaxPages ve numPages arasındaki fark nedeniyle IllegalArgumentException kilitleniyordu. (75d763)

Sürüm 1.0.0-alpha05

11 Aralık 2024

androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (Bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (I38301, b/326456246)
  • Android 13'te döndürme işleminden sonra daha önce açılan sayfanın gösterilmesi sorunu düzeltildi. (Ib03dd)
  • Döndürme sırasında araç kutusunun kaybolması sorunu düzeltildi. (01148f)

Sürüm 1.0.0-alpha04

13 Kasım 2024

androidx.pdf:pdf-viewer:1.0.0-alpha04 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü bu commit'leri içerir.

Genişletilmiş Uyumluluk

  • PDFViewer kitaplığı artık Android'in S, T, U ve V sürümlerini destekliyor. Bu gelişmiş uyumluluk, SDK uzantısı 13 güncellemesiyle bağlantılıdır.

API Değişiklikleri

  • PdfViewerFragment için minimum SdkExtension kısıtlaması eklendi. (I922af)
  • PDF Görüntüleyici kitaplığı için yeni API'ler kullanıma sunuldu. (I0af57)

Hata Düzeltmeleri

  • İşlem sonlandırma sorunu için kilitlenme düzeltmesi.
  • Şifre iletişim kutusuyla ilgili kullanıcı arayüzü düzeltmeleri.
  • findInFileView ve FastscrollView için erişilebilirlik düzeltmeleri.

Devam Eden Geliştirme

  • Jetpack Compose'u kitaplığa dahil etmek için yoğun şekilde çalışıyoruz.

Sürüm 1.0.0-alpha03

18 Eylül 2024

androidx.pdf:pdf-viewer:1.0.0-alpha03 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Arama ilk kez açıldığında klavyenin görünmemesi sorunu düzeltildi.
  • FindInFile görünümünün yazı tipiyle ilgili kullanıcı arayüzü düzeltmeleri.
  • Metin seçimi ve sürükleme tutma yeriyle ilgili kullanıcı arayüzü düzeltmeleri yapıldı.

Bilinen Sorunlar

  • PDF belgelerindeki 3D görüntüler, görüntüleyicide oluşturulmaz.
  • PdfViewerFragment çok büyük PDF belgelerinde (> 250 MB) bazı performans sorunları yaşıyor.

Sürüm 1.0.0-alpha02

4 Eylül 2024

androidx.pdf:pdf-viewer:1.0.0-alpha02 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Dikeyden yataya döndürüldüğünde PDF görüntüsünün bulanıklaşması ve uygulamanın uyku moduna geçmesi sorunu düzeltildi.
  • Dosyada bul menüsü, yapılandırma değiştiğinde bile sonuç sayısını korur.
  • FloatingActionButton simgesi artık tek sayfalık PDF'lerde kullanılabilir.
  • Dosyada bul çubuğu ile FloatingActionButton arasındaki çakışma sorunları düzeltildi.
  • Metin ve vurgulama ek açıklamaları artık görüntüleyicide oluşturulabilir.
  • Dosyada bul çubuğunda erişilebilirlik iyileştirmeleri yapıldı.
  • Döndürme işleminde kullanıcı arayüzüyle ilgili düzeltmeler yapıldı. Örneğin, bulma sayısının korunması, kaybolan metin seçimi menüsünün ele alınması ve kayan işlem düğmesinin çakışma sorununun çözülmesi gibi.
  • Yatay modda klavyenin arkasında kalan dosyada bul menüsü düzeltildi.

Bilinen Sorunlar

  • PDF belgelerindeki 3D görüntüler, görüntüleyicide oluşturulmaz.
  • PdfViewerFragment çok büyük PDF belgelerinde (> 250 MB) bazı performans sorunları yaşıyor.

Sürüm 1.0.0-alpha01

7 Ağustos 2024

androidx.pdf:pdf-viewer:1.0.0-alpha01 ve androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu commit'leri içerir.

Yeni Özellikler

PDFViewer'nın ilk alfa sürümünde, temel PDF okuma senaryolarını etkinleştiren erken önizleme uygulamaları yer alır. PdfViewerFragment işlevinin şu anda yalnızca Android V (SDK 35) sürümlerinde desteklendiğini lütfen unutmayın. Eski Android sürümleri için destek, sonraki sürümlerde eklenecektir.

  • Uygulamanızın PDF dokümanı oluşturmak için kullanabileceği PdfViewerFragment tanıtıldı. PdfViewerFragment, Etkinliğinize PDF görüntüleyici entegre etmeyi kolaylaştırır ve kullanıcıların aşağıdaki şekillerde etkileşimde bulunmasına olanak tanır:
    • Yakınlaştırma: Rahat bir okuma deneyimi için yakınlaştırma düzeylerini ayarlamak üzere iki parmağınızı kullanarak yakınlaştırın ve uzaklaştırın. Ayrıca, varsayılan duruma hızlıca yakınlaştırmak veya uzaklaştırmak için iki kez dokunun.
    • Gezinme: Varsayılan/yakınlaştırılmış durumda kaydırma. PdfViewerFragment, sayfalar arasında hızlıca kaydırmak için hızlı bir kaydırma çubuğu sağlar.
    • Metin işlemleri: Metne uzun dokunulduğunda metin seçilir. Böylece kullanıcılar, mevcut sayfada Kopyala ve Tümünü seç gibi seçenekleri kullanabilir.
    • Şifre korumalı dokümanlar: PdfViewerFragment, kullanıcının şifreyi girip dokümanı açması için bir iletişim kutusu sağlar.
    • Gezilebilir köprüler: Kullanıcılar, PDF'deki köprülere dokunarak web URL'lerine veya yer işaretlerine gidebilir.
    • Notlar moduna kısayol: Düzenleme modu henüz PdfViewerFragment'da desteklenmemektedir. Bunun yerine PdfViewerFragment, doküman URI'siyle örtülü bir android.intent.action.ANNOTATE amacını tetikleyen bir FloatingActionButton gösterir.

API Değişiklikleri

  • Doküman için bir dosya veya içerik URI'si ayarlamak ve doküman yüklemeyi başlatmak üzere PdfViewerFragment.documentUri özelliği eklendi. URI ayarlandığında, dokümanın arka planda işlendiğini belirtmek için PdfViewerFragment yükleme animasyonu gösterir.
  • Dosyada bul menüsünün görünürlüğünü açıp kapatmak için PdfViewerFragment.isTextSearchActive simgesi eklendi. PdfViewerFragment, giriş yapılmasına, toplam eşleşme sayısının gösterilmesine, sonuçlar arasında gezinmeye ve sonuçlardan çıkmaya olanak tanıyarak tüm akışı yönetir.
  • Belge başarıyla oluşturulduktan sonra veya oluşturma işleminden önce bir hata oluştuğunda çağrılan onDocumentLoadSuccess ve onDocumentLoadError geri çağırmaları eklendi.

Bilinen Sorunlar

  • Dosyada bulma çubuğu bazı durumlarda FloatingActionButton ile çakışıyor.
  • Tek sayfalık PDF'lerde FloatingActionButton simgesi görünmez.
  • Dosyada bul menüsünde yapılandırma değişikliği yapıldığında sonuç sayısı korunmaz.
  • Dosyada bul menüsü kapatılırken titreme görülüyor
  • PDF belgelerindeki 3D görüntüler, görüntüleyicide oluşturulmaz.
  • Erişilebilirlik özellikleri aşağıdaki sürümlerde etkinleştirilecektir.
  • PDF resmi, dikeyden yataya döndürüldüğünde bulanıklaşıyor.
  • Metin/vurgulama ek açıklaması desteklenmez.
  • PdfViewerFragment çok büyük PDF belgelerinde (> 250 MB) bazı performans sorunları yaşıyor.

Not

  • compileSdk, 35 5dc41be olarak güncelleniyor