PDFium Component Docs

AttachmentCount eigenschap

Component: TPdf  ·  Unit: PDFium
Aantal ingesloten bestandsbijlagen dat in het document is gedeclareerd

Syntax

property AttachmentCount: Integer; // read only

Description

AttachmentCount somt ingesloten bestandsstreams op die bereikbaar zijn via de catalogus-naamboom /Names /EmbeddedFiles (PDF 1.7-specificatie sectie 7.11). Dit zijn willekeurige bestanden (XML, werkbladen, bron-CAD, ondertekende XML, ZIP-archieven,…) die in de PDF zijn verpakt en door viewers worden getoond in de zijbalk “Bijlagen”. PDF/A-3 vereist specifiek dat elk relevant bronartefact op deze manier wordt ingesloten voor reproduceerbaarheid op de lange termijn

De waarde is 0 wanneer Active False is en wanneer het document geen ingesloten bestanden bevat. Bestandsbijlage-annotaties (subtype /FileAttachment) worden hier niet geteld — dit zijn annotaties op paginaniveau en verschijnen in plaats daarvan via AnnotationCount. PDFium Delphi Component stelt ingesloten streams beschikbaar als TBytes via Attachment[Index]; de voor mensen leesbare bestandsnaam en het MIME-stijl type zijn beschikbaar via AttachmentName[Index] en AttachmentType[Index]

De typische loop is for I := 0 to Pdf.AttachmentCount - 1 do. Elke toegang tot Attachment[I] decomprimeert de ingesloten bestandsstream naar het geheugen, dus cach de TBytes wanneer u deze naar schijf wilt schrijven en aan een parser wilt doorgeven. Het toevoegen of verwijderen van een bijlage maakt indexen ongeldig — herlees AttachmentCount na een mutatie

Alleen de naamboom /EmbeddedFiles wordt geënumenteerd. Een PDF 2.0 associated file (ISO 32000-2 §7.11.4) die uitsluitend vanuit een /AF-array wordt gereferreerd — op de catalogus, een pagina, een annotatie of elk ander object — en niet ook in de naamboom is geregistreerd, wordt niet geteld en heeft geen index voor Attachment, AttachmentName of AttachmentRelationship. Dit geldt ook voor bestanden die met SaveAsWithAssociateFiles zijn geschreven, dat alleen /AF-entries toevoegt. De meeste PDF/A-3-producers, waaronder Factur-X- en ZUGFeRD-tools, registreren elke associated file op beide plekken, dus die bestanden verschijnen gewoon in de lijst

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