LinearizeFile

文档操作、杂项函数

描述

对指定 PDF 文件进行线性化,以便快速 Web 查看

语法

Delphi

Function TPDFlib.LinearizeFile(Const InputFileName, Password, OutputFileName: WideString; Options: Integer): Integer;

ActiveX

Function PDFlib::LinearizeFile(InputFileName As String, Password As String, OutputFileName As String, Options As Long) As Long

DLL

int DLLinearizeFile(int InstanceID, const wchar_t * InputFileName, const wchar_t * Password, const wchar_t * OutputFileName, int Options);

行为

首页部分包含注释字典及其可达的外观、动作和资源。对象排序使用稳定的 O(n log n) 工作量,深度连接的对象图不会为每个可达对象消耗一个调用栈帧

对于 PDF 1.5 或更高版本的输入,将 PDF_LINEARIZE_OBJECT_STREAMS 写入 Options,可将符合条件的第二段非流对象打包到受限对象流中,并在压缩的主 xref 流内编码其类型 2 条目。首页 xref 表仍可直接读取,因此初始显示不依赖对象流解码。加密输入会保持直接对象布局

InputFileName 和 OutputFileName 可以指向同一文件。替换目标文件前会保留源字节

参数

InputFileName要转换的输入 PDF 的路径和文件名
Password输入 PDF 已加密时用于打开它的可选密码
OutputFileName应创建的线性化 PDF 的路径和文件名
Options直接对象和传统 xref 表传入零,或传入 PDF_LINEARIZE_OBJECT_STREAMS 以请求对象流打包及压缩的主 xref 流

返回值

1Success
2 找不到输入 PDF 3 无法读取输入 PDF 输入 PDF 密码不正确 4 5 无法写入输出文件