1

我正在使用 iTextSharp 创建 PDF 文件。我可以使用 iTextSharp 在 PDF 文档中创建允许用户启动程序的链接吗?

4

1 回答 1

0

您正在寻找Launch 操作。我是有关 iText 的书的作者,我通常不谈论此功能,因为它被认为是一种安全隐患(您在评论中指出:用户确实必须信任 PDF)。

在 iTextSharp 中,您将创建一个如下所示的启动操作:

    Paragraph p = new Paragraph(
      new Chunk( "Click to open test.txt in Notepad.")
      .SetAction(
        new PdfAction(
          "c:/windows/notepad.exe",
          "test.txt", "open",
          Path.Combine(Utility.ResourceText, "")
        )
    ));
    document.Add(p);

查看代码,您会立即看到第二个问题:PDF 应该依赖于平台,但我们在此代码示例中引入了两个依赖项:

  1. 在这个示例中,我们只为在 Windows 上打开的 PDF 提供启动操作(可以为其他操作系统添加额外的属性)。
  2. 我们假设可执行文件存在于我们定义的路径上。如果您希望此 PDF 在每个环境中工作,这可能是一个大问题。

您必须与您的客户讨论这个问题,看看他们是否可以满足这些额外的要求:操作系统和可执行文件的位置。

于 2013-02-24T10:03:29.417 回答