如何在 Adob​​e Acrobat 中创建条件公式

已发表: 2022-01-29
Adobe Acrobat Pro 徽标
土坯

有几种方法可以在干净优雅的 PDF 文件中创建复杂的计算。 以下是如何将条件公式集成到您的下一个文档中。

Acrobat 中的条件公式

我们之前介绍了 Adob​​e Acrobat 中自动计算的基础知识。 条件公式让您超越基础,在 PDF 中创建更复杂的公式。

相关:如何在 Adob​​e Acrobat 中使用计算创建 PDF 表单

如果您在 Excel 或 Google 表格中使用公式,您可能已经知道什么是条件公式。 也称为逻辑公式,如果满足特定条件(例如数字为负数或分数高于及格分数),它们会显示特定值或激活计算。 Excel 中一些最常见的条件公式包括标准的“IF”以及“SUMIF”和 COUNTIF。 还有条件格式,如果单元格满足特定条件,则会更改格式。

使用计算字段,这些类型的公式也可以应用于 Adob​​e PDF。 您可以显示数字、文本或根据另一个输入框的结果运行计算。 您还可以将它们与其他计算字段结合使用。 条件公式对许多类型的 PDF 表单都很有用,例如:

  • 财务文件:例如,如果委托人确定某人的利率,则可以使用条件公式根据他们输入的金额显示相应的价格。
  • 测试和考试:您可以进行评估,根据应试者的总分在最后自动显示“通过”或“失败”。
  • 销售:如果您将其用于交易,您可以制作一个框,根据潜在买家对特定问题的回答来推荐产品。

请注意,虽然计算字段只能在 Adob​​e Acrobat 中进行,但实际计算将显示在任何 PDF 阅读器中。

创建简单的条件语句

Adobe Acrobat 的自定义计算字段使用 javascript 作为编程语言。 幸运的是,你不需要知道如何用 javascript 编程来创建一个简单的条件字段; 你只需要一个基本的模式来遵循。

广告

在下面的示例中,我们将使用这个简单的公司订单表格。 这目前有七个字段:一个用于五种产品中每一种的数量、总量和总价格。

Adobe Acrobat 简单表格

Adobe javascript 中的条件语句遵循以下基本语法:

var variable name = this.getField(" name of field ").value;
if( variable name condition ) event.value = true result
else event.value = false result

第一行定义将用于条件公式的值。 在这种特殊情况下,我们使用“this.getField”来获取文档中其他字段之一的值。 在第二行,我们定义条件。 与 excel 类似,我们将条件指定为大于、小于或等于特定值。

最后,我们定义结果。 真正的结果是满足条件时将显示的值。 在下一行,我们使用“else”来生成false 结果,即如果不满足条件将显示的值。

广告

为了将其付诸实践,我们创建了一个名为“批量订单”的计算字段。 要输入自定义计算脚本,请在 Acrobat 中右键单击所选字段,然后选择“属性”。 从这里,转到“计算 > 自定义计算脚本 > 编辑”。

Adobe Acrobat 自定义计算

此字段将确定订单是否算作批量。 如果总数量大于 20 件,该框将显示“是”,如果少于 20 件,则显示“否”。考虑到这些条件,我们有公式:

var TQ = this.getField(" Total Quantity" ).value;
if( TQ > 20 ) event.value = "Yes"
else event.value = "No"

在上图中,您可以看到我们将变量名称设置为“TQ”,并从“Total Quantity”字段中提取 TQ 的值。 请注意,这些字段区分大小写。 然后,我们设置我们的条件,就是TQ必须大于20,如果满足这个条件,就会显示“是”。 否则,该框将生成“否”。

Adobe Acrobat Javascript

例如,如果我们总共订购了 11 根 Lightning 电缆和 10 个电池组,我们总共有 21 件商品。 然后将其视为批量订单,并生成以下结果:

Adobe Acrobat 订单结果

多个条件

在某些情况下,您可能希望满足多个条件而不仅仅是一个条件。 幸运的是,有一种方法可以创建基于多个条件生成值的条件字段。

Adobe Acrobat 多重条件

广告

假设在您的商店中,所有达到至少 20 种产品且总价为 150 的订单都有资格享受 10% 的折扣。 最终金额将出现在一个名为“Total With Discount”的字段中。 在这种情况下,我们必须指定两个变量和两个条件。 我们将有以下字段:

var Price = this.getField(" Initial Price ").value;
var TQ = this.getField(" Total Quantity ").value;
if( Price > 150 && TQ > 20 ) event.value = Price*0.9 ;
else event.value = Price ;

如您所见,我们在两条单独的行上定义了两个变量。 您还必须使用“&&”符号来组合两个不同的条件。 请注意,最终值也是考虑了折扣的计算。

因此,如果我们使用与上面示例相同的总数,我们将生成以下结果:

Adobe Acrobat 多条件结果

计算订单

您应该考虑的一个重要因素是计算顺序。 与同时呈现计算的 Excel 不同,Acrobat 依赖于用户来确定先出现哪些公式。

要设置计算顺序,请转到“编辑表单”侧边栏并导航至更多 > 设置字段计算顺序。 在上面的例子中,因为 Bulk Order 和 Total With Discount 的公式都依赖于 Total Quantity 和 Total Price,所以我们要确保首先计算 TQ 和 TP。

Adobe Acrobat 字段计算

广告

请务必在发布表单之前查看计算顺序。 最好在表单上尝试一些示例输入,以确保一切正常。