THotPDF.LoadFromStream

THotPDF

 

顶部  上一页  下一页

从流中加载现有的 PDF 文件。

 

Delphi 语法:

function LoadFromStream ( DocStream: TStream ): Integer;

function LoadFromStream ( DocStream: TStream; const Password: AnsiString ): Integer;

function LoadFromStream ( DocStream: TStream; AutoDecrypt: Boolean ): Integer;

 

C++ 语法:

int __fastcall LoadFromStream ( Classes::TStream* DocStream );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, System::AnsiString Password );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, bool AutoDecrypt );

 

说明

调用  LoadFromStream 从流中加载现有的 PDF 文档。函数 LoadFromStream 返回已加载文档的页数。

受支持的 RC4 和 AES Standard 加密 PDF 请使用口令重载。HotPDF 校验 user 或 owner 口令,在可 seek 的流上从有界的 trailer、xref、文档 ID 和加密字典区间恢复文件密钥,在内存中解密已加载的字符串和流,清除已加载加密状态,并让 SaveLoadedDocument 写出未加密副本。不带口令加载时,会按权威 xref 偏移捕获原始加密对象,输入流释放后仍可由后续的 DecryptLoadedDocument 使用精确的二进制安全处理器值。不受支持的加密版本会抛出异常。有界密钥恢复自 HotPDF v2.489.0 起可用,零重读延迟解密自 HotPDF v2.490.0 起可用。

AutoDecrypt 重载以查看器的方式打开文档。当 AutoDecrypt 为 True 且文档以空 user 口令加密——只限制权限的文档就是这样写出的——时,它会像口令重载收到空口令那样在内存中解密,因此其文本可以提取、渲染和导出;此时 IsEncrypted 为 False,后续 SaveLoadedDocument 会写出未加密副本。需要口令的文档和未加密的文档都按普通重载的方式加载。空口令能否打开文档会先从相同的有界区间检查,不会把文档加载两次。AutoDecrypt 为 False 时,该重载就是普通重载

导入既有 PDF 对象时,HotPDF 在内部存储名称值之前先解码 ISO 32000-1 的 PDF 名称 #XX 转义序列。/PANTONE#20216#20CVC、/lime#20Green、/The_Key_of_F#23_Minor 这类名称在文档后续复制或保存时按预期字节值保留。

 

 

 

See also: LoadFromFile, LoadFromRandomAccessSource、DecryptLoadedDocument