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