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
| FileName | Ruta y nombre completos del archivo de origen en disco. Sus bytes se copian literalmente en un flujo de archivo incrustado de PDF |
|---|---|
| MIMEType | Tipo MIME del archivo, por ejemplo image/jpeg o application/xml. Puede ser una cadena vacía si se desconoce |
Valores devueltos
| 0 | No se ha podido abrir el archivo o no hay ningún documento activo |
|---|---|
| Non-zero | Un 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:
- PDF/A-1, PDF/A-2 (SetPDFAMode modos 1–4) — los archivos incrustados están prohibidos y la llamada se rechaza
- PDF/A-3 (modos 5, 6 y 7 de SetPDFAMode): se permiten archivos incrustados de cualquier tipo MIME. Establezca la relación del archivo mediante SetEmbeddedFileAFRelationship antes de guardar
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