EmbedFileA

Documenteigenschappen

Beschrijving

Het achtervoegsel A duidt het ANSI-toegangspunt (char) van de DLL aan; het ActiveX/COM-oppervlak stelt alleen de Unicode-vorm beschikbaar. Het gedrag is identiek aan EmbedFile en tekenreeksargumenten worden geïnterpreteerd met behulp van de huidige SetAnsiMode-codetabel

Embedt een extern bestand in de PDF en registreert het als documentniveau-bijlage. Acrobat en andere readers tonen documentniveau-bijlagen in hun Attachments-zijpaneel. De aanroep is de kortere schrijfwijze voor AddEmbeddedFile gevolgd door AddToFileList: het bestand wordt opgeslagen als ingesloten-bestandsstream en een entry die ernaar verwijst wordt onder de opgegeven titel toegevoegd aan de /Names /EmbeddedFiles-naamboom van de Catalog

PDF-versiegedrag: ingesloten-bestandsstreams en filespecificatie-woordenboeken vereisen PDF 1.3, terwijl de documentniveau /Names /EmbeddedFiles-naamboom die deze handige aanroep gebruikt PDF 1.4 vereist. Is de huidige documentversie lager en is de opslagversie niet vergrendeld, dan verhoogt EmbedFile het document automatisch naar PDF 1.4 en registreert /EmbeddedFiles name tree in AutoBumpedFeatures. Vergrendelt de aanroeper een lagere opslagversie, dan weigert de compatibiliteitspoort het opslaan met LastErrorCode 602

Syntaxis

Delphi

Function DLEmbedFileA(InstanceID: Integer; Title, FileName, MIMEType: PAnsiChar): Integer;

DLL

int DLEmbedFileA(int InstanceID, const char * Title, const char * FileName, const char * MIMEType);

Parameters

TitleDe weergavenaam die in het attachments-paneel van de reader wordt getoond en als sleutel in de /EmbeddedFiles-naamboom dient. Moet uniek zijn binnen het document; bestaat er al een bestand met deze titel, dan mislukt de aanroep
FileNameHet volledige pad van het bronbestand op schijf. De bytes van dit bestand worden in de PDF gekopieerd
MIMETypeMIME-type dat de inhoud van het bestand identificeert (bijvoorbeeld image/jpeg, text/csv, application/xml). Geef een lege tekenreeks op wanneer het MIME-type onbekend is; viewers vallen dan terug op de bestandsextensie

Retourwaarden

0Het bestand kon niet worden ingebed — het bronbestand ontbreekt, de titel is al in gebruik, of er is geen document open
1Het bestand is ingesloten en staat in de attachments-naamboom van het document

Opmerkingen

Deze aanroep maakt alleen een documentniveau-bijlage aan. Om een klikbare paperclip-annotatie op een specifieke pagina te tekenen die naar het ingesloten bestand wijst, gebruik dan AddEmbeddedFile gevolgd door AddFileAttachment (of AddLinkToEmbeddedFile)

PDF/A compatibility:

Wanneer SetPDFUAMode actief is, schrijft de library automatisch AFRelationship=Unspecified voor elk ingesloten bestand zonder expliciete relatie; overstijg dat met SetEmbeddedFileAFRelationship om aan ISO 14289-1 §7.11 te voldoen

Voorbeeld

// Embed a CSV of the source data as a document attachment
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Sales summary, Q1 2026');

if PDF.EmbedFile('Source data — sales-Q1.csv', 'C:\reports\sales-Q1.csv', 'text/csv') = 1 then
  WriteLn('Attachment added')
else
  WriteLn('Failed to embed file');

PDF.SaveToFile('Q1-Summary.pdf');

Zie ook

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode