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 项目的文件夹。 请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:
|
FROM 源文件名 |
源数据文件的名称。源文件名称必须是带引号的字符串。 如果源数据文件未与 Analytics 项目位于同一目录中,则必须使用绝对路径或相对路径来指定文件位置:
|
SERVER 配置文件名称 可选 |
包含您想要导入的数据的服务器的配置文件名。 |
跳过长度
可选 |
要在文件开头跳过的字节数。 例如,如果前 32 个字节包含头信息,则将跳过长度值指定为 32,以忽略此信息。 说明 对于 Unicode 数据,请仅指定偶数个字节。指定奇数个字节可能在对导入的数据进行后续处理时造成问题。 |
PARSER "VPDF" 可选 |
在文件定义过程中使用 VeryPDF 分析器来分析 PDF 文件。 如果您省略 PARSER,则使用默认的 Xpdf 分析器。 如果您是首次导入该 PDF 文件,并且您没有任何理由采取其他做法,请使用默认 Xpdf 分析器。如果您已经在使用 Xpdf 时遇到数据对齐问题,请使用 VeryPDF 分析器以查看分析结果是否更好。 |
PAGES 页面范围 可选 |
您不希望导入 PDF 文件中的所有页面时要包括的页面。必须将页面范围指定为带引号的字符串。 您可以指定:
如果您省略 PAGES,则该 PDF 文件中的所有页面都会被导入。 |
RECORD 参数
通用记录定义信息。
说明
某些记录定义信息是使用映射到数据定义向导中的选项的数值代码指定的。
在脚本中,请指定数值代码而非选项名称。
名称 | 描述 |
---|---|
RECORD 记录名称 |
数据定义向导中的记录名称。 指定记录名称在 IMPORT PDF 命令中是必要的,但记录名称值不会出现在生成的 Analytics 表中。 在数据定义向导中,Analytics 基于记录的类型提供默认名称:
您可以使用默认名称或者指定不同的名称。 |
记录类型 |
在定义 PDF 文件时三个可能的记录类型:
说明 在 IMPORT PDF 的单次执行中,您可以定义多个头记录和尾记录集,但只能定义一个详情记录集。 |
记录中的行数 |
PDF 文件中的一个记录所占用的行数。 您可以定义单行或多行记录以匹配该 PDF 文件中的数据。 |
透明性 |
头记录的透明性设置。 说明 仅适用于头记录。
透明头记录不会拆分多行详情记录。 如果头记录拆分源 PDF 文件中的多行详情记录(这可能发生在分页符处),则指定 1(透明)可在生成的 Analytics 表中将详情记录合并在一起。 |
TEST 参数
在 PDF 文件中定义一个记录集的条件。对于 RECORD 的每个实例,您都可以具有一个或多个 TEST 实例(最多 8 个)。
说明
某些条件是使用映射到数据定义向导中的选项的数值代码指定的(选项名称被显示在下面的括号中)。
在脚本中,请指定数值代码而非选项名称。
名称 | 描述 | ||||
---|---|---|---|---|---|
TEST 包括排除 |
如何处理匹配数据:
|
||||
匹配类型 |
要执行的匹配的类型:
|
||||
AT 起始行, 起始位置, 范围 |
|
||||
逻辑 |
条件之间的逻辑关系:
|
||||
文本 |
要作为匹配对象的字面量或通配符:
对于其他匹配类型,文本是空字符串 ""。 |
FIELD 参数
域定义信息。
名称 | 描述 | ||||
---|---|---|---|---|---|
FIELD 名称 类型 |
要从源数据文件导入的单个域,包括该域的名称和数据类型。如果要将某个域排除在导入范围之外,请不要指定它。 有关类型的信息,请参见域数据类型标识符。 |
||||
AT 起始行, 起始位置 |
|
||||
SIZE 长度, 域内行数 |
|
||||
DEC 值 |
数值域的小数位数。 |
||||
WID 字节数 |
该域的显示宽度(单位为字节)。 指定的值控制 Analytics 视图和报告中的域的显示宽度。显示宽度永远不会改变数据,但是,如果它比域长度短,则可能隐藏数据。 |
||||
PIC 格式 |
说明 仅适用于数值域或日期时间域。
必须将格式放在引号中。 |
||||
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 |
|
P |
PACKED |
Q |
BASIC |
R |
MICRO |
S |
CUSTOM |
T |
PCASCII |
U |
UNICODE |
V |
VAXFLOAT |
X |
NUMERIC |
Y |
UNISYS |
Z |
ZONED |