PDF Label 端口

Version 24.1.8896


PDF Label 端口


PDF Label 端口支持使用 PDF 模板从 XML 生成丰富的可视化业务表单作为 PDF 文档。

概述

PDF Label 端口将 XML 输入转换为 PDF。XML 元素名称与 PDF 模板中的表单字段名称匹配。每个 XML 元素的值被输出到适当的表单字段中,以生成 PDF 文件。

端口配置

此部分包含所有可配置的端口属性。

设置

配置

与端口核心操作相关的设置。

  • 端口 Id 端口的静态、唯一标识符。
  • 端口类型 显示端口类型及其用途的描述。
  • 端口描述 一个可选字段,用于提供端口及其在流中的角色的自由格式描述。
  • 模板文件 作为输出模板的 PDF 文件。这个文件有与传入的 XML 数据匹配的命名字段,并且这些字段应该按照端口生成的所有 PDF 文件所需的格式排列。

消息

  • 保存至 Sent 文件夹 选中此选项可将端口处理的文件复制到端口的已发送文件夹中。
  • 已发送文件夹方案 指示端口根据选定的时间间隔对已发送文件夹中的消息进行分组。 例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将该周的所有消息存储在该文件夹中。 空白设置告诉端口将所有消息直接保存在“已发送”文件夹中。 对于处理许多消息的端口,使用子文件夹有助于保持消息的组织性并提高性能。

日志

  • 日志级别 端口生成的日志的详细程度。 当端口请求支持时,请将其设置为 调试
  • 日志子文件夹方案 指端口根据选定的时间间隔对日志文件夹中的文件进行分组。 例如,Weekly 选项表示端口每周创建一个新子文件夹并将该周的所有日志存储在该文件夹中。 空白设置告诉端口将所有日志直接保存在 Logs 文件夹中。 对于处理大量事务的端口,使用子文件夹有助于保持日志井井有条并提高性能。
  • 保留消息副本 选中此项可使已处理文件的日志条目包含文件本身的副本。 如果禁用此功能,端口可能无法从 输入输出 选项卡下载文件的副本。

特殊设置

特殊设置 适用于特定用例。

  • 其他设置 允许在以分号分隔的列表中配置隐藏的端口设置,例如setting1=value1;setting2=value2。 正常的端口用例和功能不需要使用这些设置。

自动化

自动化设置

与端口自动处理文件相关的设置。

  • 发送 是否会自动处理到达端口的消息。

性能

与端口资源分配相关的设置。

  • 最大线程数 从线程池中消耗用于处理此端口上的文件的最大工作线程数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。
  • 最大文件数 分配给端口的每个线程发送的最大文件数。 如果设置,这将覆盖 设置 > 自动化 页面上的默认设置。

通知

与配置警报和服务等级协议 (SLA) 相关的设置。

端口邮件设置

在执行 SLA 之前,需要设置电子邮件警报以获取通知。 单击 配置通知 将打开一个新的浏览器窗口,转到 系统设置,可以在其中设置系统范围的警报。 有关详细信息,请参阅通知

服务等级协议 (SLA) 配置

SLA 能够配置期望工作流中的端口发送或接收的数量,并设置期望满足该数量的时间范围。 知行之桥在不满足 SLA 时发送电子邮件警告用户,并将 SLA 标记为 有风险,这意味着如果很快不满足 SLA,则会将其标记为 已违反。 这使用户有机会介入并确定未满足 SLA 的原因,并采取适当的措施。 如果在风险时间段结束时仍未满足 SLA,则将 SLA 标记为违反,并再次通知用户。

要定义 SLA,请单击 添加预期数量条件

  • 如果端口具有单独的发送和接收操作,请使用单选按钮指定 SLA 所属的方向。
  • 期待至少 设置为期望处理的最小交易数量(交易量),然后使用 字段指定时间范围。
  • 默认情况下,SLA 每天都有效。 要更改此设置,请取消选中每日,然后选中想要的一周中的几天的框。
  • 使用 将状态设置为“有风险” 来指示何时应将 SLA 标记为存在风险。
  • 默认情况下,在违反 SLA 之前不会发送通知。 要更改此设置,请选中 发送“有风险”通知

以下示例显示为预计周一至周五每天接收 1000 个文件的端口配置的 SLA。 如果尚未收到 1000 个文件,则会在该时间段结束前 1 小时发送风险通知。

生成 PDF 文档

PDF Label 端口读取 XML文件,并使用这些 XML 文件中的数据生成与模板文件中 PDF 模板匹配的 PDF 文档。这些 XML 输入文件的结构应该与下面描述的结构或下一节中的遗留结构相匹配。

XML 格式

下面是一个 XML 输入文件的示例,下面提供了解释:

<Items>
  <PDF>
    <FormField1>Some data</FormField1>
    <BarcodeField type="code39">>5789337490548932</BarcodeField>
  </PDF>
</Items>

如上例所示,XML 应与以下结构匹配:

  • 根目录下有一个 Items 元素
  • 一个 PDF 子元素代表一个 PDF 文档
  • PDF 元素内,该元素与动态填充数据的每个表单字段的名称匹配

每个表单字段的名称(即 PDF 元素内的元素名称)来自模板文件 PDF 模板。无论此模板中用于标记表单字段的值是什么,都应用作元素名称,以确保将正确的数据注入到生成的 PDF 文档的适当字段中。

多页输出

如果模板文件 PDF 包含多个页面,则在处理 XML 输入文件时,端口将自动生成适当数量的页面。此外,可以从单个 XML 文件生成模板文件的多个副本,在这种情况下,附加副本将作为同一个输出文件的多个 PDF 页面附加。

要生成模板文件的多个副本作为多页输出,只需重复根 Items 元素的直接子元素 PDF 元素。此位置的每个 PDF 元素都将被视为模板文件的单独实例,并应包含填写模板所需的所有命名表单字段值。

输出页面子集

如果模板文件 PDF 包含多个页面,则端口支持通过在 XML 输入文件中指定适当的页面来生成这些模板页面的子集。输入文档根目录中的 Items 元素接受 pages 属性,并带有逗号分隔的页码列表(零索引),该页码应包含在输出中。

例如,如果模板文件包含 4 页,并且输出中只应包含第一页和最后一页,则 XML 输入文件如下所示:

<Items pages="0,3">
  <PDF>
    <FormField1>Some data</FormField1>
  </PDF>
</Items>

Barcodes

Barcode 字段(应包含 Barcode 数据的表单字段)的处理方式与其它表单字段相同:Barcode 字段在 PDF 模板中有一个标签,该标签作为输入 XML 中的元素名称。此外,Barcode 字段应具有 type 属性,该属性确定要生成的 Barcode 类型。端口支持四种 Barcode 类型:

  • code39
  • code128
  • gs1128
  • qrcode

然后,将 Barcode 的数字数据作为 XML 值提供给相应命名的元素。

高级 Barcode 配置

除了在 XML 输入文件中指定 Barcode 类型外,还可以直接在 PDF 模板文件中配置 Barcode。创建/编辑保存 Barcode 的表单字段时,可以将配置信息添加到字段 ‘tooltip’ 中,将影响生成的 Barcode。此配置信息应始终具有以下格式:

$$parameter1:value,parameter2:value$$

Barcode 支持的参数如下:

  • barcode - Barcode 的类型(如前一节所述,使用 type 属性时冗余)
  • qrcodeversion - Barcode 类型设置为 qrcode 时 QR 码的版本
  • eclevel - 使用 QR 码时的纠错级别:可接受的值为 ‘L’(低),’M’(中),’Q’(四分位数)和 ‘H’(高)。
  • quietzone - Barcode 周围的空白缓冲区;值应该是代表最小条形尺寸倍数的整数值(建议值为 10 或更大)

以下参数不常见,仅应用于有特殊要求的 Barcode:

  • heightnarrowratio - 与 Barcode 高度相关的最窄条的宽度;必须指定为高度为1的比率(例如 ‘0.05’ 表示 1/20th)
  • widenarrowratio - 最窄条的宽度相对于最宽条的宽度;必须指定为最宽条为 1 的比率(例如 ‘0.2’ 为 1/5th)
  • spacebarratio - Barcode 中的空间宽度相对于条形图的宽度;必须指定为条形图宽度为 1 的比率(默认值为 1)

示例

下面是一个示例 XML 输入文件、PDF 模板文件 以及生成的 PDF 输出。

注意:模板文件PDF是一个PDF编辑器,显示每个表单字段的名称。

输入 XML:

<Items>
  <PDF>
    <From1>WAREHOUSE 5B</From1>
    <To1>CLEARING HOUSE 14C</To1>
    <CarrierRoutingBarcode type="code39">5789337490548932</CarrierRoutingBarcode>
    <CarrierRoutingNumber>5789337490548932</CarrierRoutingNumber>
    <CarrierName>Fedex</CarrierName>
    <PRO_num>12345</PRO_num>
    <BOL_num>54321</BOL_num>
    <PO_num>87E112CA</PO_num>
    <ProductID_num>EE12FUZZY</ProductID_num>
    <Quantity>4</Quantity>
    <POBarcode type="code39">99123445215586</POBarcode>
    <PO_num_2>99123445215586</PO_num_2>
    <Carton_num>1</Carton_num>
    <Carton_total>1</Carton_total>
    <LotID>8821445</LotID>
    <SSCCNumber>2709667490538981</SSCCNumber>
    <SSCCBarcode type="code39">2709667490538981</SSCCBarcode>
  </PDF>
</Items>

模板文件:

PDF 模板

输出:

PDF 示例

旧 XML 格式

除了上面描述的 XML 格式外,端口还支持旧的 XML 输入文件结构,以保持向后兼容性。建议在设计新工作流时使用上一节中的语法。

以下是传统 XML 格式的示例:

<Items>
	<Item name="BillAddressLine1">Wayne Tech Plant 1</Item>
	<Item name="BillAddressLine2">100 Wayne Ave.</Item>
	<Item name="BillAddressLine3">Chapel Hill, NC 27514</Item>
	<Item name="ShipAddressLine1">Same as billing address</Item>
</Items>

在这个结构中,根元素的所有 Items 子元素都应该被称为 Items,并且这个 XML 属性应该与 PDF 模板文件中的表单字段名相匹配。前面几节中描述的相同的 XML 属性在旧格式中可用(指定 Barcode 字段的 type 和生成输出页面子集的 pages 等)。