IMPORT PDF 命令

通过定义和导入一个 Adobe PDF 文件来创建 Analytics 表。

语法

IMPORT PDF TO  <PASSWORD 数字> 导入文件名 FROM 源文件名 <SERVER 配置文件名> 跳过长度 <PARSER "VPDF"> <PAGES 页面范围> {[记录语法] [域语法] <...n>} <...n>
记录语法 ::=
RECORD 记录名称 记录类型 记录中的行数 透明性 [测试语法] <...n>
测试语法 ::=
TEST 包括排除 匹配类型 AT 起始行,起始位置,范围 逻辑 文本
域语法 ::=
FIELD 名称 类型 AT 起始行,起始位置 SIZE 长度,域内行数 DEC WID 字节数 PIC 格式 AS 显示名称

参数

通用参数

名称 描述
TO 

数据要导入到的 Analytics 表的名称。

说明

表名称被限制为不超过 64 个字母数字字符。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。

PASSWORD 数字

可选

用于受密码保护的 PDF 文件。

要使用的密码定义。

您不使用 PASSWORD 数字提示用户提供或者指定实际密码。密码定义是指先前使用 PASSWORD 命令、SET PASSWORD 命令或 PASSWORD 分析标记提供或设置的密码。

数字是密码定义的编号。例如,如果之前已在脚本中或在调度分析脚本时提供或设置了两个密码,则 PASSWORD 2 指定使用密码 #2。

有关提供或设置密码的详细信息,请参阅:

导入文件名

要创建的 Analytics 数据文件的名称。

导入文件名指定为具有 .FIL 文件扩展名的带引号的字符串。例如,"Invoices.FIL"

默认情况下,数据文件 (.fil) 被保存到包含 Analytics 项目的文件夹。

请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:

  • "C:\data\Invoices.FIL"
  • "data\Invoices.FIL"

FROM 源文件名

源数据文件的名称。源文件名称必须是带引号的字符串。

如果源数据文件未与 Analytics 项目位于同一目录中,则必须使用绝对路径或相对路径来指定文件位置:

  • "C:\data\源文件名称"
  • "data\源文件名称"
SERVER 配置文件名称

可选

包含您想要导入的数据的服务器的配置文件名。
跳过长度

可选

要在文件开头跳过的字节数。

例如,如果前 32 个字节包含头信息,则将跳过长度值指定为 32,以忽略此信息。

说明

对于 Unicode 数据,请仅指定偶数个字节。指定奇数个字节可能在对导入的数据进行后续处理时造成问题。

PARSER "VPDF"

可选

在文件定义过程中使用 VeryPDF 分析器来分析 PDF 文件。

如果您省略 PARSER,则使用默认的 Xpdf 分析器。

如果您是首次导入该 PDF 文件,并且您没有任何理由采取其他做法,请使用默认 Xpdf 分析器。如果您已经在使用 Xpdf 时遇到数据对齐问题,请使用 VeryPDF 分析器以查看分析结果是否更好。

PAGES 页面范围

可选

您不希望导入 PDF 文件中的所有页面时要包括的页面。必须将页面范围指定为带引号的字符串。

您可以指定:

  • 由逗号分隔的单个页面 (1,3,5)
  • 页面范围 (2-7)
  • 页面和范围的组合 (1, 3, 5-7, 11)

如果您省略 PAGES,则该 PDF 文件中的所有页面都会被导入。

RECORD 参数

通用记录定义信息。

说明

某些记录定义信息是使用映射到数据定义向导中的选项的数值代码指定的。

在脚本中,请指定数值代码而非选项名称。

名称 描述

RECORD 记录名称

数据定义向导中的记录名称。

指定记录名称在 IMPORT PDF 命令中是必要的,但记录名称值不会出现在生成的 Analytics 表中。

在数据定义向导中,Analytics 基于记录的类型提供默认名称:

  • 详细
  • n
  • n

您可以使用默认名称或者指定不同的名称。

记录类型

在定义 PDF 文件时三个可能的记录类型:

  • 0 – 详情
  • 1 – 头
  • 2 – 尾

说明

在 IMPORT PDF 的单次执行中,您可以定义多个头记录和尾记录集,但只能定义一个详情记录集。

记录中的行数

PDF 文件中的一个记录所占用的行数。

您可以定义单行或多行记录以匹配该 PDF 文件中的数据。

透明性

头记录的透明性设置。

说明

仅适用于头记录。

  • 0 – 不透明
  • 1 – 透明

透明头记录不会拆分多行详情记录。

如果头记录拆分源 PDF 文件中的多行详情记录(这可能发生在分页符处),则指定 1(透明)可在生成的 Analytics 表中将详情记录合并在一起。

TEST 参数

在 PDF 文件中定义一个记录集的条件。对于 RECORD 的每个实例,您都可以具有一个或多个 TEST 实例(最多 8 个)。

说明

某些条件是使用映射到数据定义向导中的选项的数值代码指定的(选项名称被显示在下面的括号中)。

在脚本中,请指定数值代码而非选项名称。

名称 描述
TEST 包括排除

如何处理匹配数据:

  • 0 –(包括)符合条件的数据被包括在记录集中
  • 1 –(排除)符合条件的数据被从记录集中排除
匹配类型

要执行的匹配的类型:

  • 0 –(精确匹配)匹配记录必须从指定起始行的指定位置开始包含指定字符或字符串
  • 2 –(字母)匹配记录必须从指定起始行中的指定起始位置开始或者在指定范围的所有位置中包含一个或多个字母字符
  • 3 –(数值)匹配记录必须从指定起始行中的指定起始位置开始或者在指定范围的所有位置中包含一个或多个数值字符
  • 4 –(空白)匹配记录必须从指定起始行中的指定起始位置开始或者在指定范围的所有位置中包含一个或多个空格
  • 5 –(非空白)匹配记录必须从指定起始行中的指定起始位置开始或者在指定范围的所有位置中包含一个或多个非空白字符(包括特殊字符)
  • 7 –(在行内查找)匹配记录必须在指定起始行中的任意位置包含指定字符或字符串
  • 8 –(在范围内查找)匹配记录必须在指定起始行中指定范围内的任意位置包含指定字符或字符串
  • 10 –(自定义图)匹配记录必须包含与从指定起始行中指定位置开始的指定字符模式匹配的字符
AT 起始行, 起始位置, 范围
  • 起始行 该条件所适用的记录行

    例如,如果您创建一个自定义图以匹配邮政编码,并且邮政编码出现在一个三行地址记录的第三行上,您必须在起始行中指定 3

    说明

    对于单行记录,起始行值始终为 1

  • 起始位置PDF 文件中用来与条件进行比较的起始字节位置
  • 范围要在针对条件进行比较时使用的从 PDF 文件中的起始字节位置起算的字节数

    如果您仅使用起始字节位置,而不使用范围,请为范围指定 0

    说明

    非 Unicode Analytics1 字节 = 1 字符
    Unicode Analytics2 字节 = 1 字符
逻辑

条件之间的逻辑关系:

  • 0 –()当前条件和下一个条件被用逻辑 AND 进行关联
  • 1 –()当前条件和下一个条件被用逻辑 OR 进行关联
  • 4 –(新建组 > ) 当前条件是逻辑条件组中的最后一个条件,并且当前组和下一个组被用逻辑 AND 关联
  • 5 –(新建组 > ) 当前条件是逻辑条件组中的最后一个条件,并且当前组和下一个组被用逻辑 OR 关联
  • 7 –(结束)当前条件是逻辑条件组中的最后一个条件
文本

要作为匹配对象的字面量或通配符:

  • 对于精确匹配、行内查找或范围内查找,请指定唯一标识该 PDF 文件中的记录集的字符或字符串
  • 对于自定义图,请指定唯一标识该 PDF 文件中的记录集的字符模式

    自定义图选项使用与MAP( ) 函数相同的语法。

对于其他匹配类型,文本是空字符串 ""

FIELD 参数

域定义信息。

名称 描述
FIELD 名称 类型

要从源数据文件导入的单个域,包括该域的名称和数据类型。如果要将某个域排除在导入范围之外,请不要指定它。

有关类型的信息,请参见域数据类型标识符

AT 起始行, 起始位置
  • 起始行PDF 文件中的记录内的域的起始行

    对于 PDF 文件中的多行记录,起始行使您可以在该记录的任何行开始域。如果 记录中的行数1,则起始行始终为 1

  • 起始位置PDF 文件中域的起始字节位置

    说明

    非 Unicode Analytics1 字节 = 1 字符
    Unicode Analytics2 字节 = 1 字符

    在 Unicode Analytics 中,通常您应该指定奇数起始字节位置。指定偶数起始位置可能导致字符显示不正确。

SIZE 长度, 域内行数
  • 长度 Analytics 表布局中的域的长度(以字节为单位)

    说明

    非 Unicode Analytics 1 字节 = 1 字符
    Unicode Analytics 2 字节 = 1 字符

    在 Unicode Analytics 中,请仅指定偶数个字节。指定奇数个字节可能导致字符显示不正确。

  • 域内行数 PDF 文件中的单个域值所占用的行数

    您可以定义单行或多行域以匹配该文件中的数据。

    说明

    为域指定的行数不能超过为包含该域的记录指定的行数。

DEC

数值域的小数位数。

WID 字节数

该域的显示宽度(单位为字节)。

指定的值控制 Analytics 视图和报告中的域的显示宽度。显示宽度永远不会改变数据,但是,如果它比域长度短,则可能隐藏数据。

PIC 格式

说明

仅适用于数值域或日期时间域。

  • 数值域 Analytics 视图和报告中的数值类型值的显示格式
  • 日期时间域 源数据中的日期时间值的物理格式(日期和时间字符的顺序、分隔符等等)

    说明

    对于日期时间域,格式必须完全匹配源数据中的物理格式。例如,如果源数据为 12/31/2014,则输入格式必须为 MM/DD/YYYY

必须将格式放在引号中。

AS 显示名称

新 Analytics 表的视图中的域的显示名称(备选列标题)。

请将显示名称指定为带引号的字符串。如果您希望列标题包含换行符,请在单词之间使用分号 (;)。

当您定义 FIELD 时,必须使用 AS。要使显示名称与域名称相同,请使用以下语法输入一个空白显示名称值:AS ""。请确保在两个双引号之间没有空格。

示例

从 PDF 文件的特定页面导入数据

您从受密码保护的 PDF 文件 Vendors.pdf 的第 1 页导入数据。

在生成的 Analytics 表 Vendor_List 中创建一个包含三个域的详情记录集:

IMPORT PDF TO Vendor_List PASSWORD 1 "Vendor_List.FIL" FROM "Vendors.pdf" 2 PAGES "1" RECORD "Detail" 0 1 0 TEST 0 3 AT 1,1,0 7 "" FIELD "Vendor_Number" C AT 1,1 SIZE 10,1 DEC 0 WID 10  PIC "" AS "" FIELD "Vendor_Name" C AT 1,33 SIZE 58,1 DEC 0 WID 58  PIC "" AS "" FIELD "Last_Active_Date" D AT 1,277 SIZE 20,1 DEC 0 WID 20  PIC "DD/MM/YYYY" AS ""

备注

有关此命令工作方式的详细信息,请参见定义和导入打印图像(报告)文件和 PDF 文件

在 Analytics 的 Unicode 版中排除 PDF 导入问题

如果您在使用 Unicode 版的 Analytics 导入 PDF 文件时遇到问题,该问题可能与长度规范有关:

  • 如果外语字符意外出现,或者生成的 Analytics 表中的布局失序,请核实 SIZE 长度被设置为偶数。

    为 SIZE 长度指定奇数个字节可能在对导入的数据进行处理时造成问题。

  • 如果该 Analytics 表被创建,但包含零个记录,请尝试将 skip_length 设置为 2,或者,如果在文件开头有您想要跳过的头数据,则将其设置为其他某个偶数。

域数据类型标识符

下表列出了您在为 FIELD 指定类型时必须使用的字母。每个字母都对应于一个 Analytics 数据类型。

例如,如果您要定义一个需要字符数据类型的“姓氏”域,那么您可以指定 "C": FIELD "Last_Name" C

有关详细信息,请参见Analytics 中的数据类型

说明

当使用数据定义向导 定义包含 EBCDIC 字段、Unicode 字段或 ASCII 字段的表时,这些字段会被自动分配字母 “C”(对于 CHARACTER 类型)。

当手动输入 IMPORT 语句或编辑现有 IMPORT 语句时,您可以用更加具体的字母 “E” 或 “U” 替换 EBCDIC 字段和 Unicode 字段。

字母

Analytics 数据类型

A

ACL

B

BINARY

C

CHARACTER

D

DATETIME

E

EBCDIC

F

FLOAT

G

ACCPAC

I

IBMFLOAT

K

UNSIGNED

L

LOGICAL

N

PRINT

P

PACKED

Q

BASIC

R

MICRO

S

CUSTOM

T

PCASCII

U

UNICODE

V

VAXFLOAT

X

NUMERIC

Y

UNISYS

Z

ZONED