AddEmbeddedFile

Proprietà del documento

Descrizione

Incorpora un file nel PDF come flusso di file incorporato, ma da sola non registra il file in alcun elenco del catalogo né disegna un'annotazione selezionabile. La funzione restituisce un handle EmbeddedFileID che può essere passato a AddFileAttachment, per allegare a una pagina un'icona a graffetta, oppure a AddLinkToEmbeddedFile, per creare un'area selezionabile che apre il file. Per incorporare un file e contemporaneamente elencarlo come allegato a livello di documento in un'unica chiamata, usare invece EmbedFile

Sintassi

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

Parametri

FileNamePercorso completo del file origine. I byte vengono copiati letteralmente nel flusso incorporato PDF
MIMETypeTipo MIME del file, ad esempio image/jpeg o application/xml. Può essere una stringa vuota se il tipo MIME è sconosciuto.

Valori restituiti

0Non è stato possibile aprire il file oppure nessun documento è attivo
Non-zeroHandle EmbeddedFileID da usare con AddFileAttachment, AddLinkToEmbeddedFile o SetEmbeddedFileStrProperty

Note

Comportamento della versione PDF: flussi di file incorporati e dizionari delle specifiche richiedono PDF 1.3. Se la versione è precedente e non bloccata, AddEmbeddedFile passa automaticamente a PDF 1.3. La registrazione come allegato può richiedere versioni superiori: AddFileAttachment e EmbedFile usano l'albero PDF 1.4 /Names /EmbeddedFiles, mentre AddLinkToEmbeddedFile usa opacità e trasparenza PDF 1.4

Un file aggiunto solo con AddEmbeddedFile è invisibile nell'interfaccia finché non viene registrato o referenziato. Riutilizzare EmbeddedFileID con AddFileAttachment e AddLinkToEmbeddedFile lo espone a livello documento e pagina senza duplicare i byte

Compatibilità PDF/A:

Esempio

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

Vedere anche

AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount