AddAlternateImage

图像处理、可选内容

描述

按 ISO 32000-1 §8.9.5.4 的定义,为基础图像 XObject 添加或更新一种备用表示

替代图像可以提供高分辨率打印表示形式或由可选内容控制的显示表示形式,而无需复制页面内容

语法

Function TPDFlib.AddAlternateImage(BaseImageID, AlternateImageID: Integer; DefaultForPrinting: Boolean; OptionalContentID: Integer= 0): Integer;

参数

BaseImageID页面资源和内容流 Do 操作符使用的图像
AlternateImageID要作为变体附加的图像 XObject
DefaultForPrinting将此变体标记为首选打印图像,并清除同一基础图像其他变体的该标志
OptionalContentID控制此变体选择的可选 OCG 或 OCMD 句柄,无可选内容条件时为 0

返回值

返回从一开始的备用索引;更新相同图像时包括现有索引,验证失败时返回 0

备注

基础图像和备用图像必须是所选文档中不同的图像对象

已经作为替代项使用的图像不能拥有自己的 /Alternates 数组,而拥有替代项的图像不能附加为另一个替代项

传入 OCG 或 OCMD 会将最低 PDF 版本提升到 1.5;否则最低版本为 PDF 1.3

所有 PDF/A 模式都会拒绝该操作,因为 ISO 19005 禁止在图像字典中使用 /Alternates

当基本图像具有 /OC 条目时,内置渲染器会在其可见时显示基本图像,否则选择第一个可见替代图像,其条目包含 /OC

示例

BaseImageID := PDF.AddImageFromFile('preview.png', 0);
PrintImageID := PDF.AddImageFromFile('print-600dpi.tif', 0);
AlternateIndex := PDF.AddAlternateImage(BaseImageID, PrintImageID, True);

另请参阅

AlternateImageCount、GetAlternateImageInfo、RemoveAlternateImage、SetImageOptional、TPDFlibAlternateImageInfo