pdf

  
Biblioteka umożliwiająca dodawanie funkcji wyświetlania plików PDF w aplikacjach.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
1 lipca 2026 r. - - - 1.0.0-alpha19

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:

Groovy

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

Kotlin

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Prześlij opinię

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 nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Nie ma informacji o wersji tego artefaktu.

Wersja PDF 1.0

Wersja 1.0.0-alpha19

1 lipca 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha19 Wersja 1.0.0-alpha19 zawiera te zmiany.

Zmiany w interfejsie API

  • Udostępnij AnnotationView publicznie (I8219f)
  • Udostępnij klasy EditablePdfDocument i adnotacje. (I5b962)
  • Wprowadzono nowy moduł podrzędny pdf-core (Iea331)
  • Przeniesiono podstawowe interfejsy API PDF do nowego artefaktu pdf-core, aby oddzielić modele dokumentów od implementacji widoku. (I26e1f)
  • Udostępnianie interfejsów API OcrProvider na potrzeby rozpoznawania tekstu na podstawie obrazu (I5271b)
  • Usunęliśmy wycofaną metodę bezparametrową onLoadDocumentSuccess() z funkcji PdfViewerFragment oraz wycofaną właściwość isLinearized z funkcji PdfDocument. (I6b7ab)
  • Obsługa autouzupełniania przy wypełnianiu formularzy jest włączona.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że przewijanie w poziomie na krawędziach strony było zawodne, ponieważ podczas zarządzania przechwytywaniem zdarzeń dotykowych nie uwzględniano kierunku przewijania. (I6bda5, b/505645009)
  • Rozwiązaliśmy problem, który powodował, że szybkie przewijanie nie było zawsze wyświetlane, gdy włączone były ułatwienia dostępu. (Idaf5e, b/513082550)

Wersja 1.0.0-alpha18

22 kwietnia 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha18 Wersja 1.0.0-alpha18 zawiera te zmiany.

Zmiany w interfejsie API

  • Funkcje odczytu i renderowania biblioteki PDF zostały przeniesione do starszych wersji, aby obsługiwać urządzenia z Androidem w wersji minSdk = 28sdk-extension < 13. Zwiększa to zgodność o dodatkowe 2 miliardy aktywnych urządzeń z Androidem (I808f8).
  • Dodano interfejs API getSelectionBounds oparty na SelectionBoundary do PdfDocument. (Ida6ea)

Poprawki błędów

  • Obsługiwane wewnętrznie w PageBitmapSource.close() (I2c59e)RemoteException

Wersja 1.0.0-alpha17

8 kwietnia 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha17 Wersja 1.0.0-alpha17 zawiera te zmiany.

Zmiany w interfejsie API

Poprawki błędów

  • Zaktualizowano Compose compileSdk do interfejsu API 37. Oznacza to, że podczas korzystania z Compose wymagana jest minimalna wersja AGP 9.2.0. (Id45cd, b/413674743)

Wersja 1.0.0-alpha16

25 marca 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha16 Wersja 1.0.0-alpha16 zawiera te zmiany.

Nowe funkcje

  • EditablePdfViewerFragment obsługuje teraz renderowanie i usuwanie wyróżnień dodanych w innych aplikacjach. (Ic46e4)

Zmiany w interfejsie API

Wersja 1.0.0-alpha15

11 marca 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha15 Wersja 1.0.0-alpha15 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano Android SDK Extension Version 19 jako wymaganie dla funkcji ImageSelection (I93af7)
  • Oznaczono isLinearized Boolean jako wycofane i zastąpiono je funkcją linearizationStatus IntDef(I5c1bf)

Poprawki błędów

  • Naprawiono renderowanie szybkiego przewijania bez tekstu w przypadku gestu pojedynczego kliknięcia w PdfViewer komponencie do pisania (I442b7)
  • Kliknięcie środka widżetu w centrum widżetów.clickTypeWidgets(Ie5661)
  • Przenosi biblioteki do korzystania z Javy 11. Oznacza to, że wygenerowany kod bajtowy będzie zgodny z Java 11 (wersja pliku klasy 55) i może wymagać desugaryzacji, aby można było używać biblioteki (If4c2a, b/457821470).

Wersja 1.0.0-alpha14

25 lutego 2026 r.

Publikacja androidx.pdf:pdf-*:1.0.0-alpha14 Wersja 1.0.0-alpha14 zawiera te zmiany.

Nowe funkcje

  • Interakcja ze sprzętem zewnętrznym: w PdfViewer dostępna jest teraz pełna obsługa skrótów klawiszowych i zdarzeń myszy .
    • Nawigacja i elementy sterujące za pomocą klawiatury:
    • Powiększanie: użyj Ctrl + + lub Ctrl + =, aby powiększyć, Ctrl + -, aby pomniejszyć, i Ctrl + 0, aby dopasować dokument do szerokości.
    • Przewijanie: standardowe klawisze strzałek (pad kierunkowy) umożliwiają przewijanie w górę, w dół, w lewo i w prawo, w tym przechodzenie do następnej lub poprzedniej strony po osiągnięciu granic.
    • Zaznaczenie: użyj skrótu Ctrl + C, aby szybko skopiować aktualnie zaznaczoną treść.
    • Ulepszona obsługa myszy:
    • Kółko przewijania: obsługa przewijania w pionie i w poziomie. Aby powiększyć dokument względem pozycji kursora myszy, naciśnij Ctrl i przewiń kółkiem myszy.
    • Zaznaczanie: kliknij i przeciągnij za pomocą głównego przycisku myszy, aby zaznaczyć tekst.
    • Ulepszenia formularzy i widżetów:
    • Dodaliśmy opcję niestandardową w przypadku pól kombi.
    • Wywołanie zwrotne edycji widżetu formularza jest teraz wywoływane w przypadku wszystkich aktualizacji tekstu edycji

Zmiany w interfejsie API

  • Udostępnij PdfDocument z domeny PdfViewerFragment za pomocą onDocumentLoadSuccess(pdfDocument). (I4b47d, b/481616017)

Poprawki błędów

  • Unikaj dzielenia obiektu Bitmap w ImageSelection, aby zapobiec RuntimeException podczas zapisywania stanu instancji (I07bab).
  • Wyłącz funkcje adnotacji, gdy aktywne jest wyszukiwanie w PDF, aby poprawić skupienie Ia9866.
  • Zapewnienie, że żądania rozpoczęcia i zakończenia wyróżnienia są zawsze przetwarzane (I9a863).
  • Po otwarciu zaznacz element wybranej palety kolorów lub suwak pędzla (Ie7a75).
  • Aktualizacja wywołania zwrotnego edycji widżetu formularza, aby wywoływać je w przypadku wszystkich aktualizacji tekstu edycji (Icebe6).
  • Rozwiązaliśmy problem z znikaniem okna odrzucania po zmianie konfiguracji (I71a39).
  • Naprawiono rysunek wykraczający poza granice strony (I88bd5).
  • Usuwanie zaznaczenia tekstu po przejściu do trybu edycji (I26fb9).
  • Rozwiązaliśmy problem, który powodował, że widżet tekstowy nie był aktualizowany po kliknięciu innego widżetu (I5dffc).

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 standardowy PdfViewerFragment, 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 edycji FloatingActionButton, 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ęcia 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 konkretne 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.
    • EditablePdfViewerFragment obsługuje funkcje wypełniania formularzy wbudowanych, co zapewnia użytkownikom bezproblemową obsługę. Tą funkcją zarządza interfejs isFormFillingEnabled API w PdfView.
    • EditablePdfDocument: nowy interfejs rozszerzający PdfDocument do zarządzania zmianami w danych formularza i ich stosowania.
    • Funkcja kompozycyjna PdfViewer obsługuje interakcję z polami formularza, którą można kontrolować za pomocą parametru isFormFillingEnabled.
  • Zapisywanie zmian: PdfWriteHandle umożliwia zapisanie edytowanych treści w określonym pliku.
  • Wybieranie obrazów: dodaliśmy obsługę wybierania obrazów w dokumentach PDF przez długie naciśnięcie. Ta funkcja jest włączana za pomocą właściwości isImageSelectionEnabled zarówno w PdfView, jak i w PdfViewer. Wynikowe dane są udostępniane w ImageSelectionOnSelectionChangedListener.
  • 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 pagesPerRowPdfView i kompozycji PdfViewer.

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 renderParams do interfejsu openDocument API w SandboxedPdfLoader (If9344, b/438269273)
  • Dodano interfejsy API warstwy prezentacji wypełniania formularzy (I829c5, b/449869703).
  • Dodano adnotację @MainThread do metod wywołania zwrotnego w przypadku OnFirstContentLoadListenerOnSelectionChangedListener (I4cf10, b/466965940)
  • Oznaczono konstruktor ApplyInProgressException jako wewnętrzny, co uniemożliwia tworzenie instancji zewnętrznych (I5cc66, b/465414484)
  • Dodano adnotację @MainThread do metod wywołania zwrotnego słuchaczy w PdfView (Ie7201, b/429407597)
  • Dodaj interfejsy API, aby korzystać z natywnych funkcji edycji w usłudze EditablePdfViewerFragment. (Ifae6c, b/462049364)
  • Dodano interfejs API FirstContentLoad do PdfViewPdfViewer (Icf63d, b/461666545)
  • [2Page] Dodanie interfejsu Two-Page Layout API do PdfViewer Library (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 textAsStringTextSelection do androidx-main
  • Zmień nazwę clearSelection na clearCurrentSelection (I3a318, b/429407597)
  • Usuwanie funkcji textAsStringTextSelection (I1305d, b/429407798)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że szybkie przewijanie w PdfView nie było domyślnie widoczne. (I7fb0e)
  • Naprawiono błąd w TextSelectionMenuProvider dotyczą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 linków „Przejdź do” w pliku PDF.
  • Udostępniliśmy interfejs API menu wyboru fromPdfView i komponent PdfViewer, które umożliwiają deweloperom dodawanie pozycji menu wyboru.
  • Dodanie interfejsu API wyrównania strony 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ść contentDesc jako dopuszczającą wartość null i usunięto wartość domyślną. (I86f8c, b/441973880)
  • Udostępnianie PdfSelectionMenuKeys w przypadku elementów menu wyboru linku (Ic9b05, b/447079082)
  • Dodanie interfejsu API PageAlignment do PdfViewPdfViewer w 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 StockBrushes API, aby przyjmował wersję pędzla jako parametr funkcji fabrycznej i udostępniał kontrolę zachowania nakładania się dla pędzli zakreślacza, zmiana nazwy MutableAffineTransform.populateFromTranslate na populateFromTranslation, usunięcie InProgressStrokesView.setRenderFactory/getRenderFactory. (Id9eab, b/436656418)
  • Dodaj interfejs API PageAlignment do PdfViewPdfViewer (I9c9a5, b/438065228)
  • Udostępnienie interfejsu Selection Menu API z funkcji PdfViewer Composable (Id9b0f, b/407663999)
  • Ustaw PdfView jako ViewGroup. Nie obsługuje dowolnych elementów podrzędnych. (Ib51d8, b/410008792)
  • Udostępnij pola HyperLinkSelectionGoToLinkSelectionPdfView (I378c4, b/441280002)
  • Przebudowa PdfPageContent w celu obsługi ogólnych wyborów (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 eksperymentalnej funkcji onPdfViewCreated umożliwiającej dostęp do PdfView w PdfViewerFragment. (I86715, b/422620454)
  • Dodaje interfejs API FileDescriptor do PdfLoader (I60b8d)

Poprawki błędów

  • Ulepsz modelowanie danych wejściowych, aby pociągnięcia dokładniej odzwierciedlały dane wejściowe (I93097)

Wkład zewnętrzny

  • Udostępnianie PdfSelectionMenuKeys w przypadku pozycji menu wyboru linku
  • Udostępnianie interfejsu API menu wyboru z funkcji PdfViewer Composable
  • 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ę PdfPointPdfRect do pakietu androidx.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, PdfDocumentSandboxedPdfLoader. Interfejsy mogą służyć do implementowania komponentu analizowania i przetwarzania dokumentu PDF (Ide70d).
  • Udostępnia interfejs API do ustawiania PdfDocumentPdfView w 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żenie PdfViewerFragment. Ta wersja nie zawiera żadnych nowych interfejsów API ani funkcji.

Znane problemy:

  • Szybki przewijak 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ę containerStyleResId za pomocą @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-alpha08androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 są zwalniane. Wersja 1.0.0-alpha08 zawiera te zmiany.

Poprawki błędów

  • Rozwiązano problem z niezgodnym 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-alpha07androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 są zwalniane. Wersja 1.0.0-alpha07 zawiera te zmiany.

Nowe funkcje

  • Klasa PdfViewerFragment obsługuje teraz StylingOptions (zestaw identyfikatorów zasobów stylu), co umożliwia niestandardowe stylowanie za pomocą newInstance lub XML (FragmentContainerView). Podklasy mogą korzystać z chronionego konstruktora w celu uzyskania podobnej funkcjonalności.
  • StylingOptions obecnie przyjmuje containerStyle, co zapewnia:
    • Obsługa niestandardowych elementów rysowalnych dla uchwytu szybkiego przewijania i wskaźnika strony.
    • Atrybut marginEnd umożliwiający precyzyjne pozycjonowanie uchwytu szybkiego przewijania i wskaźnika strony.

Zmiany w interfejsie API

  • Dodano atrybuty publiczne z PdfView (I30fc5)
  • Dodano nowe interfejsy API StylingOptions do 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-alpha06androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 są zwalniane. Wersja 1.0.0-alpha06 zawiera te zmiany.

Poprawki błędów

  • Poprawka: awaria spowodowana przez IllegalArgumentException podczas odłączania niezarejestrowanej usługi (eb4e85)
  • Poprawka: awaria IllegalArgumentException z powodu różnicy między mMaxPagesnumPages. (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-alpha05androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 są zwalniane. 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. Deweloperzy Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie: -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-alpha04androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.

Rozszerzona zgodność

  • Biblioteka PDFViewer obsługuje teraz Androida w wersjach S, T, U i V. Ta zwiększona zgodność jest powiązana z aktualizacją rozszerzenia pakietu SDK 13.

Zmiany w interfejsie API

  • Dodano ograniczenie minimalnej wartości SdkExtension do strategii PdfViewerFragment. (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 findInFileView i FastscrollView.

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-alpha03androidx.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.
  • PdfViewerFragment ma 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-alpha02androidx.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 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 FloatingActionButton jest teraz dostępna w przypadku jednostronicowych plików PDF.
  • Rozwiązaliśmy problemy z nakładaniem się paska Znajdź w pliku i ikony FloatingActionButton.
  • Adnotacje tekstowe i zaznaczenia można teraz wyświetlać 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.
  • Rozwiązaliśmy problem z menu „Znajdź w pliku” ukrytym za klawiaturą w trybie poziomym.

Znane problemy

  • Obrazy 3D w dokumentach PDF nie są renderowane w przeglądarce.
  • PdfViewerFragment ma 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-alpha01androidx.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. PdfViewerFragment ułatwia integrację przeglądarki plików PDF z aktywnością i umożliwia użytkownikom interakcje w następujący sposób:
    • Powiększanie: zsuń i rozsuń 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. PdfViewerFragment zapewnia szybki suwak do przewijania 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: PdfViewerFragment wyś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 tego PdfViewerFragment wyświetla FloatingActionButton, który uruchamia niejawny zamiar android.intent.action.ANNOTATE z 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. PdfViewerFragment wyś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”. PdfViewerFragment obsługuje cały proces – umożliwia wprowadzanie danych, wyświetlanie łącznej liczby dopasowań, nawigowanie między wynikami i zamykanie ich.
  • Dodano wywołania zwrotne onDocumentLoadSuccessonDocumentLoadError, 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 FloatingActionButton nie 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 rozmywa się po obróceniu z orientacji pionowej do poziomej.
  • Nie obsługuje adnotacji tekstowych ani wyróżniania.
  • PdfViewerFragment ma problemy z wydajnością w przypadku bardzo dużych dokumentów PDF (powyżej 250 MB).

Uwaga:

  • Zaktualizuj wartość compileSdk na 35 5dc41be