ComposeDeferredPageLayers

頁面版面、向量圖形、內容串流

描述

以穩定的 z-index 升序,把每個排隊中的延遲圖層放到其目標頁面上

語法

Delphi

Function TPDFlib.ComposeDeferredPageLayers: Integer;

ActiveX

Function PDFlib::ComposeDeferredPageLayers() As Long

DLL

int DLComposeDeferredPageLayers(int InstanceID);

傳回值

傳回已合成的圖層數量;沒有圖層排隊、仍在錄製、所選頁面不是目標頁面、其尺寸已變更,或擷取的 form 無法取得時傳回 0

備註

此方法依 z-index 與記錄順序排序排入佇列的圖層

負值圖層按升序插入頁面原始內容串流之前,零與正值圖層按升序附加在原始內容串流之後

每個合成圖層加入一條內容串流,其中包含一次 Form XObject 放置,使合成成本與圖層內繪圖運算的數量無關

合成完成後會還原所選字型、作用中內容圖層、繪圖器狀態與 kerning 設定

前置條件失敗時保留佇列,讓呼叫者可以重新選擇目標頁面;頁面已被修改後的失敗則清空佇列,避免重複放置

範例

PDF.BeginDeferredPageLayer(-10);
DrawBackground(PDF);
PDF.EndDeferredPageLayer;

PDF.BeginDeferredPageLayer(10);
DrawForeground(PDF);
PDF.EndDeferredPageLayer;

if PDF.ComposeDeferredPageLayers<> 2 then
  HandleCompositionError;