EmbedFileA

Propriétés du document

Description

Le A final indique le point d’entrée ANSI (char) de la DLL ; la surface ActiveX/COM n’expose que la forme Unicode. Le comportement est identique à celui de EmbedFile et les arguments de chaîne sont interprétés selon la page de codes SetAnsiMode actuelle

Incorpore un fichier externe dans le PDF et l’enregistre comme pièce jointe de document, affichée dans le panneau Attachments. L’appel abrège AddEmbeddedFile suivi de AddToFileList : un flux incorporé est stocké et une entrée de référence ajoutée à l’arbre /Names /EmbeddedFiles du catalogue sous le titre fourni

Comportement selon la version PDF : les flux de fichiers incorporés et les dictionnaires de spécification de fichier exigent PDF 1.3, tandis que l’arbre de noms /Names /EmbeddedFiles au niveau du document utilisé par cet appel pratique exige PDF 1.4. Si la version courante est inférieure et que la version d’enregistrement n’est pas verrouillée, EmbedFile élève automatiquement le document à PDF 1.4 et consigne /EmbeddedFiles name tree dans AutoBumpedFeatures. Si l’appelant verrouille une version inférieure, le contrôle de compatibilité refuse l’enregistrement avec LastErrorCode 602

Syntaxe

Delphi

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

DLL

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

Paramètres

TitleNom d’affichage présenté dans le panneau des pièces jointes du lecteur et utilisé comme clé dans l’arbre de noms /EmbeddedFiles. Il doit être unique dans le document ; si un fichier portant déjà ce titre existe, l’appel échoue
FileNameLe chemin complet du fichier source sur le disque Les octets de ce fichier sont copiés dans le PDF
MIMETypeType MIME identifiant le contenu du fichier (par exemple image/jpeg, text/csv, application/xml). Transmettez une chaîne vide lorsque le type MIME est inconnu ; les visionneuses se rabattront sur l’extension du fichier

Valeurs de retour

0Le fichier n'a pas pu être incorporé — le fichier source est absent, le titre est déjà utilisé ou aucun document n'est ouvert
1Le fichier a été incorporé et répertorié dans l’arbre de noms des pièces jointes du document

Remarques

Cet appel crée seulement une pièce jointe au niveau du document. Pour tracer sur une page une annotation trombone cliquable pointant vers le fichier incorporé, utilisez plutôt AddEmbeddedFile suivi de AddFileAttachment, ou AddLinkToEmbeddedFile

Compatibilité PDF/A :

Lorsque SetPDFUAMode est actif, la bibliothèque écrit automatiquement AFRelationship=Unspecified pour tout fichier incorporé sans relation explicite ; remplacez-la avec SetEmbeddedFileAFRelationship afin de satisfaire ISO 14289-1 §7.11

Exemple

// 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');

Voir aussi

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode