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
| Title | De 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 |
|---|---|
| FileName | Het volledige pad van het bronbestand op schijf. De bytes van dit bestand worden in de PDF gekopieerd |
| MIMEType | MIME-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
| 0 | Het bestand kon niet worden ingebed — het bronbestand ontbreekt, de titel is al in gebruik, of er is geen document open |
|---|---|
| 1 | Het 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:
- PDF/A-1, PDF/A-2 (modi 1–4 van SetPDFAMode) verbieden willekeurige ingesloten bestanden. De PDF/A-bewaking blokkeert
EmbedFilein die modi. - PDF/A-3 (modi 5, 6 en 7) staat ingesloten bestanden van elk MIME-type toe. ISO 19005-3 verplicht bovendien dat elk ingesloten bestand zijn relatie tot het document aangeeft via de sleutel
AFRelationship— zet die expliciet met SetEmbeddedFileAFRelationship.
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