| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 11 февраля 2026 г. | - | - | - | 1.0.0-alpha13 |
Объявление зависимостей
Чтобы добавить зависимость от pdf, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13" }
Котлин
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha13") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Для этого артефакта отсутствуют примечания к выпуску.
Версия 1.0
Версия 1.0.0-alpha13
11 февраля 2026 г.
Выпущена версия androidx.pdf:pdf-*:1.0.0-alpha13 . Версия 1.0.0-alpha13 содержит следующие коммиты .
Новые функции
- Представлен
EditablePdfViewerFragment, который расширяет стандартныйPdfViewerFragmentи предоставляет возможности редактирования PDF-файлов, включая добавление аннотаций и заполнение форм. - Аннотации: Использует библиотеку
androidx.inkдля обеспечения всесторонней поддержки аннотирования PDF-файлов. Специальная панель инструментов, активируемая плавающей кнопкой действия редактированияFloatingActionButton), предоставляет доступ к специализированным инструментам, включая:- Перо: Позволяет писать и рисовать от руки непосредственно на документе. Пользователи могут настраивать толщину линии пера, выбирая нужный параметр, и использовать широкую цветовую палитру.
- Маркер текста: Поддерживает как произвольное выделение текста, так и выделение текста с привязкой к нему, доступен в нескольких цветах.
- Ластик: Точно удаляет определенные аннотации.
- Отмена и повтор: Предоставляет встроенные возможности для беспрепятственной отмены или повтора последних изменений.
- Заполнение форм: Поддержка щелчков мышью по полям формы и их изменения, таким как текстовые поля, выпадающие списки, флажки и переключатели.
- Компонент
EditablePdfViewerFragmentподдерживает заполнение форм непосредственно в коде, обеспечивая удобство использования. Эта функция управляется через APIisFormFillingEnabledвPdfView. -
EditablePdfDocument: Новый интерфейс, расширяющийPdfDocument, для управления и применения изменений к данным форм. - Компонент
PdfViewerподдерживает взаимодействие с полями форм, которое можно контролировать с помощью параметраisFormFillingEnabled.
- Компонент
- Сохранение изменений:
PdfWriteHandleпозволяет сохранять отредактированное содержимое в указанный файл. - Выбор изображений: Добавлена поддержка выбора изображений при длительном нажатии в PDF-документах. Эта функция включается с помощью свойства
isImageSelectionEnabledкак вPdfView, так и в составном компонентеPdfViewer. Полученные данные передаются через модельImageSelectionвOnSelectionChangedListener. - Двухстраничный макет: добавлен режим параллельного отображения для устройств с большими экранами, настраиваемый с помощью свойства
pagesPerRowвPdfViewи компонентаPdfViewer.
Изменения в API
- Внедрение API для выбора изображений в библиотеку Jetpack PDF ( Iee0b9 , b/470897750 )
- Сделать API уровня обработки заполнения форм общедоступными. ( Iec39c , b/474260451 )
- Добавить параметр
renderParamsв APIopenDocumentвSandboxedPdfLoader( If9344 , b/438269273 ) - Добавить API для заполнения форм на уровне представления ( I829c5 , b/449869703 )
- Добавлена аннотация
@MainThreadк методам обратного вызоваOnFirstContentLoadListenerиOnSelectionChangedListener( I4cf10 , b/466965940 ) - Вызвано исключение
ApplyInProgressExceptionв конструкторе, препятствующее внешнему созданию экземпляра ( I5cc66 , b/465414484 ) - Добавлена аннотация
@MainThreadк методам обратного вызова слушателей вPdfView( Ie7201 , b/429407597 ) - Добавление API для нативных возможностей редактирования через
EditablePdfViewerFragment. ( Ifae6c , b/462049364 ) - Добавить API
FirstContentLoadвPdfViewиPdfViewer( Icf63d , b/461666545 ) - [2Page] Добавление API для двухстраничной компоновки в библиотеку
PdfViewer( I8d7f1 , b/452517650 )
Исправлены ошибки
- Исправлена ошибка, возникающая из-за того, что страница уже закрыта до загрузки растрового изображения ( b/475255729 ).
Версия 1.0.0-alpha12
3 декабря 2025 г.
Выпущена версия androidx.pdf:pdf-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .
Изменения в API
- Удалите функцию
textAsStringизTextSelectionв androidx-main. - Переименовать
clearSelectionвclearCurrentSelection( I3a318 , b/429407597 ) - Удалить функцию
textAsStringизTextSelection( I1305d , b/429407798 )
Исправлены ошибки
- Исправлена ошибка, из-за которой ползунок быстрой прокрутки в
PdfViewпо умолчанию не отображался. ( I7fb0e ) - Исправлена ошибка, приводящая к сбою в
TextSelectionMenuProviderпри выделении текста без значения. ( I855df )
Версия 1.0.0-alpha11
22 октября 2025 г.
Выпущена версия androidx.pdf:pdf-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Новые функции
- Включение интеллектуальных пунктов меню при выделении содержимого PDF-файла.
- Включение выделения гиперссылок и перехода по ссылкам в PDF-файлах.
- Предоставление доступа к API меню выбора
fromPdfViewиPdfViewerComposable, что позволяет разработчикам добавлять пункты меню выбора. - Добавление API выравнивания страниц в PdfView и PdfViewer Composable, позволяющее разработчикам выбирать выравнивание страницы, когда высота контента меньше высоты области просмотра.
Изменения в API
- Сделано
contentDescдопускающим значение null и удалено значение по умолчанию. ( I86f8c , b/441973880 ) - Предоставить доступ
PdfSelectionMenuKeysдля пунктов меню выбора ссылок ( Ic9b05 , b/447079082 ) - Добавьте API
PageAlignmentвPdfViewиPdfViewerв библиотеку androidx-main. - Изменить API, связанный с углами, чтобы использовать градусы и включать единицы измерения в имена, четко указать единицы измерения в утилитах преобразования углов и поддерживать как градусы, так и радианы, изменить API
StockBrushes, чтобы он принимал версию стандартной кисти в качестве параметра фабричной функции, и предоставить возможность управления поведением самоперекрытия для кистей-выделителей, переименоватьMutableAffineTransform.populateFromTranslateвpopulateFromTranslation, удалитьInProgressStrokesView.setRenderFactory/getRenderFactory. ( Id9eab , b/436656418 ) - Добавить API
PageAlignmentвPdfViewиPdfViewer( I9c9a5 , b/438065228 ) - Предоставление доступа к API меню выбора из
PdfViewerComposable ( Id9b0f , b/407663999 ) - Преобразовать
PdfViewвViewGroup. Нет поддержки произвольных дочерних элементов. ( Ib51d8 , b/410008792 ) - Добавить
HyperLinkSelectionиGoToLinkSelectionвPdfView( I378c4 , b/441280002 ) - Переработайте
PdfPageContentдля поддержки универсальных выделений ( I28f16 , b/437845185 ) - Предоставление доступа к API меню выбора из
PdfView( Idd547 , b/407663737 ) - Переместить классы, связанные с выбором, в отдельный пакет ( I953cb , b/436157691 )
- Введена экспериментальная
onPdfViewCreatedдля доступа к PdfView вPdfViewerFragment. ( I86715 , b/422620454 ) - Добавляет API
FileDescriptorвPdfLoader( I60b8d )
Исправлены ошибки
- Улучшить моделирование входных данных, чтобы штрихи более точно отражали входные данные ( I93097 )
Внешний вклад
- Предоставить доступ
PdfSelectionMenuKeysдля пунктов меню выбора ссылок - Предоставление доступа к API меню выбора из
PdfViewerComposable - Предоставление доступа к API меню выбора из
PdfView
Версия 1.0.0-alpha10
16 июля 2025 г.
Выпущена версия androidx.pdf:pdf-*:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит следующие коммиты .
Новые функции
- Расширенная функция выделения, позволяющая пользователям выделять текст на нескольких страницах, перетаскивая маркеры выделения за пределы страницы.
- Теперь приложения могут перехватывать и настраивать обработку кликов по гиперссылкам в PDF-документах.
Изменения в API
- Предоставляет возможность использования компонента Composable для отображения содержимого PDF-файлов ( I8e7ee ).
- Перемещение
PdfPointиPdfRectв пакетandroidx.pdf.models( I26cf4 ) - Предоставляет компонент View для отображения содержимого PDF-файла ( I9fe27 )
- Предоставляет API для предварительной инициализации ресурсов PDF и снижения задержки холодного запуска ( a18fa89 )
- Предоставляет API для переопределения обработки кликов по гиперссылкам в содержимом PDF-файла ( 6330a8b )
- Предоставляет новый артефакт pdf-document-service и соответствующие API —
PdfLoader,PdfDocumentиSandboxedPdfLoader. Эти интерфейсы можно использовать для реализации компонента анализа и обработки PDF-документа ( Ide70d ). - Предоставляет API для установки параметра
PdfDocumentвPdfViewдля инициализации рендеринга документа ( If8738 ).
Версия 1.0.0-alpha09
7 мая 2025 г.
Выпущена версия androidx.pdf:pdf-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .
Основные изменения
- Код претерпел значительную рефакторизацию и теперь полностью написан на Kotlin с использованием корутин и
ViewModel. Это включает в себя переработкуPdfViewerFragment. Данный релиз не содержит новых API или функций.
Известные проблемы:
- В быстрой прокрутке и индикаторе страницы отсутствуют эффекты теней.
- Одностраничные PDF-документы не всегда центрируются и масштабируются в соответствии с шириной окна просмотра.
Изменения в API
- Добавьте аннотацию `
@StyleResк `containerStyleResId. ( I88d85 )
Версия 1.0.0-alpha08
12 марта 2025 г.
Выпущены 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 содержит следующие изменения .
Исправлены ошибки
- Исправлено несоответствие в расположении меню выбора на разных устройствах Android из-за различий в масштабировании. Теперь расположение меню выбора одинаково на всех устройствах.
- Выравнивание положения быстрого скроллера и индикатора страницы при повторном создании фрагмента в таких сценариях, как изменение конфигурации и т. д.
Версия 1.0.0-alpha07
26 февраля 2025 г.
Выпущены 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 содержит следующие изменения .
Новые функции
- Теперь
PdfViewerFragmentподдерживаетStylingOptions(набор идентификаторов ресурсов стилей), позволяющий настраивать стиль с помощьюnewInstanceили XML (FragmentContainerView). Подклассы могут использовать защищенный конструктор для аналогичной функциональности. - В настоящее время
StylingOptionsпринимает значениеcontainerStyle, которое предоставляет:- Поддержка пользовательских элементов отображения для маркера быстрой прокрутки и индикатора страницы.
- Атрибут
marginEndиспользуется для точного позиционирования маркера быстрой прокрутки и индикатора страницы.
Изменения в API
- Добавлены общедоступные атрибуты из
PdfView( I30fc5 ) - Добавлены новые API-интерфейсы
StylingOptionsдля просмотра PDF-файлов. ( Id2993 )
Исправлены ошибки
- Исправлено несоответствие синхронизации между состоянием видимости маркера быстрой прокрутки и индикатора страницы.
Версия 1.0.0-alpha06
29 января 2025 г.
Выпущены 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 содержит следующие изменения .
Исправлены ошибки
- Исправление: Сбой, вызванный
IllegalArgumentExceptionпри отмене привязки незарегистрированной службы ( eb4e85 ) - Исправление: Ошибка
IllegalArgumentExceptionвозникает из-за разницы междуmMaxPagesиnumPages. ( 75d763 )
Версия 1.0.0-alpha05
11 декабря 2024 г.
Выпущены 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 содержит следующие изменения .
Исправлены ошибки
- В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I38301 , b/326456246 ) - Исправлена ошибка, из-за которой ранее открытая страница отображалась после поворота экрана в Android 13. ( Ib03dd )
- Исправлена ошибка, из-за которой панель инструментов исчезала при повороте экрана. ( 01148f )
Версия 1.0.0-alpha04
13 ноября 2024 г.
Выпущены версии androidx.pdf:pdf-viewer:1.0.0-alpha04 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .
Расширенная совместимость
- Библиотека
PDFViewerтеперь поддерживает версии Android S, T, U и V. Эта улучшенная совместимость связана с обновлением расширения SDK до версии 13.
Изменения в API
- Добавлено ограничение минимального
SdkExtensionдляPdfViewerFragment. ( I922af ) - Предоставляем доступ к новым API для библиотеки просмотра PDF-файлов. ( I0af57 )
Исправлены ошибки
- Исправлена ошибка, приводящая к сбою процесса.
- Исправлены ошибки в пользовательском интерфейсе, связанные с диалогом ввода пароля.
- Исправлены ошибки доступности для
findInFileViewиFastscrollView.
Текущее развитие
- Мы активно работаем над интеграцией Jetpack Compose в библиотеку.
Версия 1.0.0-alpha03
18 сентября 2024 г.
Выпущены версии androidx.pdf:pdf-viewer:1.0.0-alpha03 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты .
Исправлены ошибки
- Исправлена ошибка, из-за которой клавиатура не отображалась при первом открытии поиска.
- Исправлены ошибки в пользовательском интерфейсе, связанные со шрифтом в режиме поиска файлов (FindInFile).
- Исправлены ошибки в пользовательском интерфейсе, касающиеся выделения текста и маркера перетаскивания.
Известные проблемы
- Трехмерные изображения в PDF-документах не отображаются в программе просмотра.
-
PdfViewerFragmentнаблюдаются проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ).
Версия 1.0.0-alpha02
4 сентября 2024 г.
Выпущены версии androidx.pdf:pdf-viewer:1.0.0-alpha02 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .
Исправлены ошибки
- Устранена проблема с размытыми изображениями в PDF-файлах при повороте окна из портретного в альбомный режим и переходе приложения в спящий режим.
- Теперь в меню поиска по файлу количество результатов сохраняется даже при изменении настроек.
- Теперь для PDF-файлов, содержащих одну страницу, доступен значок
FloatingActionButton. - Исправлены проблемы с наложением между панелью поиска файла и
FloatingActionButton. - Теперь текстовые и пояснительные аннотации можно отображать в окне просмотра.
- Внесены улучшения в доступность панели поиска файлов.
- Внесены исправления в пользовательский интерфейс для поворота экрана, включая сохранение счетчика найденных элементов, устранение проблемы с исчезающим меню выделения текста и решение проблемы с наложением кнопок FAB.
- Исправлена ошибка, из-за которой функция поиска в меню «Файл» скрывалась за клавиатурой в альбомном режиме.
Известные проблемы
- Трехмерные изображения в PDF-документах не отображаются в программе просмотра.
-
PdfViewerFragmentнаблюдаются проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ).
Версия 1.0.0-alpha01
7 августа 2024 г.
Выпущены версии androidx.pdf:pdf-viewer:1.0.0-alpha01 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .
Новые функции
Первоначальная альфа-версия PDFViewer включает в себя предварительные реализации, обеспечивающие основные сценарии чтения PDF-файлов. Обратите внимание, что PdfViewerFragment в настоящее время поддерживается только на версиях Android V (SDK 35). Поддержка более старых версий Android будет добавлена в последующих релизах.
- Представлен
PdfViewerFragment, который ваше приложение может использовать для отображения PDF-документа.PdfViewerFragmentупрощает интеграцию средства просмотра PDF-файлов в ваше Activity и позволяет пользователям взаимодействовать с ним следующими способами:- Масштабирование: Используйте жесты «щипок» для регулировки уровня масштабирования для комфортного чтения, а также двойное касание для быстрого увеличения/уменьшения масштаба до состояния по умолчанию.
- Навигация: Прокрутка в режиме по умолчанию/масштабирования.
PdfViewerFragmentпредоставляет быстрый ползунок для быстрой прокрутки между страницами. - Действия с текстом: Длительное нажатие на текст выделяет его, позволяя пользователям использовать такие параметры, как «Копировать» и «Выделить весь текст» на текущей странице.
- Документы, защищенные паролем:
PdfViewerFragmentпредоставляет диалоговое окно, в котором пользователь может ввести пароль и открыть документ. - Навигационные гиперссылки: Пользователи могут переходить по веб-адресам или закладкам, нажимая на гиперссылки внутри PDF-файла.
- Быстрый переход в режим аннотаций: режим редактирования пока не поддерживается в
PdfViewerFragment. Вместо этогоPdfViewerFragmentотображаетFloatingActionButton, который запускает неявный интентandroid.intent.action.ANNOTATEс URI документа.
Изменения в API
- Добавлено свойство
PdfViewerFragment.documentUriдля установки URI файла или содержимого документа и запуска загрузки документа.PdfViewerFragmentотображает индикатор загрузки, когда задан URI, указывая на фоновую обработку документа. - Добавлена
PdfViewerFragment.isTextSearchActiveдля переключения видимости поиска в меню «Файл».PdfViewerFragmentобрабатывает весь процесс — ввод данных, отображение общего количества совпадений, навигацию между результатами и выход из него. - Добавлены коллбэки
onDocumentLoadSuccessиonDocumentLoadError, которые вызываются после успешной отрисовки документа или после возникновения ошибки до отрисовки.
Известные проблемы
- В некоторых случаях строка поиска файла перекрывает
FloatingActionButton. - Значок
FloatingActionButtonне отображается для PDF-файлов, содержащих одну страницу. - Количество результатов не сохраняется при изменении настроек в меню поиска в файле.
- При закрытии меню поиска в меню «Файл» наблюдается мерцание.
- Трехмерные изображения в PDF-документах не отображаются в программе просмотра.
- Функции обеспечения доступности будут включены в следующих версиях.
- Изображение в PDF-файле становится размытым при повороте из портретного режима в альбомный.
- Отсутствует поддержка текстовых/выделительных аннотаций.
-
PdfViewerFragmentнаблюдаются проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ).
Примечание
- Обновите
compileSdkдо версии 35 5dc41be