HPDFXFAWriteHeadlessPDF
單元:HPDFXFAHeadless
function HPDFXFAWriteHeadlessPDF(Destination: TStream;
const XDPBytes, TrueTypeFont: SysUtils.TBytes;
const Options: TXFAHeadlessPDFOptions;
Warnings: TStringList): TXFAHeadlessPDFResult;
Destination 由呼叫端持有且不得為 nil;完整準備好的文件寫在其目前位置,不截斷任何既有內容
XDPBytes 提供 template、datasets 與選填的持久化表單狀態;不需要準備好的輸入 PDF
選擇欄位保留 /Opt 匯出/顯示配對與實際的 /V 與 /I 選取;布林欄位有實際的 /AP 狀態,radio 成員在每個原生 template 與資料範圍內共用一個父項
rectangle、line 與橢圓弧 draw 產生真實的原生路徑;行內 PNG 與 JPEG 影像 draw 產生具實體比例與 alpha 遮罩的原生影像 XObject,說明見原生圖形與影像
TrueTypeFont 提供內嵌到 Unicode 外觀資源的實際字面;呼叫端持有陣列、stream、警告清單與 cancellation token
Options 設定實體頁面尺寸、編輯政策、script 執行與資源預算;Warnings 可以是 nil,此時警告會暫時收集,回傳的警告參照為 nil
物件圖準備、XML 解析、外觀建構、取消與候選序列化錯誤都不會更動 Destination;目的地的 WriteBuffer 錯誤可能造成部分寫入,任意 stream 不會為此 rollback
目前不支援的消費端種類會在準備期間丟出 EHPDFXFAHeadlessError;支援的種類與剩餘整合工作列於自動 XFA 建立
Options := TXFAHeadlessPDFOptions.Default;
Options.PageWidth := 300;
Options.PageHeight := 500;
Output := TMemoryStream.Create;
try
ResultInfo := HPDFXFAWriteHeadlessPDF(Output, SavedXDP, FontBytes,
Options, nil);
Output.SaveToFile('native-xfa.pdf');
finally
Output.Free;
end;
存到 stream 或檔案不會啟動外部閱讀器,也不需要桌面工作階段