PDFium Delphi Component Docs

AttachmentCount Özellik

Component: TPdf  ·  Unit: PDFium
Belgede bildirilen gömülü dosya eklerinin sayısı

Syntax

property AttachmentCount: Integer; // read only

Description

AttachmentCount, catalog /Names /EmbeddedFiles ad ağacı üzerinden erişilebilen gömülü dosya stream'lerini sayar (PDF 1.7 spec section 7.11). Bunlar PDF'in içine paketlenmiş ve görüntüleyiciler tarafından “Attachments” kenar çubuğunda sunulan rastgele dosyalardır (XML, hesap tabloları, kaynak CAD, imzalı XML, ZIP arşivleri…). PDF/A-3, uzun vadeli yeniden üretilebilirlik için özellikle her ilgili kaynak artefaktın bu şekilde gömülmesini zorunlu kılar

Active False olduğunda ve doküman gömülü dosya taşımıyorsa değer 0'dır. Dosya eki annotationları (/FileAttachment alt türü) burada sayılmaz — onlar sayfa düzeyi annotation'lardır ve AnnotationCount üzerinden görünür. PDFium Delphi Component, gömülü stream'leri Attachment[Index] ile TBytes olarak sunar; okunabilir dosya adı ve MIME tarzı tür AttachmentName[Index] ve AttachmentType[Index] üzerinden alınır

Tipik döngü for I := 0 to Pdf.AttachmentCount - 1 do biçimindedir. Her Attachment[I] erişimi gömülü dosya stream'ini belleğe açar; dolayısıyla diske yazacak veya bir parser'a verecekseniz TBytes'ı önbelleğe alın. Ek ekleme veya çıkarma indeksleri geçersizleştirir — mutasyondan sonra AttachmentCount'u yeniden okuyun

Yalnızca /EmbeddedFiles ad ağacı numaralandırılır. Yalnızca bir /AF dizisinden başvurulan (katalogda, bir sayfada, bir açıklamada ya da başka herhangi bir nesnede) ve ad ağacına da kaydedilmemiş bir PDF 2.0 ilişkili dosyası (ISO 32000-2 §7.11.4) sayılmaz ve Attachment, AttachmentName ya da AttachmentRelationship için indeksi olmaz. Buna, yalnızca /AF girdileri ekleyen SaveAsWithAssociateFiles ile yazılan dosyalar dahildir. Factur-X ve ZUGFeRD araçları dahil çoğu PDF/A-3 üreticisi her ilişkili dosyayı her iki yere de kaydeder; bu yüzden o dosyalar normal şekilde listelenir

Remarks

Example

var I: Integer;
var Data: TBytes;
for I := 0 to Pdf1.AttachmentCount - 1 do
begin
  Data := Pdf1.Attachment[I];
  TFile.WriteAllBytes(Pdf1.AttachmentName[I], Data);
end;

See Also

Attachment, AttachmentName, AttachmentType, AnnotationCount