EmbedFile

Propiedades del documento

Descripción

Incrusta un archivo como adjunto de documento visible en el panel. Equivale a AddEmbeddedFile seguido de AddToFileList, con referencia en el árbol /Names /EmbeddedFiles de Catalog

Los flujos y FileSpec requieren PDF 1.3 y el árbol /Names /EmbeddedFiles de esta llamada PDF 1.4. EmbedFile eleva automáticamente y registra /EmbeddedFiles name tree en AutoBumpedFeatures; una versión inferior bloqueada falla con LastErrorCode 602

Sintaxis

Delphi

Function TPDFlib.EmbedFile(Const Title, FileName, MIMEType: WideString): Integer;

ActiveX

Function PDFlib::EmbedFile(Title As String, FileName As String, MIMEType As String) As Long

DLL

int DLEmbedFile(int InstanceID, const wchar_t * Title, const wchar_t * FileName, const wchar_t * MIMEType);

Parámetros

TitleEl nombre para mostrar en el panel de adjuntos del lector y utilizado como clave en el árbol de nombres /EmbeddedFiles. Debe ser único en el documento; si ya existe un archivo con ese título, la llamada falla
FileNameLa ruta completa del archivo de origen en disco. Los bytes de este archivo se copian en el PDF
MIMETypeTipo MIME del contenido, por ejemplo image/jpeg, text/csv, application/xml. Pase una cadena vacía si se desconoce; los visores usarán la extensión

Valores devueltos

0No se ha podido incrustar 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 archivos adjuntos del documento

Observaciones

Esta llamada solo crea un archivo adjunto en el nivel del documento. Para dibujar en una página concreta una anotación de clip en la que se pueda hacer clic y que apunte al archivo incrustado, utilice AddEmbeddedFile seguido de AddFileAttachment (o AddLinkToEmbeddedFile)

Compatibilidad con PDF/A:

Cuando SetPDFUAMode está activo, la biblioteca escribe automáticamente AFRelationship=Unspecified para cualquier archivo incrustado que no tenga una relación explícita; sobrescríbalo con SetEmbeddedFileAFRelationship para satisfacer 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