Библиотека просмотра PDF-файлов Jetpack, поддерживаемая API-интерфейсами фреймворка, предлагает готовое, производительное решение для приложений, связанных с PDF-документами, на Android.
Библиотека средства просмотра PDF-файлов ( androidx.pdf ) предоставляет встраиваемый пользовательский интерфейс средства просмотра PDF-файлов, который позволяет пользователям выполнять следующие действия:
- Открывать и просматривать PDF-документы
- Поиск и выбор контента
- Масштабирование и прокрутка
- Сохранение аннотаций к документу
- Взаимодействуйте с PDF-файлами с помощью стилуса
Вы можете создать полнофункциональный PDF-файл, интегрировав API библиотеки Jetpack или напрямую используя API фреймворка.
PDF-библиотека Jetpack
Библиотека Jetpack PDF предоставляет класс PdfViewerFragment , который отображает PDF-документы, включая PDF-файлы с разбивкой на страницы. Каждая страница отображается в отдельном представлении. PdfViewerFragment отображает плавающую кнопку действия для поддержки аннотаций и обычно включает в себя кнопку или другой элемент управления пользовательского интерфейса, открывающий меню поиска.
Чтобы узнать, как реализовать PdfViewerFragment , см. раздел Реализация средства просмотра PDF .
API-интерфейсы фреймворка
Библиотека Jetpack использует API фреймворка для анализа и загрузки PDF-документов. PdfRenderer предоставляет базовые API фреймворка для рендеринга PDF.
До Android V (API уровня 35) классы PdfRenderer и PdfRenderer.Page предоставляли API для работы с PDF-файлами. В Android V классы PdfRenderer и PdfRenderer.Page были обновлены и дополнены расширенными возможностями работы с PDF-файлами.
PdfRenderer
API до Android V
-
getPageCount()— Получает количество страниц в документе. -
openPage(index: Int)— открывает страницу для рендеринга. -
shouldScaleForPrinting()— определяет, нужно ли масштабировать документ для печати. Учитывайте эту информацию, если документ готовится к печати, а целевой размер носителя отличается от размера страницы.
API, добавленные в Android V
-
PdfRenderer(fileDescriptor: ParcelFileDescriptor, params: LoadParams)— создаёт новый экземпляр. Поддерживает загрузку PDF-файлов, защищённых паролем. -
getDocumentLinearizedType()— возвращает линеаризованный тип документа для PDF-файлов размером менее 1 КБ. -
getPdfFormType()— Возвращает тип формы загруженного PDF-файла. -
write(destination: ParcelFileDescriptor, removePasswordProtection: Boolean)— сохраняет состояние текущего загруженного документа в доступном для записи файловом дескрипторе, переданном в качестве аргумента.
PdfRenderer.Page
Класс PdfRenderer.Page представляет страницу PDF-документа для рендеринга.
API до Android V
-
RENDER_MODE_FOR_DISPLAY— Режим рендеринга содержимого для отображения на экране. -
RENDER_MODE_FOR_PRINT— Режим визуализации содержимого для печати. -
getIndex()— Получает индекс страницы. -
getWidth()— Получает ширину страницы в пунктах (1/72 дюйма). -
getHeight()— Получает высоту страницы в пунктах (1/72 дюйма). -
render(destination: Bitmap, destClip: Rect?, transform: Matrix?, renderMode: Int)— Отображает страницу в растровое изображение.
API, добавленные в Android V
-
applyEdit(editRecord: FormEditRecord)— применяетFormEditRecordк PDF-файлу. -
getFormWidgetInfos()— Возвращает информацию обо всех виджетах форм на странице. -
getFormWidgetInfos(types: IntArray)— Возвращает информацию обо всех виджетах форм указанных типов на странице. -
getFormWidgetInfoAtIndex(widgetIndex: Int)— возвращает информацию о виджете, идентифицированном аргументомwidgetIndex. -
fun getFormWidgetInfoAtPosition(x: Int, y: Int)— Возвращает информацию о виджете в заданной точке. -
getGotoLinks()— Получает закладки и ссылки перехода, присутствующие на странице PDF-документа. -
getImageContents()— Возвращает списокPdfPageImageContent, найденных на странице. -
getLinkContents()— Получает границы и URL-адреса всех ссылок на странице. -
getTextContents()— Возвращает списокPdfPageTextContentна странице. -
render(destination: Bitmap, destClip: Rect?, transform: Matrix?, params: RenderParams)— Отображает страницу в растровое изображение. -
searchText(query: String)— ищет на странице заданную строку и возвращает границы всех совпадений. -
selectContent(start: SelectionBoundary, stop: SelectionBoundary)— возвращаетPageSelection, представляющий содержимое между двумя границами.
использование API
API
PdfRenderer#write()записывает версию загруженного PDF-файла вParcelFileDescriptor. Примеры использования:- Сохранение копии PDF-документа после снятия защиты паролем
- Сохранение правок (аннотаций, заполнения форм и т. д.)
API
PdfRenderer.Page#render()визуализирует страницу или её часть в растровое изображение. В случае масштабирования API также можно использовать для визуализации части страницы в растровое изображение заданного размера.API-функции
PdfRenderer.PagegetImageContents(),getLinkContents()иgetTextContents()возвращают содержимое страницы. Это содержимое можно использовать для поддержки доступности и объявлений TalkBack, а также для функций на базе искусственного интеллекта, таких как создание сводки страницы.API
PdfRenderer.Page#selectContentвыбирает контент, доступный на странице. Выбранный контент можно использовать для следующих действий:- Позвоните, если номер телефона
- Карты, если выбран адрес
- Копировать
- Делиться
- Комментарии
Совместимость
Класс PdfRendererPreV предоставляет API Android V для Android R–U (уровни API 30–34).
Дополнительные ресурсы
Чтобы узнать, как добавить средство просмотра PDF-файлов в свое приложение, ознакомьтесь с разделом Реализация средства просмотра PDF-файлов .
,Библиотека просмотра PDF-файлов Jetpack, поддерживаемая API-интерфейсами фреймворка, предлагает готовое, производительное решение для приложений, связанных с PDF-документами, на Android.
Библиотека средства просмотра PDF-файлов ( androidx.pdf ) предоставляет встраиваемый пользовательский интерфейс средства просмотра PDF-файлов, который позволяет пользователям выполнять следующие действия:
- Открывать и просматривать PDF-документы
- Поиск и выбор контента
- Масштабирование и прокрутка
- Сохранение аннотаций к документу
- Взаимодействуйте с PDF-файлами с помощью стилуса
Вы можете создать полнофункциональный PDF-файл, интегрировав API библиотеки Jetpack или напрямую используя API фреймворка.
PDF-библиотека Jetpack
Библиотека Jetpack PDF предоставляет класс PdfViewerFragment , который отображает PDF-документы, включая PDF-файлы с разбивкой на страницы. Каждая страница отображается в отдельном представлении. PdfViewerFragment отображает плавающую кнопку действия для поддержки аннотаций и обычно включает в себя кнопку или другой элемент управления пользовательского интерфейса, открывающий меню поиска.
Чтобы узнать, как реализовать PdfViewerFragment , см. раздел Реализация средства просмотра PDF .
API-интерфейсы фреймворка
Библиотека Jetpack использует API фреймворка для анализа и загрузки PDF-документов. PdfRenderer предоставляет базовые API фреймворка для рендеринга PDF.
До Android V (API уровня 35) классы PdfRenderer и PdfRenderer.Page предоставляли API для работы с PDF-файлами. В Android V классы PdfRenderer и PdfRenderer.Page были обновлены и дополнены расширенными возможностями работы с PDF-файлами.
PdfRenderer
API до Android V
-
getPageCount()— Получает количество страниц в документе. -
openPage(index: Int)— открывает страницу для рендеринга. -
shouldScaleForPrinting()— определяет, нужно ли масштабировать документ для печати. Учитывайте эту информацию, если документ готовится к печати, а целевой размер носителя отличается от размера страницы.
API, добавленные в Android V
-
PdfRenderer(fileDescriptor: ParcelFileDescriptor, params: LoadParams)— создаёт новый экземпляр. Поддерживает загрузку PDF-файлов, защищённых паролем. -
getDocumentLinearizedType()— возвращает линеаризованный тип документа для PDF-файлов размером менее 1 КБ. -
getPdfFormType()— Возвращает тип формы загруженного PDF-файла. -
write(destination: ParcelFileDescriptor, removePasswordProtection: Boolean)— сохраняет состояние текущего загруженного документа в доступном для записи файловом дескрипторе, переданном в качестве аргумента.
PdfRenderer.Page
Класс PdfRenderer.Page представляет страницу PDF-документа для рендеринга.
API до Android V
-
RENDER_MODE_FOR_DISPLAY— Режим рендеринга содержимого для отображения на экране. -
RENDER_MODE_FOR_PRINT— Режим визуализации содержимого для печати. -
getIndex()— Получает индекс страницы. -
getWidth()— Получает ширину страницы в пунктах (1/72 дюйма). -
getHeight()— Получает высоту страницы в пунктах (1/72 дюйма). -
render(destination: Bitmap, destClip: Rect?, transform: Matrix?, renderMode: Int)— Отображает страницу в растровое изображение.
API, добавленные в Android V
-
applyEdit(editRecord: FormEditRecord)— применяетFormEditRecordк PDF-файлу. -
getFormWidgetInfos()— Возвращает информацию обо всех виджетах форм на странице. -
getFormWidgetInfos(types: IntArray)— Возвращает информацию обо всех виджетах форм указанных типов на странице. -
getFormWidgetInfoAtIndex(widgetIndex: Int)— возвращает информацию о виджете, идентифицированном аргументомwidgetIndex. -
fun getFormWidgetInfoAtPosition(x: Int, y: Int)— Возвращает информацию о виджете в заданной точке. -
getGotoLinks()— Получает закладки и ссылки перехода, присутствующие на странице PDF-документа. -
getImageContents()— Возвращает списокPdfPageImageContent, найденных на странице. -
getLinkContents()— Получает границы и URL-адреса всех ссылок на странице. -
getTextContents()— Возвращает списокPdfPageTextContentна странице. -
render(destination: Bitmap, destClip: Rect?, transform: Matrix?, params: RenderParams)— Отображает страницу в растровое изображение. -
searchText(query: String)— ищет на странице заданную строку и возвращает границы всех совпадений. -
selectContent(start: SelectionBoundary, stop: SelectionBoundary)— возвращаетPageSelection, представляющий содержимое между двумя границами.
использование API
API
PdfRenderer#write()записывает версию загруженного PDF-файла вParcelFileDescriptor. Примеры использования:- Сохранение копии PDF-документа после снятия защиты паролем
- Сохранение правок (аннотаций, заполнения форм и т. д.)
API
PdfRenderer.Page#render()визуализирует страницу или её часть в растровое изображение. В случае масштабирования API также можно использовать для визуализации части страницы в растровое изображение заданного размера.API-функции
PdfRenderer.PagegetImageContents(),getLinkContents()иgetTextContents()возвращают содержимое страницы. Это содержимое можно использовать для поддержки доступности и объявлений TalkBack, а также для функций на базе искусственного интеллекта, таких как создание сводки страницы.API
PdfRenderer.Page#selectContentвыбирает контент, доступный на странице. Выбранный контент можно использовать для следующих действий:- Позвоните, если номер телефона
- Карты, если выбран адрес
- Копировать
- Делиться
- Комментарии
Совместимость
Класс PdfRendererPreV предоставляет API Android V для Android R–U (уровни API 30–34).
Дополнительные ресурсы
Чтобы узнать, как добавить средство просмотра PDF-файлов в свое приложение, ознакомьтесь с разделом Реализация средства просмотра PDF-файлов .