文件基本信息与大纲 - HinTak/caj2pdf GitHub Wiki

页面数和大纲项目数

变量 类型 偏移地址(CAJ 格式) 偏移地址(HN 格式)
页面数 int 0x10 0x90
大纲项目数 int 0x110 0x158

注:本项目中数值类型均为小端序存储

大纲项目

在大纲项目数后紧接着是依次排列的大纲项目,数据结构如下(两种文件类型相同)。

struct outline_item {
    char title[256];    // 大纲项目标题(GBK 编码)
    char unknown1[24];
    char page[12];      // 大纲项目所指向的页码
    char unknown2[12];
    int level;          // 大纲项目层级
}

其中 level 的取值为从 1 开始的整数,分别代表一级标题、二级标题……