AddEmbeddedFile

Propiedades del documento

Descripción

Incrusta un archivo dentro del PDF como flujo de archivo incrustado, pero no lo registra por sí solo en ninguna lista del catálogo ni dibuja una anotación en la que se pueda hacer clic. La función devuelve un identificador EmbeddedFileID que puede pasarse a AddFileAttachment (para adjuntar un icono de clip en una página) o a AddLinkToEmbeddedFile (para crear una zona interactiva que abra el archivo). Para incrustar un archivo y mostrarlo como adjunto en el nivel del documento en una sola llamada, utilice en su lugar 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

FileNameRuta y nombre completos del archivo de origen en disco. Sus bytes se copian literalmente en un flujo de archivo incrustado de PDF
MIMETypeTipo MIME del archivo, por ejemplo image/jpeg o application/xml. Puede ser una cadena vacía si se desconoce

Valores devueltos

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

Observaciones

Flujos y FileSpec requieren PDF 1.3. AddEmbeddedFile eleva automáticamente. AddFileAttachment y EmbedFile usan árbol PDF 1.4 /Names /EmbeddedFiles; AddLinkToEmbeddedFile usa opacidad PDF 1.4

Un archivo incrustado solo mediante 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 una anotación de página hace referencia a él. Reutilizar el mismo EmbeddedFileID con AddFileAttachment y AddLinkToEmbeddedFile permite exponer un archivo incrustado tanto en la interfaz de documento como en la de página sin duplicar sus bytes

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