PDF 生成模板编辑器
开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。
使用 CPDFDocument.GetOptimizeOption() 方法获取文档的优化选项对象:
CPDFDocument document = CPDFDocument.InitWithFilePath("input.pdf");
CPDFOptimizeOption optimizeOption = document.GetOptimizeOption();
if (optimizeOption.IsValid())
{
Console.WriteLine("优化选项获取成功");
}使用 SetFlag() 方法设置优化标志,多个标志可通过按位或 (|) 组合:
// 设置单个标志
optimizeOption.SetFlag(CPDF_OPTIMIZE_FLAG.OPTIMIZE_FLAG_RMNOTUSE);
// 组合多个标志
CPDF_OPTIMIZE_FLAG combinedFlags =
CPDF_OPTIMIZE_FLAG.OPTIMIZE_FLAG_RMNOTUSE |
CPDF_OPTIMIZE_FLAG.OPTIMIZE_FLAG_BCOMPRESSIMAGE |
CPDF_OPTIMIZE_FLAG.OPTIMIZE_FLAG_RMDOCINFO |
CPDF_OPTIMIZE_FLAG.OPTIMIZE_FLAG_USEFLATE;
optimizeOption.SetFlag(combinedFlags);
// 获取当前标志
CPDF_OPTIMIZE_FLAG currentFlags = optimizeOption.GetFlag();| 标志 | 值 | 说明 |
|---|---|---|
OPTIMIZE_FLAG_RMNOTUSE | 1 | 移除未使用的资源和元素 |
OPTIMIZE_FLAG_RMEPTOBJ | 1<<1 | 移除空对象 |
OPTIMIZE_FLAG_RMSPEATTR | 1<<2 | 移除特殊属性 |
OPTIMIZE_FLAG_RMEMBFONT | 1<<3 | 优化嵌入字体的内存使用 |
OPTIMIZE_FLAG_RMINVALINK | 1<<4 | 移除无效链接 |
OPTIMIZE_FLAG_RMINVABK | 1<<5 | 移除无效书签 |
OPTIMIZE_FLAG_BCOMPRESSIMAGE | 1<<6 | 启用图像压缩 |
OPTIMIZE_FLAG_RMBK | 1<<7 | 移除书签 |
OPTIMIZE_FLAG_RMANNOT | 1<<8 | 移除注释 |
OPTIMIZE_FLAG_RMFORM | 1<<9 | 移除表单 |
OPTIMIZE_FLAG_RMMULMEDIA | 1<<10 | 移除多媒体内容 |
OPTIMIZE_FLAG_RMDOCINFO | 1<<11 | 移除文档信息(作者、标题等) |
OPTIMIZE_FLAG_RMMEDTADATA | 1<<12 | 移除元数据 |
OPTIMIZE_FLAG_RMOBJDATA | 1<<13 | 移除对象数据 |
OPTIMIZE_FLAG_RMFILEATTACHMENT | 1<<14 | 移除文件附件 |
OPTIMIZE_FLAG_RMEXTERNCROSSREF | 1<<15 | 移除外部交叉引用 |
OPTIMIZE_FLAG_RMOTHERAPPDATA | 1<<16 | 移除其他应用程序数据 |
OPTIMIZE_FLAG_RMHIDERLAYER | 1<<17 | 移除隐藏图层 |
OPTIMIZE_FLAG_MERGEVISIBLELAYER | 1<<18 | 合并可见图层 |
OPTIMIZE_FLAG_USEFLATE | 1<<19 | 使用 Flate (ZIP) 压缩 |
OPTIMIZE_FLAG_FLAT_REPLACELZW | 1<<20 | 将 LZW 压缩替换为 Flate |
OPTIMIZE_FLAG_RMUNUSEDTARGET | 1<<21 | 移除未使用的目标对象 |
OPTIMIZE_FLAG_OPTIMIZEPAGECONTENT | 1<<22 | 优化页面内容 |
OPTIMIZE_FLAG_OPTIMIZEPDFFASTWEBVIEW | 1<<23 | 启用快速 Web 浏览优化(线性化) |
OPTIMIZE_FLAG_RMFORMCOMMITIMPORTRESETACTION | 1<<24 | 移除表单提交/导入/重置动作 |
OPTIMIZE_FLAG_RMJSACTION | 1<<25 | 移除 JavaScript 动作 |
OPTIMIZE_FLAG_RMPAGETHUMBNAIL | 1<<26 | 移除页面缩略图 |
OPTIMIZE_FLAG_RMREPLACEIMAGE | 1<<27 | 移除并替换图像 |
OPTIMIZE_FLAG_RMLABEL | 1<<28 | 移除标签 |
OPTIMIZE_FLAG_RMPRINTSETTINGS | 1<<29 | 移除打印设置 |
OPTIMIZE_FLAG_RMSEARCHINDEX | 1<<30 | 移除搜索索引 |