在 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 文档中不显示。
  • 一旦定义了 LinkAnnotation 和 FreeTextAnnotation 对象,将这些链接添加到 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 对象指定的页面打开。以下代码片段展示了如何指定页面作为文档打开操作。