附加 PDF

将 PDF 页面附加到通过“打开 PDF”脚本步骤打开或通过“创建PDF”脚本步骤创建的文件中。

选项 

  • 来自”是 PDF 文件位置的指定方式:

    • 文件”指定 PDF 文件路径。选择后,“源文件”选项将变为可用。

    • ”在容器字段或变量中指定 PDF 文件。选择后,“”选项变得可用。

  • 当“来自”为“文件”时,“源文件”定义了 PDF 文件的一个或多个路径和文件名的列表。脚本步骤会搜索列表,并使用它成功找到的第一个 PDF 文件。路径必须使用 image 路径前缀之一。请参阅创建文件路径

  • ”指定当“来自”为“”时存储 PDF 文件的容器字段或变量。

  • 密码”是打开加密 PDF 文件所需的密码的文本表达式。如果 PDF 文件未加密,则忽略此选项。

兼容性 

产品 是否支持
FileMaker Pro
FileMaker Go
FileMaker WebDirect 部分
FileMaker Server
FileMaker Cloud
FileMaker Data API
自定义 Web 发布

原始版本 

26.0

说明 

此脚本步骤将页面从源 PDF 文件附加到当前打开的 PDF 文件中。您必须首先使用打开 PDF脚本步骤创建 PDF脚本步骤打开或创建 PDF 文件,然后才能使用此脚本步骤。

源 PDF 文件中的所有页面都附加到当前打开的 PDF 文件的末尾。此操作不会修改源 PDF 文件。

您可以使用此脚本步骤将多个 PDF 文档合并到一个文件中。例如,将标准页面(如封面、条款和条件或附录)添加到生成的报告中。

注释 

  • 在使用此脚本步骤之前,必须打开 PDF 文件。如果没有打开 PDF 文件,此脚本步骤将返回错误代码 829 ("没有打开可以附加到的 PDF 文件").。

  • 对于加密的 PDF 文件,如果密码缺失或不正确,此脚本步骤将返回错误代码 831(“PDF 密码无效”)。

  • 在 FileMaker WebDirect 中,不支持“来自: 文件”选项。

示例 1 - 创建带封面的报告

创建新的 PDF 文件,添加标准封面,并保存完整的文档。

复制
创建 PDF [ ]
附加 PDF [ 来自: 文件 ; "StandardCoverPage.pdf" ]
关闭 PDF [ 保存到: 文件 ; "Report.pdf" ]

示例 2 - 合并多个 PDF 文件

转到“合同”布局中的第一个记录,在“Global::CombinedPDF”中打开现有 PDF 文件,将位于“Contracts::ContractPDF”字段中的 PDF 文件附加到“Contracts::ContractPDF”字段中,然后关闭“Combined PDF”PDF 文件并将其保存回“CombinedPDF”字段。

复制
转到布局 [ "合同" (合同) ; 动画: 无 ]
转到记录/请求/页面 [ 第一个 ]

打开 PDF [ 来自: 源 ; 源: Global::CombinedPDF ]
Loop [ 刷新: 始终 ]
    附加 PDF [ 来自: 源 ; 源: Contracts::ContractPDF ]
    转到记录/请求/页面 [ 下一步 ; 最后一步后退出: 打开 ]
End Loop

关闭 PDF [ 保存到: 目标 ; 目标: Global::CombinedPDF ]

示例 3 -附加带有密码处理的加密 PDF 文件

在内存中创建一个 PDF 文件,然后提示用户输入加密 PDF 文件的密码以进行附加。如果 PDF 文件已成功附加,则会附加当前记录,然后关闭 PDF 文件并保存到文件路径中。否则会显示一条错误消息,并且内存中的 PDF 文件通过将其保存到本地变量而被丢弃,当脚本结束时被清除。

复制
设置错误捕获 [ 打开 ]
创建 PDF [ ]

显示自定义对话框 [ "机密 PDF 的密码" ; $inputPassword ]

附加 PDF [ 来自: 文件 ; "ConfidentialAppendix.pdf" ; 密码: •••••••• ]
设置变量 [ $errorCode ; 值: Get ( 上一个错误 ) ]

If [ $errorCode ≠ 0 ]
    If [ $errorCode = 831 ]
        显示自定义对话框 [ "验证失败" ; "机密文档的密码不正确。" ]
    Else If [ $errorCode = 832 ]
        显示自定义对话框 [ "访问被拒绝" ; "PDF 安全设置阻止复制。" ]
    Else
        显示自定义对话框 [ "错误" ; "无法附加文档。 错误偌: " & $errorCode ]
    End If
    
    关闭 PDF [ 保存到: 目标 ; 目标: $discardPDF ]
    退出脚本 [ 文本结果: "失败" ]
End If

记录另存为 PDF [ 恢复 ; 保存到: 当前打开的 PDF ; 当前记录 ]

关闭 PDF [ 保存到: 文件 ; "Declassified_Report.pdf" ; 创建文件夹: 关闭 ]