Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::fdf::FDFDoc类 参考
类 foxit::fdf::FDFDoc 继承关系图:

## Public 类型
enum | Type { e_FDF = 0, e_XFDF = 1 }
| FDF文档类型的枚举。 更多...

## Public 成员函数
| FDFDoc (common::file::ReaderCallback *file_read)
| 构造函数，使用文件读取回调对象。 更多...
| FDFDoc (const char *path)
| 构造函数，从现有的FDF或XFDF文件路径。 更多...
| FDFDoc (const FDFDoc &other)
| 构造函数，使用另一个FDF文档对象。 更多...
| FDFDoc (const void *buffer, size_t length)
| 构造函数，从内存缓冲区。 更多...
| FDFDoc (const wchar_t *path)
| 构造函数，从现有的FDF或XFDF文件路径。 更多...
| FDFDoc (Type type)
| 构造函数。 更多...
| ~FDFDoc ()
| 析构函数。
pdf::objects::PDFDictionary * | GetCatalog () const
| 获取目录字典。 更多...
pdf::objects::PDFDictionary * | GetFDFDict () const
| 从目录字典获取"FDF"条目的字典。 更多...
WString | GetPDFPath ()
| 获取相关PDF文档的路径。 更多...
Type | GetType () const
| 获取当前文档对象的类型。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const FDFDoc &other) const
| 不等操作符。 更多...
FDFDoc & | operator= (const FDFDoc &other)
| 赋值操作符。 更多...
bool | operator== (const FDFDoc &other) const
| 相等操作符。 更多...
bool | SaveAs (const char *file_path)
| 将当前文档另存为另一个FDF或XFDF文件。 更多...
bool | SaveAs (const wchar_t *file_path)
| 将当前文档另存为另一个FDF或XFDF文件。 更多...
bool | SaveAs (foxit::common::file::WriterCallback *file)
| 将当前文档另存为另一个FDF或XFDF文件。 更多...
bool | SetPDFPath (const wchar_t *pdf_path)
| 设置相关PDF文档的路径。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

FDF（表单数据格式）是一种文件格式，用于交互式表单数据。FDF可用于 向服务器提交表单数据、接收响应并将其合并到交互式表单中。 它还可用于将表单数据导出到独立文件中，这些文件可以存储、电子传输， 并导入回相应的PDF交互式表单。除此之外，FDF还可用于 定义一个容器，用于存放与其应用的PDF文档分离的注释。
XFDF（XML表单数据格式）是基于XML的FDF版本。它具有与FDF相似的功能。
总之，FDF和XFDF包含PDF文档的子集，用于描述交互式表单和注释。
类 FDFDoc 可用于表示FDF或XFDF。FDF文档对象可以通过 文件路径、内存缓冲区、用户自定义实现的 common::file::ReaderCallback 对象和 输入文件流从现有文件构造。FDF文档对象也可以构造为新的FDF或XFDF文档。 此类还提供从FDF或XFDF文件获取或设置某些信息的函数， 并将当前FDF/XFDF保存为另一个文件。
要导入或导出表单字段或注释，请参考函数 pdf::PDFDoc::ImportFromFDF、 pdf::PDFDoc::ExportToFDF 和 pdf::PDFDoc::ExportAnnotToFDF。

参见
  pdf::PDFDoc

## 成员枚举类型说明

## ◆ Type

enum foxit::fdf::FDFDoc::Type

FDF文档类型的枚举。

此枚举的值应单独使用。

枚举值
e_FDF | FDF文档类型：FDF。
e_XFDF | FDF文档类型：XFDF。

## 构造及析构函数说明

## ◆ FDFDoc() [1/6]

foxit::fdf::FDFDoc::FDFDoc | ( | common::file::ReaderCallback * | file_read | ) |
| explicit

构造函数，使用文件读取回调对象。

参数

  [in] | file_read | 指向用户实现的common::file::ReaderCallback对象的指针， 用于加载FDF或XFDF文档。不应为NULL。

## ◆ FDFDoc() [2/6]

foxit::fdf::FDFDoc::FDFDoc | ( | Type | type | ) |
| explicit

构造函数。

此构造函数用于构造一个新的FDF文档对象（不包含任何数据）。

参数

  [in] | type | FDF文档类型。应为以下值之一： fdf::FDFDoc::e_FDF, FDFDoc::e_XFDF

## ◆ FDFDoc() [3/6]

foxit::fdf::FDFDoc::FDFDoc | ( | const char * | path | ) |
| explicit

构造函数，从现有的FDF或XFDF文件路径。

参数

  [in] | path | 现有FDF/XFDF文件的完整路径。不应为空字符串。

## ◆ FDFDoc() [4/6]

foxit::fdf::FDFDoc::FDFDoc | ( | const wchar_t * | path | ) |
| explicit

构造函数，从现有的FDF或XFDF文件路径。

参数

  [in] | path | 现有FDF/XFDF文件的完整路径。不应为空字符串。

## ◆ FDFDoc() [5/6]

foxit::fdf::FDFDoc::FDFDoc | ( | const void * | buffer,
|  | size_t | length
| ) |  |

构造函数，从内存缓冲区。

参数

  [in] | buffer | 内存缓冲区。FDF或XFDF文件数据应完全加载到此内存缓冲区中。 不应为NULL。
  [in] | length | 内存缓冲区的大小。应大于0。

## ◆ FDFDoc() [6/6]

foxit::fdf::FDFDoc::FDFDoc | ( | const FDFDoc & | other | ) |

构造函数，使用另一个FDF文档对象。

参数

  [in] | other | 另一个FDF文档对象。

## 成员函数说明

## ◆ GetCatalog()

pdf::objects::PDFDictionary* foxit::fdf::FDFDoc::GetCatalog | ( |  | ) | const

获取目录字典。

返回
  目录字典。如果当前对象表示XFDF文档， 此函数将返回NULL。

## ◆ GetFDFDict()

pdf::objects::PDFDictionary* foxit::fdf::FDFDoc::GetFDFDict | ( |  | ) | const

从目录字典获取"FDF"条目的字典。

返回
  目录字典中"FDF"条目的字典。 如果当前对象表示XFDF文档，此函数将返回NULL。

## ◆ GetPDFPath()

WString foxit::fdf::FDFDoc::GetPDFPath | ( |  | ) |

获取相关PDF文档的路径。

路径可以是绝对路径或相对路径。

返回
  相关PDF文档的文件路径。空字符串表示未找到此类信息。

## ◆ GetType()

Type foxit::fdf::FDFDoc::GetType | ( |  | ) | const

获取当前文档对象的类型。

返回
  FDF文档类型。将是以下值之一：
  fdf::FDFDoc::e_FDF, FDFDoc::e_XFDF。

## ◆ IsEmpty()

bool foxit::fdf::FDFDoc::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

当前对象为空时，意味着当前对象无用。

返回
  true表示当前对象为空，false表示不为空。

## ◆ operator!=()

bool foxit::fdf::FDFDoc::operator!= | ( | const FDFDoc & | other | ) | const

不等操作符。

参数

  [in] | other | 另一个FDF文档对象。此函数将检查当前对象是否与此对象不相等。

返回
  true表示不相等，false表示相等。

## ◆ operator=()

FDFDoc& foxit::fdf::FDFDoc::operator= | ( | const FDFDoc & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个FDF文档对象，其值将被赋给当前对象。

返回
  当前对象自身的引用。

## ◆ operator==()

bool foxit::fdf::FDFDoc::operator== | ( | const FDFDoc & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个FDF文档对象。此函数将检查当前对象是否与此对象相等。

返回
  true表示相等，false表示不相等。

## ◆ SaveAs() [1/3]

bool foxit::fdf::FDFDoc::SaveAs | ( | const char * | file_path | ) |

将当前文档另存为另一个FDF或XFDF文件。

参数

  [in] | file_path | 新保存的FDF或XFDF文件的完整路径。不应为空字符串。

返回
  true表示成功，false表示失败。

注解
  此函数不支持将当前FDF对象直接保存回用于构造当前FDF对象的FDF或XFDF文件。 为此，建议用户按照以下步骤操作：
  假设当前FDF对象是从名为"org.fdf"的FDF文件构造的。
  1. 使用当前函数将当前FDF对象保存到临时文件。此处，此临时文件命名为"temp.tmp"。
  2. 确保当前FDF对象已析构。
  3. 删除"org.fdf"并将"temp.tmp"重命名为"org.fdf"。

## ◆ SaveAs() [2/3]

bool foxit::fdf::FDFDoc::SaveAs | ( | const wchar_t * | file_path | ) |

将当前文档另存为另一个FDF或XFDF文件。

参数

  [in] | file_path | 新保存的FDF或XFDF文件的完整路径。不应为空字符串。

返回
  true表示成功，false表示失败。

注解
  此函数不支持将当前FDF对象直接保存回用于构造当前FDF对象的FDF或XFDF文件。 为此，建议用户按照以下步骤操作：
  假设当前FDF对象是从名为"org.fdf"的FDF文件构造的。
  1. 使用当前函数将当前FDF对象保存到临时文件。此处，此临时文件命名为"temp.tmp"。
  2. 确保当前FDF对象已析构。
  3. 删除"org.fdf"并将"temp.tmp"重命名为"org.fdf"。

## ◆ SaveAs() [3/3]

bool foxit::fdf::FDFDoc::SaveAs | ( | foxit::common::file::WriterCallback * | file | ) |

将当前文档另存为另一个FDF或XFDF文件。

参数

  [in] | file | 用户实现的 common::file::WriterCallback 对象，用于保存FDF或XFDF文件。

返回
  true表示成功，false表示失败。

注解
  此函数不支持将当前FDF对象直接保存回用于构造当前FDF对象的FDF或XFDF文件。 为此，建议用户按照以下步骤操作：
  假设当前FDF对象是从名为"org.fdf"的FDF文件构造的。
  1. 使用当前函数将当前FDF对象保存到临时文件。此处，此临时文件命名为"temp.tmp"。
  2. 确保当前FDF对象已析构。
  3. 删除"org.fdf"并将"temp.tmp"重命名为"org.fdf"。

## ◆ SetPDFPath()

bool foxit::fdf::FDFDoc::SetPDFPath | ( | const wchar_t * | pdf_path | ) |

设置相关PDF文档的路径。

参数

  [in] | pdf_path | 相关PDF文档的路径。可以是绝对路径或相对路径。 不应为空字符串。

返回
  true表示成功，false表示失败。