AddAlternateImage

画像処理、オプショナルコンテンツ

説明

ISO 32000-1 §8.9.5.4 で定義される、基本画像 XObject の代替表現を 1 つ追加または更新します

代替画像を使用すると、ページコンテンツを複製せずに、高解像度の印刷表現またはオプションコンテンツで制御される表示表現を提供できる

構文

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

パラメータ

BaseImageIDページリソースおよびコンテンツストリームの Do 演算子で使用される画像
AlternateImageIDバリアントとして添付する画像 XObject
DefaultForPrintingこのバリアントを優先印刷画像としてマークし、同じベース画像の他のバリアントからそのフラグを消去します
OptionalContentIDこのバリアントの選択を制御する省略可能な OCG または OCMD ハンドル。オプショナルコンテンツ条件なしの場合は 0

戻り値

同じ画像が更新された場合の既存インデックスを含む 1 基準の代替インデックスを返し、検証に失敗した場合は 0 を返します

備考

ベースと代替は、選択した文書内の異なる画像オブジェクトでなければなりません

すでに代替として使用されている画像は自身の /Alternates 配列を所有できず、代替を所有する画像を別の代替として関連付けることもできません

OCG または OCMD を渡すと最小 PDF バージョンが 1.5 に引き上げられ、それ以外の場合の最小バージョンは PDF 1.3 です

ISO 19005 では画像辞書内の /Alternates を禁じているため、すべての PDF/A モードでこの操作は拒否される

ベース画像に /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