| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 22 октября 2025 г. | - | - | - | 1.0.0-альфа11 |
Объявление зависимостей
Чтобы добавить зависимость от PDF, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha11" }
Котлин
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha11") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Заметок о выпуске для этого артефакта нет.
Версия 1.0
Версия 1.0.0-альфа11
22 октября 2025 г.
Выпущен androidx.pdf:pdf-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Новые функции
- Включение пунктов смарт-меню при выборе содержимого PDF-файла.
- Включение выбора гиперссылок и выбора ссылок GoTo в 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 ) - Сделайте
PdfViewViewGroup. Поддержка произвольных дочерних элементов отсутствует. ( 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-альфа10
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-альфа09
7 мая 2025 г.
Выпущен androidx.pdf:pdf-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .
Основные изменения
- Кодовая база подверглась серьёзному рефакторингу и теперь полностью написана на Kotlin с использованием корутин и
ViewModel. Это включает в себя переработкуPdfViewerFragment. Этот выпуск не содержит новых API или функций.
Известные проблемы:
- У быстрой прокрутки и индикатора страниц отсутствуют эффекты тени.
- Одностраничные PDF-документы не всегда могут быть отцентрированы и масштабированы по ширине представления.
Изменения API
- Добавьте аннотацию
containerStyleResIdс помощью@StyleRes. ( I88d85 )
Версия 1.0.0-альфа08
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-альфа07
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-альфа06
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-альфа05
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-альфа04
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 Viewer. ( I0af57 )
Исправления ошибок
- Исправление сбоя при проблеме завершения процесса.
- Исправления пользовательского интерфейса, связанные с диалоговым окном ввода пароля.
- Исправления доступности для
findInFileViewиFastscrollView.
Продолжающееся развитие
- Мы активно работаем над включением Jetpack Compose в библиотеку.
Версия 1.0.0-альфа03
18 сентября 2024 г.
Выпущены androidx.pdf:pdf-viewer:1.0.0-alpha03 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты .
Исправления ошибок
- Решена проблема, из-за которой клавиатура не появлялась при первом открытии поиска.
- Исправления пользовательского интерфейса, связанные со шрифтом представления FindInFile.
- Исправления пользовательского интерфейса для выделения текста и перетаскивания маркера.
Известные проблемы
- 3D-изображения в PDF-документах не отображаются в средстве просмотра.
- У
PdfViewerFragmentнаблюдаются некоторые проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ)
Версия 1.0.0-альфа02
4 сентября 2024 г.
Выпущены androidx.pdf:pdf-viewer:1.0.0-alpha02 и androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты .
Исправления ошибок
- Устранена проблема размытости изображения PDF при повороте из портретного в альбомный режим и переходе приложения в спящий режим.
- Меню «Найти в файле» теперь сохраняет количество результатов даже при изменении конфигурации.
- Значок
FloatingActionButtonтеперь доступен для одностраничных PDF-файлов. - Исправлены проблемы с перекрытием между панелью «Найти в файле» и
FloatingActionButton. - Текстовые и выделенные аннотации теперь можно отображать в средстве просмотра.
- Улучшены возможности доступа к панели «Найти в файлах».
- Внесены исправления в пользовательский интерфейс для ротации, включая сохранение счетчика поиска, решение проблемы исчезающего меню выбора текста и решение проблемы перекрытия FAB.
- Исправлено скрытие меню «Найти в файле» за клавиатурой в ландшафтном режиме.
Известные проблемы
- 3D-изображения в PDF-документах не отображаются в средстве просмотра.
- У
PdfViewerFragmentнаблюдаются некоторые проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ)
Версия 1.0.0-альфа01
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 файла или содержимого документа и запуска загрузки документа. При установке URIPdfViewerFragmentотображает индикатор загрузки, указывая на фоновую обработку документа. - Добавлен
PdfViewerFragment.isTextSearchActiveдля включения/выключения видимости меню поиска в файле.PdfViewerFragmentуправляет всем процессом: позволяет вводить данные, отображает общее количество совпадений, обеспечивает навигацию между результатами и выход из него. - Добавлены обратные вызовы
onDocumentLoadSuccessиonDocumentLoadError, которые вызываются после успешного рендеринга документа или после возникновения ошибки перед рендерингом.
Известные проблемы
- В некоторых случаях панель «Найти в файле» перекрывается
FloatingActionButton. - Значок
FloatingActionButtonне отображается для одностраничных PDF-файлов. - Количество результатов не сохраняется при изменении конфигурации в меню «Найти в файле».
- При закрытии меню «Найти в файле» наблюдается мерцание.
- 3D-изображения в PDF-документах не отображаются в средстве просмотра.
- Функции доступности будут включены в следующих выпусках.
- Изображение PDF становится размытым при повороте из книжной в альбомную ориентацию.
- Нет поддержки текстовых/выделенных аннотаций.
- У
PdfViewerFragmentнаблюдаются некоторые проблемы с производительностью при работе с очень большими PDF-документами (> 250 МБ)
Примечание
- Обновление
compileSdkдо версии 35 5dc41be