Работа с действиями в PDF

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Добавление гиперссылки в PDF файл

Можно добавлять гиперссылки в PDF файлы, чтобы позволить читателям переходить к другой части PDF или к внешнему контенту.

Чтобы добавить веб-гиперссылки в PDF документы:

  1. Создайте объект класса Document.
  2. Получите класс Page, к которому вы хотите добавить ссылку.
  3. Создайте объект LinkAnnotation с использованием объектов Page и Rectangle. Объект прямоугольника используется для указания местоположения на странице, где должна быть добавлена ссылка.
  4. Установите свойство Action в объект GoToURIAction, который указывает местоположение удаленного URI.
  5. Чтобы отобразить текст гиперссылки, добавьте строку текста в месте, аналогичном тому, где размещен объект LinkAnnotation.
  6. Чтобы добавить свободный текст:
  • Создайте объект FreeTextAnnotation. Он также принимает объекты Page и Rectangle в качестве аргументов, поэтому можно предоставить те же значения, что указаны для конструктора LinkAnnotation.
  • Используя свойство Contents объекта FreeTextAnnotation, укажите строку, которая должна отображаться в выходном PDF.
  • При желании установите ширину границы как для объектов LinkAnnotation, так и для объектов FreeTextAnnotation в 0, чтобы они не отображались в PDF документе.
  • После определения объектов LinkAnnotation и FreeTextAnnotation добавьте эти ссылки в коллекцию аннотаций объекта Page.
  • Наконец, сохраните обновленный PDF, используя метод Save объекта Document.

Следующий фрагмент кода показывает, как добавить гиперссылку в PDF файл.

Другой распространенный сценарий — найти данный текст в документе с помощью TextFragmentAbsorber и установить его область как гиперссылки на сайт. Ниже приведен фрагмент кода, который реализует это.

Создание гиперссылки на страницы в том же PDF

Aspose.PDF for .NET предоставляет отличную функцию для создания PDF, а также его манипуляции. Он также предлагает возможность добавлять ссылки на страницы PDF, и ссылка может направлять как на страницы в другом PDF файле, так и на веб URL, ссылку для запуска приложения или даже на страницы в том же PDF файле. Чтобы добавить локальные гиперссылки (ссылки на страницы в том же PDF файле), в пространство имен Aspose.PDF добавлен класс LocalHyperlink, который имеет свойство TargetPageNumber, используемое для указания целевой/назначенной страницы для гиперссылки.

Чтобы добавить локальную гиперссылку, нам нужно создать TextFragment, чтобы ссылка могла быть связана с TextFragment. Класс TextFragment имеет свойство Hyperlink, которое используется для связывания экземпляра LocalHyperlink. Следующий фрагмент кода показывает шаги для выполнения этого требования.

Получение назначения гиперссылки PDF (URL)

Ссылки представлены как аннотации в PDF файле, и их можно добавлять, обновлять или удалять. Aspose.PDF for .NET также поддерживает получение назначения (URL) гиперссылки в PDF файле.

Чтобы получить URL ссылки:

  1. Создайте объект Document.
  2. Получите Page, из которой вы хотите извлечь ссылки.
  3. Используйте класс AnnotationSelector, чтобы извлечь все объекты LinkAnnotation с указанной страницы.
  4. Передайте объект AnnotationSelector методу Accept объекта Page.
  5. Получите все выбранные аннотации ссылок в объект IList, используя свойство Selected объекта AnnotationSelector.
  6. Наконец, извлеките действие LinkAnnotation как GoToURIAction.

Следующий фрагмент кода показывает, как получить назначения гиперссылок (URL) из PDF файла.

Получение текста гиперссылки

Гиперссылка имеет две части: текст, который отображается в документе, и целевой URL. В некоторых случаях нам нужен текст, а не URL.

Текст и аннотации/действия в PDF файле представлены различными сущностями. Текст на странице — это просто набор слов и символов, в то время как аннотации придают некоторую интерактивность, такую как та, что присуща гиперссылке.

Чтобы найти содержимое URL, вам нужно работать как с аннотацией, так и с текстом. Объект Annotation сам по себе не содержит текста, но находится под текстом на странице. Поэтому, чтобы получить текст, аннотация дает границы URL, в то время как объект Text дает содержимое URL. Пожалуйста, смотрите следующий фрагмент кода.

Удаление действия открытия документа из PDF файла

Как указать страницу PDF при просмотре документа объясняет, как указать документу открываться на другой странице, а не на первой. При объединении нескольких документов, и если один или несколько из них имеют установленное действие GoTo, вы, вероятно, захотите их удалить. Например, если вы объединяете два документа, и второй имеет действие GoTo, которое переводит вас на вторую страницу, выходной документ откроется на второй странице второго документа вместо первой страницы объединенного документа. Чтобы избежать этого поведения, удалите команду действия открытия.

Чтобы удалить действие открытия:

  1. Установите свойство Document объекта OpenAction в null.
  2. Сохраните обновленный PDF, используя метод Save объекта Document.

Следующий фрагмент кода показывает, как удалить действие открытия документа из PDF файла.

Как указать страницу PDF при просмотре документа

При просмотре PDF файлов в просмотрщике PDF, таком как Adobe Reader, файлы обычно открываются на первой странице. Однако возможно установить файл для открытия на другой странице.

Класс XYZExplicitDestination позволяет вам указать страницу в PDF файле, которую вы хотите открыть. При передаче значения объекта GoToAction в свойство OpenAction класса Document, документ открывается на странице, указанной для объекта XYZExplicitDestination. Следующий фрагмент кода показывает, как указать страницу в качестве действия открытия документа.