EmbedFileA

Propiedades del documento

Descripción

La A final indica el punto de entrada ANSI (char) de la DLL; la interfaz ActiveX/COM expone únicamente la forma Unicode. El comportamiento es idéntico a EmbedFile y los argumentos de cadena se interpretan utilizando la página de códigos actual de SetAnsiMode

Incrusta un archivo externo dentro del PDF y lo registra como adjunto a nivel de documento Acrobat y otros lectores muestran los adjuntos a nivel de documento en su panel lateral Adjuntos La llamada es una abreviatura de AddEmbeddedFile seguida de AddToFileList: el archivo se almacena como flujo de archivo incrustado y se agrega una entrada que hace referencia a él al árbol de nombres /Names /EmbeddedFiles del Catalog bajo el título proporcionado

Comportamiento de versión PDF: los flujos de archivos incrustados y los diccionarios de especificación de archivo requieren PDF 1.3, mientras que el árbol de nombres /Names /EmbeddedFiles de nivel de documento que utiliza esta llamada de conveniencia requiere PDF 1.4. Si la versión actual del documento es inferior y la versión de guardado no está bloqueada, EmbedFile eleva automáticamente el documento a PDF 1.4 y registra /EmbeddedFiles name tree en AutoBumpedFeatures. Si el llamador bloquea una versión de guardado inferior, la puerta de compatibilidad rechaza el guardado con LastErrorCode 602

Sintaxis

Delphi

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

DLL

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

Parámetros

TitleEl nombre mostrado en el panel de archivos adjuntos del lector y usado como clave en el árbol de nombres /EmbeddedFiles. Debe ser único dentro del documento; si ya existe un archivo con este título, la llamada falla
FileNameLa ruta completa del archivo de origen en el disco. Los bytes de este archivo se copian en el PDF
MIMETypeTipo MIME que identifica el contenido del archivo (por ejemplo image/jpeg, text/csv, application/xml). Pase una cadena vacía cuando se desconozca el tipo MIME; los visores recurrirán a la extensión de archivo

Valores devueltos

0No se pudo incorporar el archivo — falta el archivo de origen, el título ya está en uso o no hay ningún documento abierto
1El archivo se incrustó y se incluyó en el árbol de nombres de adjuntos del documento

Observaciones

Esta llamada solo crea un archivo adjunto a nivel de documento. Para dibujar en una página específica una anotación de clip de papel seleccionable que apunte al archivo incrustado, use AddEmbeddedFile seguido de AddFileAttachment (o AddLinkToEmbeddedFile)

Compatibilidad con PDF/A:

Cuando SetPDFUAMode está activo, la biblioteca escribe AFRelationship=Unspecified automáticamente para todo archivo incrustado que no tenga una relación explícita; reemplácelo con SetEmbeddedFileAFRelationship para cumplir ISO 14289-1 §7.11

Ejemplo

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

Véase también

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode