| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja Alfa |
|---|---|---|---|---|
| 11 lutego 2026 r. | - | - | - | 1.0.0-alpha13 |
Deklarowanie zależności
Aby dodać zależność od pliku PDF, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Brak informacji o wersji tego artefaktu.
Wersja 1.0
Wersja 1.0.0-alpha13
11 lutego 2026 r.
Publikacja androidx.pdf:pdf-*:1.0.0-alpha13 Wersja 1.0.0-alpha13 zawiera te zmiany.
Nowe funkcje
- Wprowadziliśmy
EditablePdfViewerFragment, który rozszerza standardowyPdfViewerFragment, aby zapewnić funkcje edycji plików PDF, w tym dodawanie adnotacji i wypełnianie formularzy. - Adnotacje: korzysta z biblioteki
androidx.ink, aby zapewnić kompleksową obsługę adnotacji w plikach PDF. Specjalny pasek narzędzi, który pojawia się po kliknięciu ikony edycjiFloatingActionButton, zapewnia dostęp do specjalistycznych narzędzi, takich jak:- Pióro: umożliwia pisanie i rysowanie odręczne bezpośrednio w dokumencie. Użytkownicy mogą dostosowywać grubość pociągnięć pióra i wybierać kolory z szerokiej palety.
- Zakreślacz: obsługuje zakreślanie dowolne i przyciągane do tekstu, dostępne w wielu kolorach.
- Gumka: precyzyjnie usuwa określone adnotacje.
- Cofanie i przywracanie: wbudowane funkcje umożliwiające łatwe cofanie i przywracanie ostatnich zmian.
- Wypełnianie formularzy: możliwość klikania i modyfikowania pól formularza, takich jak pola tekstowe, menu, pola wyboru i przyciski opcji.
EditablePdfViewerFragmentobsługuje funkcje wypełniania formularzy wbudowanych, co zapewnia użytkownikom wygodę. Tą funkcją zarządza interfejsisFormFillingEnabledAPI wPdfView.EditablePdfDocument: nowy interfejs rozszerzającyPdfDocumentdo zarządzania zmianami w danych formularza i ich stosowania.- Funkcja kompozycyjna
PdfViewerobsługuje interakcję z polami formularza, którą można kontrolować za pomocą parametruisFormFillingEnabled.
- Zapisywanie zmian: funkcja
PdfWriteHandleumożliwia zapisanie edytowanych treści w określonym pliku. - Wybieranie obrazów: dodaliśmy obsługę wybierania obrazów w dokumentach PDF przez przytrzymanie. Ta funkcja jest włączana za pomocą właściwości
isImageSelectionEnabledzarówno wPdfView, jak i wPdfViewer. Wynikowe dane są udostępniane wOnSelectionChangedListenerza pomocą modeluImageSelection. - Układ dwustronicowy: dodano tryb układu obok siebie na urządzeniach z dużym ekranem, który można skonfigurować za pomocą właściwości
pagesPerRowwPdfViewi kompozycjiPdfViewer.
Zmiany w interfejsie API
- Wprowadzenie interfejsu Image Selection API w bibliotece Jetpack PDF (Iee0b9, b/470897750)
- Udostępnianie interfejsów API warstwy przetwarzania wypełniania formularzy. (Iec39c, b/474260451)
- Dodanie parametru
renderParamsdo interfejsu APIopenDocumentwSandboxedPdfLoader(If9344, b/438269273) - Dodano interfejsy API warstwy prezentacji wypełniania formularzy (I829c5, b/449869703).
- Dodano adnotację
@MainThreaddo metod wywołania zwrotnego w przypadkuOnFirstContentLoadListeneriOnSelectionChangedListener(I4cf10, b/466965940) - Oznaczono konstruktor
ApplyInProgressExceptionjako wewnętrzny, co uniemożliwia tworzenie instancji zewnętrznych (I5cc66, b/465414484) - Dodano adnotację
@MainThreaddo metod wywołania zwrotnego słuchaczy wPdfView(Ie7201, b/429407597) - Dodaj interfejsy API, aby korzystać z natywnych funkcji edycji w usłudze
EditablePdfViewerFragment. (Ifae6c, b/462049364) - Dodano interfejs API
FirstContentLoaddoPdfViewiPdfViewer(Icf63d, b/461666545) - [2Page] Dodanie interfejsu Two-Page Layout API do
PdfViewerLibrary (I8d7f1, b/452517650)
Poprawki błędów
- Poprawka wyjątku spowodowanego zamknięciem strony przed pobraniem mapy bitowej (b/475255729)
Wersja 1.0.0-alpha12
3 grudnia 2025 r.
Publikacja androidx.pdf:pdf-*:1.0.0-alpha12 Wersja 1.0.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
- Przeniesienie funkcji
textAsStringzTextSelectiondo androidx-main - Zmień nazwę
clearSelectionnaclearCurrentSelection(I3a318, b/429407597) - Usuwanie funkcji
textAsStringzTextSelection(I1305d, b/429407798)
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że szybkie przewijanie w
PdfViewnie było domyślnie widoczne. (I7fb0e) - Naprawiono błąd w
TextSelectionMenuProviderdotyczący zaznaczania tekstu o wartości null. (I855df)
Wersja 1.0.0-alpha11
22 października 2025 r.
Publikacja androidx.pdf:pdf-*:1.0.0-alpha11 Wersja 1.0.0-alpha11 zawiera te zmiany.
Nowe funkcje
- Włączanie inteligentnych pozycji menu w przypadku wyboru treści w formacie PDF.
- Włączanie wyboru hiperlinków i wyboru linków „Przejdź do” w pliku PDF.
- Udostępniliśmy interfejs API menu wyboru
fromPdfViewi komponentPdfViewer, które umożliwiają deweloperom dodawanie pozycji menu wyboru. - Dodanie interfejsu API do wyrównywania stron w komponowalnych elementach PdfView i PdfViewer, który umożliwia programistom wybór wyrównania strony, gdy wysokość treści jest mniejsza niż wysokość widocznego obszaru.
Zmiany w interfejsie API
- Ustawiono wartość
contentDescjako dopuszczającą wartość null i usunięto wartość domyślną. (I86f8c, b/441973880) - Udostępnianie
PdfSelectionMenuKeysw przypadku elementów menu wyboru linku (Ic9b05, b/447079082) - Dodanie interfejsu API
PageAlignmentdoPdfViewiPdfViewerw androidx-main - Zmiana interfejsu API związanego z kątami, aby używać stopni i uwzględniać jednostki w nazwach, wyjaśnienie jednostek w narzędziach do konwersji kątów i obsługa zarówno stopni, jak i radianów, zmiana interfejsu
StockBrushesAPI, aby przyjmował wersję pędzla jako parametr funkcji fabrycznej i udostępniał kontrolę zachowania nakładania się dla pędzli zakreślacza, zmiana nazwyMutableAffineTransform.populateFromTranslatenapopulateFromTranslation, usunięcieInProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418) - Dodaj interfejs API
PageAlignmentdoPdfViewiPdfViewer(I9c9a5, b/438065228) - Udostępnianie interfejsu Selection Menu API z funkcji
PdfViewerComposable (Id9b0f, b/407663999) - Zmień
PdfViewwViewGroup. Brak obsługi dowolnych elementów podrzędnych. (Ib51d8, b/410008792) - Udostępnij pola
HyperLinkSelectioniGoToLinkSelectionzPdfView(I378c4, b/441280002) - Zmiana struktury
PdfPageContent, aby obsługiwać ogólne wybory (I28f16, b/437845185) - Udostępnianie interfejsu API menu wyboru z
PdfView(Idd547, b/407663737) - Przeniesienie klas związanych z wyborem do osobnego pakietu (I953cb, b/436157691)
- Wprowadzenie eksperymentalnego
onPdfViewCreateddo dostępu do PdfView wPdfViewerFragment. (I86715, b/422620454) - Dodaje interfejs API
FileDescriptordoPdfLoader(I60b8d)
Poprawki błędów
- Ulepszono modelowanie danych wejściowych, aby pociągnięcia dokładniej odzwierciedlały dane wejściowe (I93097).
Wkład zewnętrzny
- Udostępnianie
PdfSelectionMenuKeysw przypadku pozycji menu wyboru linku - Udostępnianie interfejsu API menu wyboru z funkcji
PdfViewerComposable - Udostępnianie interfejsu API menu wyboru z usługi
PdfView
Wersja 1.0.0-alpha10
16 lipca 2025 r.
Publikacja androidx.pdf:pdf-*:1.0.0-alpha10 Wersja 1.0.0-alpha10 zawiera te zmiany.
Nowe funkcje
- Ulepszone zaznaczanie, które umożliwia użytkownikom zaznaczanie tekstu na wielu stronach przez przeciąganie uchwytów zaznaczenia poza granice strony.
- Aplikacje mogą teraz przechwytywać i dostosowywać obsługę kliknięć hiperlinków w dokumentach PDF.
Zmiany w interfejsie API
- Udostępnia funkcję kompozycyjną do prezentowania treści w formacie PDF (I8e7ee).
- Przenoszę
PdfPointiPdfRectdo pakietuandroidx.pdf.models(I26cf4) - Udostępnia komponent View do prezentowania treści PDF (I9fe27).
- Udostępnia interfejs API do wcześniejszego inicjowania zasobów PDF i skracania czasu oczekiwania na zimny start (a18fa89).
- Udostępnia interfejs API do zastępowania obsługi kliknięć hiperlinków w treści PDF(6330a8b).
- Udostępnia nowy artefakt pdf-document-service i odpowiednie interfejsy API –
PdfLoader,PdfDocumentiSandboxedPdfLoader. Interfejsy mogą służyć do implementowania komponentu analizowania i przetwarzania dokumentu PDF (Ide70d). - Udostępnia interfejs API do ustawiania
PdfDocumentwPdfVieww celu zainicjowania renderowania dokumentu (If8738).
Wersja 1.0.0-alpha09
7 maja 2025 r.
Publikacja androidx.pdf:pdf-*:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zmiany.
Najważniejsze zmiany
- Kod źródłowy został znacznie zmodyfikowany i jest teraz w całości napisany w języku Kotlin z użyciem korutyn i
ViewModel. Obejmuje to ponowne wdrożeniePdfViewerFragment. Ta wersja nie zawiera żadnych nowych interfejsów API ani funkcji.
Znane problemy:
- Szybkie przewijanie i wskaźnik strony nie mają efektów cienia.
- Jednostronicowe dokumenty PDF mogą nie zawsze być wyśrodkowane i skalowane do szerokości widoku.
Zmiany w interfejsie API
- Dodaj adnotację
containerStyleResIddo@StyleRes. (I88d85)
Wersja 1.0.0-alpha08
12 marca 2025 r.
androidx.pdf:pdf-document-service:1.0.0-alpha08, androidx.pdf:pdf-viewer:1.0.0-alpha08 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 są dostępne. Wersja 1.0.0-alpha08 zawiera te zmiany.
Poprawki błędów
- Rozwiązano problem z niejednolitym umiejscowieniem menu wyboru na różnych urządzeniach z Androidem spowodowanym różnicami w skalowaniu. Umiejscowienie menu wyboru jest teraz spójne na wszystkich urządzeniach.
- Dostosowano pozycję szybkiego przewijania i wskaźnika strony podczas ponownego tworzenia fragmentu w sytuacjach takich jak zmiana konfiguracji itp.
Wersja 1.0.0-alpha07
26 lutego 2025 r.
androidx.pdf:pdf-document-service:1.0.0-alpha07, androidx.pdf:pdf-viewer:1.0.0-alpha07 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 są dostępne. Wersja 1.0.0-alpha07 zawiera te zmiany.
Nowe funkcje
- Klasa
PdfViewerFragmentobsługuje terazStylingOptions(zestaw identyfikatorów zasobów stylu), co umożliwia dostosowywanie stylu za pomocąnewInstancelub XML (FragmentContainerView). Podklasy mogą korzystać z chronionego konstruktora, aby uzyskać podobną funkcjonalność. StylingOptionsobecnie przyjmujecontainerStyle, które zapewnia:- Obsługa niestandardowych elementów rysowalnych w przypadku uchwytu szybkiego przewijania i wskaźnika strony.
marginEnd, aby precyzyjnie określić położenie uchwytu szybkiego przewijania i wskaźnika strony.
Zmiany w interfejsie API
- Dodano atrybuty publiczne z
PdfView(I30fc5) - Dodano nowe interfejsy API
StylingOptionsdo wyświetlania plików PDF. (Id2993)
Poprawki błędów
- Rozwiązaliśmy problem z synchronizacją między uchwytem szybkiego przewijania a stanem widoczności wskaźnika strony.
Wersja 1.0.0-alpha06
29 stycznia 2025 r.
androidx.pdf:pdf-document-service:1.0.0-alpha06, androidx.pdf:pdf-viewer:1.0.0-alpha06 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 są dostępne. Wersja 1.0.0-alpha06 zawiera te zmiany.
Poprawki błędów
- Poprawka: awaria spowodowana przez
IllegalArgumentExceptionpodczas odłączania usługi, która nie jest zarejestrowana (eb4e85) - Poprawka: awaria
IllegalArgumentExceptionz powodu różnicy międzymMaxPagesanumPages. (75d763)
Wersja 1.0.0-alpha05
11 grudnia 2024 r.
androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 są dostępne. Wersja 1.0.0-alpha05 zawiera te zmiany.
Poprawki błędów
- Ta biblioteka korzysta teraz z adnotacji o wartości null JSpecify, które są używane w typie. Aby wymusić prawidłowe użycie, deweloperzy Kotlin powinni użyć tego argumentu kompilatora:
-Xjspecify-annotations=strict(jest to domyślny argument począwszy od wersji 2.1.0 kompilatora Kotlin). (I38301, b/326456246) - Rozwiązaliśmy problem z wyświetlaniem wcześniej otwartej strony po obróceniu urządzenia w Androidzie 13. (Ib03dd)
- Rozwiązaliśmy problem z znikaniem przybornika po obróceniu urządzenia. (01148f)
Wersja 1.0.0-alpha04
13 listopada 2024 r.
Publikacja androidx.pdf:pdf-viewer:1.0.0-alpha04 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.
Rozszerzona zgodność
- Biblioteka
PDFViewerobsługuje teraz Androida w wersjach S, T, U i V. Ta większa zgodność jest powiązana z aktualizacją rozszerzenia pakietu SDK 13.
Zmiany w interfejsie API
- Dodano minimalne ograniczenie
SdkExtensiondoPdfViewerFragment. (I922af) - Udostępnianie nowych interfejsów API w bibliotece przeglądarki plików PDF. (I0af57)
Poprawki błędów
- Poprawka awarii związanej z problemem z zakończeniem procesu.
- Poprawki interfejsu związane z oknem hasła.
- Poprawki ułatwień dostępu dla
findInFileViewiFastscrollView.
Ciągły rozwój
- Pracujemy nad włączeniem Jetpack Compose do biblioteki.
Wersja 1.0.0-alpha03
18 września 2024 r.
Publikacja androidx.pdf:pdf-viewer:1.0.0-alpha03 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.
Poprawki błędów
- Rozwiązano problem z niewyświetlaniem się klawiatury przy pierwszym otwarciu wyszukiwarki.
- Poprawki interfejsu związane z czcionką w widoku FindInFile.
- Poprawki interfejsu zaznaczania tekstu i uchwytu przeciągania.
Znane problemy
- Obrazy 3D w dokumentach PDF nie są renderowane w przeglądarce.
PdfViewerFragmentma problemy z wydajnością w przypadku bardzo dużych dokumentów PDF (powyżej 250 MB).
Wersja 1.0.0-alpha02
4 września 2024 r.
Publikacja androidx.pdf:pdf-viewer:1.0.0-alpha02 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem z rozmyciem obrazu w pliku PDF po obróceniu urządzenia z orientacji pionowej do poziomej i uśpieniu aplikacji.
- Menu „Znajdź w pliku” zachowuje teraz liczbę wyników nawet po zmianie konfiguracji.
- Ikona
FloatingActionButtonjest teraz dostępna w przypadku jednostronicowych plików PDF. - Rozwiązaliśmy problem z nakładaniem się paska Znajdź w pliku i ikony
FloatingActionButton. - Adnotacje tekstowe i zaznaczenia można teraz renderować w przeglądarce.
- Wprowadziliśmy ulepszenia ułatwień dostępu na pasku Znajdź w pliku.
- Wprowadziliśmy poprawki interfejsu związane z obracaniem, w tym zachowywanie liczby wyszukiwań, rozwiązanie problemu z znikającym menu wyboru tekstu i problem z nakładaniem się przycisku FAB.
- Naprawiliśmy problem z menu „Znajdź w pliku”, które było ukryte za klawiaturą w trybie poziomym.
Znane problemy
- Obrazy 3D w dokumentach PDF nie są renderowane w przeglądarce.
PdfViewerFragmentma problemy z wydajnością w przypadku bardzo dużych dokumentów PDF (powyżej 250 MB).
Wersja 1.0.0-alpha01
7 sierpnia 2024 r.
Publikacja androidx.pdf:pdf-viewer:1.0.0-alpha01 i androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Pierwsza wersja alfa PDFViewer zawiera wczesne implementacje podglądu, które umożliwiają podstawowe scenariusze czytania plików PDF. Pamiętaj, że PdfViewerFragment jest obecnie obsługiwany tylko w wersjach Androida V (SDK 35). Obsługa starszych wersji Androida zostanie dodana w przyszłych wersjach.
- Wprowadzono
PdfViewerFragment, którego aplikacja może używać do renderowania dokumentu PDF.PdfViewerFragmentułatwia integrację przeglądarki plików PDF z aktywnością i umożliwia użytkownikom interakcje w następujący sposób:- Powiększanie: zsuwaj i rozsuwaj palce, aby dostosować poziom powiększenia i wygodnie czytać. Możesz też dwukrotnie kliknąć, aby szybko powiększyć lub pomniejszyć do stanu domyślnego.
- Nawigacja: przewijanie w stanie domyślnym lub powiększonym.
PdfViewerFragmentumożliwia szybkie przewijanie stron. - Działania związane z tekstem: długie naciśnięcie tekstu powoduje jego zaznaczenie, co umożliwia użytkownikom korzystanie z opcji takich jak Kopiuj i Zaznacz wszystko na bieżącej stronie.
- Dokumenty chronione hasłem:
PdfViewerFragmentwyświetla okno dialogowe, w którym użytkownik może wpisać hasło i otworzyć dokument. - Hiperlinki, po których można nawigować: użytkownicy mogą przechodzić do adresów URL lub zakładek, klikając hiperlinki w pliku PDF.
- Skrót do trybu adnotacji: tryb edycji nie jest jeszcze obsługiwany w
PdfViewerFragment. Zamiast tegoPdfViewerFragmentwyświetlaFloatingActionButton, które wywołuje niejawny zamiarandroid.intent.action.ANNOTATEz identyfikatorem URI dokumentu.
Zmiany w interfejsie API
- Dodaliśmy właściwość
PdfViewerFragment.documentUri, która umożliwia ustawienie identyfikatora URI pliku lub treści dokumentu i rozpoczęcie wczytywania dokumentu.PdfViewerFragmentwyświetla wskaźnik wczytywania, gdy ustawiony jest identyfikator URI, co oznacza przetwarzanie dokumentu w tle. - Dodano
PdfViewerFragment.isTextSearchActive, aby przełączać widoczność menu „Znajdź w pliku”.PdfViewerFragmentobsługuje cały proces – umożliwia wprowadzanie danych, wyświetlanie łącznej liczby dopasowań, nawigowanie między wynikami i zamykanie ich. - Dodano wywołania zwrotne
onDocumentLoadSuccessionDocumentLoadError, które są wywoływane po pomyślnym wyrenderowaniu dokumentu lub po wystąpieniu błędu przed renderowaniem.
Znane problemy
- Pasek Znajdź w pliku w niektórych przypadkach nakłada się na ikonę
FloatingActionButton. - Ikona
FloatingActionButtonnie jest widoczna w przypadku jednostronicowych plików PDF. - Liczba wyników nie jest zachowywana po zmianie konfiguracji w menu Znajdź w pliku.
- Podczas zamykania menu „Znajdź w pliku” występuje migotanie
- Obrazy 3D w dokumentach PDF nie są renderowane w przeglądarce.
- Funkcje ułatwień dostępu zostaną włączone w kolejnych wersjach.
- Obraz w pliku PDF staje się rozmyty po obróceniu z orientacji pionowej do poziomej.
- Nie obsługuje adnotacji tekstowych ani wyróżniania.
PdfViewerFragmentma problemy z wydajnością w przypadku bardzo dużych dokumentów PDF (powyżej 250 MB).
Uwagi
- Zaktualizuj wartość
compileSdkna 35 5dc41be