AddEmbeddedFile

Propiedades del documento

Descripción

Incorpora un archivo dentro del PDF como un flujo de archivo incrustado, pero por sí solo no registra el archivo en ninguna lista del catálogo ni dibuja una anotación seleccionable La función devuelve un identificador EmbeddedFileID que se puede pasar a AddFileAttachment (para adjuntar un icono de clip en una página) o AddLinkToEmbeddedFile (para crear una zona activa seleccionable que abre el archivo) Para incorporar un archivo y enumerarlo como adjunto de nivel de documento en una sola llamada, use EmbedFile

Sintaxis

Delphi

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

ActiveX

Function PDFlib::AddEmbeddedFile(FileName As String, MIMEType As String) As Long

DLL

int DLAddEmbeddedFile(int InstanceID, const wchar_t * FileName, const wchar_t * MIMEType);

Parámetros

FileNameLa ruta completa y el nombre del archivo fuente en disco Sus bytes se copian literalmente en un flujo de archivo PDF incrustado
MIMETypeEl tipo MIME del archivo, por ejemplo image/jpeg o application/xml. Puede ser una cadena vacía cuando se desconoce el tipo MIME

Valores devueltos

0No se pudo abrir el archivo o no hay ningún documento activo
Non-zeroUn handle EmbeddedFileID para usar con AddFileAttachment, AddLinkToEmbeddedFile o SetEmbeddedFileStrProperty

Observaciones

Comportamiento de versión de PDF: los flujos de archivos incrustados y los diccionarios de especificación de archivos requieren PDF 1.3. Si la versión actual del documento es inferior y la versión de guardado no está bloqueada, AddEmbeddedFile eleva automáticamente el documento a PDF 1.3. Las llamadas que registran el archivo como adjunto de nivel de documento pueden requerir una versión superior: AddFileAttachment y EmbedFile usan el árbol de nombres /Names /EmbeddedFiles de PDF 1.4, y AddLinkToEmbeddedFile usa la transparencia de opacidad/apariencia de anotaciones de PDF 1.4

Un archivo incrustado solo con AddEmbeddedFile forma parte del PDF, pero no es visible en la interfaz del lector hasta que se registra en la lista de adjuntos del documento o se referencia mediante una anotación de página. Reutilizar el mismo EmbeddedFileID con AddFileAttachment y AddLinkToEmbeddedFile permite exponer un archivo incrustado a través de la interfaz tanto del documento como de la página sin duplicar los bytes incrustados

Compatibilidad con PDF/A:

Ejemplo

// Expose the same embedded file through the document attachment list and a page annotation
var
  FileID: Integer;
begin
  PDF.NewDocument;
  PDF.AddStandardFont('Helvetica');

  FileID := PDF.AddEmbeddedFile('C:\reports\sales.csv', 'text/csv');
  if FileID = 0 then Exit;

  PDF.AddFileAttachment('Source data', FileID);

  PDF.AddPage;
  PDF.PrintText(50, 750, 'See attached source data');
  PDF.AddLinkToEmbeddedFile(50, 720, 16, 16, FileID, 'Source data', 'Open source CSV', 4, 0);

  PDF.SaveToFile('with-attachment.pdf');
end;

Véase también

AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount