打印 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