在 PDF 中使用操作

以下代码片段也适用于 Aspose.PDF.Drawing 库。

在 PDF 文件中添加超链接

可以向 PDF 文件添加超链接,以允许读者导航到 PDF 的另一部分或外部内容。

为了向 PDF 文档添加网页超链接:

  1. 创建一个 Document 类对象。
  2. 获取要添加链接的 Page 类。
  3. 使用 Page 和 Rectangle 对象创建一个 LinkAnnotation 对象。矩形对象用于指定链接应添加到页面上的位置。
  4. 将 Action 属性设置为 GoToURIAction 对象,该对象指定远程 URI 的位置。
  5. 要显示超链接文本,请在与 LinkAnnotation 对象放置位置相似的位置添加文本字符串。
  6. 要添加自由文本:
  • 实例化一个 FreeTextAnnotation 对象。它也接受 Page 和 Rectangle 对象作为参数,因此可以提供与 LinkAnnotation 构造函数中指定的相同值。
  • 使用 FreeTextAnnotation 对象的 Contents 属性,指定应在输出 PDF 中显示的字符串。
  • 可选地,将 LinkAnnotation 和 FreeTextAnnotation 对象的边框宽度设置为 0,以便它们在 PDF 文档中不显示。
  • 一旦定义了 LinkAnnotationFreeTextAnnotation 对象,将这些链接添加到 Page 对象的 Annotations 集合中。
  • 最后,使用 Document 对象的 Save 方法保存更新后的 PDF。

以下代码片段演示了如何向 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 还支持获取 PDF 文件中超链接的目标 (URL)。

要获取链接的 URL:

  1. 创建一个 Document 对象。
  2. 获取要提取链接的 Page
  3. 使用 AnnotationSelector 类从指定页面提取所有 LinkAnnotation 对象。
  4. AnnotationSelector 对象传递给 Page 对象的 Accept 方法。
  5. 使用 AnnotationSelector 对象的 Selected 属性将所有选定的链接注释提取到 IList 对象中。
  6. 最后,提取 LinkAnnotation Action 作为 GoToURIAction。

以下代码片段展示了如何从 PDF 文件中获取超链接目标 (URL)。

获取超链接文本

超链接有两个部分:文档中显示的文本和目标 URL。在某些情况下,我们需要的是文本而不是 URL。

PDF 文件中的文本和注释/操作由不同的实体表示。页面上的文本只是一个单词和字符的集合,而注释则带来一些交互性,例如超链接固有的交互性。

要查找 URL 内容,您需要同时处理注释和文本。Annotation 对象本身没有文本,而是位于页面文本下方。因此,要获取文本,注释提供了 URL 的边界,而文本对象提供了 URL 内容。请参见以下代码片段。

从 PDF 文件中移除文档打开操作

如何在查看文档时指定 PDF 页面 解释了如何告诉文档在不同于第一页的页面上打开。当连接多个文档时,如果其中一个或多个具有 GoTo 操作设置,您可能希望将其移除。例如,如果合并两个文档,而第二个文档具有将您带到第二页的 GoTo 操作,则输出文档将在第二个文档的第二页打开,而不是合并文档的第一页。为了避免这种行为,请移除打开操作命令。

要移除打开操作:

  1. Document 对象的 OpenAction 属性设置为 null。
  2. 使用 Document 对象的 Save 方法保存更新后的 PDF。

以下代码片段展示了如何从 PDF 文件中移除文档打开操作。

如何在查看文档时指定 PDF 页面

在 PDF 查看器(如 Adobe Reader)中查看 PDF 文件时,文件通常在第一页打开。然而,可以设置文件在不同的页面上打开。

XYZExplicitDestination 类允许您指定要打开的 PDF 文件中的页面。当将 GoToAction 对象值传递给 Document 类的 OpenAction 属性时,文档将在与 XYZExplicitDestination 对象指定的页面打开。以下代码片段展示了如何指定页面作为文档打开操作。