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
| FileName | Percorso completo del file origine. I byte vengono copiati letteralmente nel flusso incorporato PDF |
|---|---|
| MIMEType | Tipo MIME del file, ad esempio image/jpeg o application/xml. Può essere una stringa vuota se il tipo MIME è sconosciuto. |
Valori restituiti
| 0 | Non è stato possibile aprire il file oppure nessun documento è attivo |
|---|---|
| Non-zero | Handle 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:
- PDF/A-1, PDF/A-2 (modalità 1–4 di SetPDFAMode) — i file incorporati sono vietati; la chiamata viene rifiutata.
- PDF/A-3 (modalità 5, 6 e 7 di SetPDFAMode) — sono consentiti file incorporati di qualsiasi tipo MIME. Impostare la relazione del file tramite SetEmbeddedFileAFRelationship prima del salvataggio
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