打印 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 文件,如果密码缺失或不正确,此脚本步骤将返回错误代码 607 ("加密的 PDF 文件密码缺失或不正确")。

  • 如果 PDF 文件的安全设置不允许打印,此脚本步骤将返回错误代码 608 ("PDF 文件中的安全设置不允许打印。")。

  • 当您指定空白或不含 PDF 数据的容器字段时,此脚本步骤将返回错误代码 605 ("容器字段为空") 或 606 ("指定的容器数据不是 PDF 文件。")。

  • 在 FileMaker Go 中,不支持“将打印选项保存到”“使用以下打印选项”这两个选项。

  • 在 FileMaker WebDirect 中,不支持“来自:文件”“将打印选项保存到”以及“使用以下打印选项”这些选项。

示例 1 - 打印带有对话框的 PDF 文件

从容器字段打印 PDF 文件,显示“打印”对话框,允许用户指定打印设置。

复制
打印 PDF [ 来自: 源 ; 源: Documents::ReportPDF ; 包括对话框: 打开 ]

示例 2 - 使用保存的设置自动打印

转到合同布局中的第一个记录。如果尚未设置 $$printSettings,脚本将打印 Contracts::ContractPDF 容器字段文件中的 PDF 文件,显示”打印“对话框,以便用户可以选择打印设置。设置保存在 $$printSettings 变量中。如果 $$printSettings 已设置,则第一个记录中的 PDF 将使用已保存的设置进行打印。然后,脚本循环浏览剩余的记录,使用相同的打印设置打印 PDF 文件。

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

If [ IsEmpty ( $$printSettings ) ]
  打印 PDF [ 来自: 源 ; 源: Contracts::ContractPDF ; 将打印选项保存到: $$printSettings ; 包括对话框: 打开 ]
Else
  打印 PDF [ 来自: 源 ; 源: Contracts::ContractPDF ; 恢复: 使用以下打印选项: $$printSettings ]
End If
转到记录/请求/页面 [ 下一步 ; 最后一步后退出: 打开 ]

Loop [ 刷新: 始终 ]
  打印 PDF [ 来自: 源 ; 源: Contracts::ContractPDF ; 恢复: 使用以下打印选项: $$printSettings ]
  转到记录/请求/页面 [ 下一步 ; 最后一步后退出: 打开 ]
End Loop