PDFium Delphi Component Docs

İşlemsel AcroForm birleştirme

MergePdfFilesWithForms veya TPdfFormMergeHelper.MergeFilesWithForms özelliğini etkinleştirmek için FPdfFormMerge ekleyin

Yardımcı, seçili sayfa içe aktarmalarını ve alan aşılamayı aşamalandırır, yetim kalmış içe aktarılan widget'ları kaldırır ve çağıranın belgesini değiştirmeden önce kaydedilen sonucu bağımsız olarak yeniden açar; hatalar ve iptal hedefi korur

pagcpReject, tam nitelikli yinelenen alan adını reddeder; pagcpRename belirleyici bir çakışmasız önek ve sonek ekler; pagcpNamespace her kaynağı izole etmek için gerçek bir üst alan ekler

pagcpMergeCompatible, uyumlu uç metin veya seçim alanlarını birleştirerek widget'larının tek bir değeri paylaşmasını sağlar; eşit bayraklar, değerler, varsayılanlar, seçenekler ve kendi kendine yeten yazı tipi semantiği gerektirir ve alan eylemlerini, zengin metni ve uyumsuz alan türlerini reddeder

Seçili sayfa filtrelemesi, kullanılmayan widget ve alanları budar ve filtrelenmiş, yinelenmesi giderilmiş hesaplama sırasını korur; varsayılan kaynaklar izole edilir ve varsayılan görünüm adları yeniden yazılırken klonlanan görünüm akışları kendi kaynaklarını korur

Birleştirilmiş alan/widget'lar, uyumlu alanlar katılmadan önce normalleştirilir; bağımsız adlar, kaydedip yeniden açtıktan sonra bağımsız olarak düzenlenebilir kalır

InsertAt sıfır tabanlı bir ekleme indeksidir; -1 sayfaları sona ekler; varsayılan sınırlar belge başına 10.000 toplam sayfa ve 256 MiB olup aşılama sınırları 100.000 nesne ve 128 derinliktir

Katı aşılama sınırları 1.000.000 nesne, 256 derinlik ve 4.096 kök alandır; tekrarlanan seçili sayfalar, XFA kaynak veya hedefleri, imzalı kaynak veya hedefler ve şifreli hedefler reddedilir

Kaynak parolaları, aşamalandırılmış birleştirme için bir kaynağın şifresini çözebilir; sonuç şifrelenmemiştir, bu yüzden gerektiğinde ardından açık bir şifreleme iş akışı uygulayın

Eski GraftPdfAcroForm overload'u reddet ilkesini korur; TPdfAcroFormGraftOptions kabul eden overload ise aynı çakışma ve kaynak ilkelerini akış düzeyinde sunar

Bu form yardımcısı kaynak outline'larını veya adlandırılmış hedefleri korumaz; bildirilen gezinme iş akışı için gezinme yardımcısını kullanın

Options := TPdfFormMergeOptions.Default;
Options.GraftOptions.CollisionPolicy := pagcpNamespace;
if not MergePdfFilesWithForms(Pdf, Sources, Options, Report) then
  raise EPdfError.Create(Report.ErrorMessage);

Public declarations

type
  TPdfFormMergeOptions= record
    GraftOptions: TPdfAcroFormGraftOptions;
    InsertAt: Integer;
    MaxPages: Integer;
    MaxDocumentBytes: Int64;
    CancellationToken: IPdfCancellationToken;
    class function Default: TPdfFormMergeOptions; static;
  end;
  TPdfFormMergeReport= record
    Succeeded, Cancelled: Boolean;
    ImportedSourceCount, ImportedPageCount: Integer;
    GraftedFieldCount, RenamedFieldCount, MergedFieldCount: Integer;
    FilteredFieldCount, FilteredWidgetCount, ResourceRenameCount: Integer;
    ErrorMessage: string;
  end;

function MergePdfFilesWithForms(Destination: TPdf;
  const Sources: TPdfBatchMergeSources; const Options: TPdfFormMergeOptions;
  out Report: TPdfFormMergeReport): Boolean;

type
  TPdfFormMergeHelper= class helper for TPdf
    function MergeFilesWithForms(const Sources: TPdfBatchMergeSources;
      const Options: TPdfFormMergeOptions;
      out Report: TPdfFormMergeReport): Boolean;
  end;