附加 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 中,当“来自”设置为“文件”时,“源文件”选项会被忽略。执行此脚本步骤时,将打开一个对话框,网页用户可以在其中选择要上传到主机上的临时位置的 PDF 文件。从那里,脚本步骤附加 PDF 文件,然后从临时位置删除文件。

示例 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" ; 创建文件夹: 关闭 ]