AddEmbeddedFile
Propriétés du document
Description
Incorpore un fichier dans le PDF comme flux de fichier incorporé, mais sans l’inscrire à lui seul dans une liste du Catalog ni tracer d’annotation cliquable. La fonction renvoie un handle EmbeddedFileID transmissible à AddFileAttachment (pour placer une icône de trombone sur une page) ou à AddLinkToEmbeddedFile (pour créer une zone cliquable ouvrant le fichier). Pour incorporer le fichier et le répertorier comme pièce jointe du document en un seul appel, utilisez plutôt EmbedFile
Syntaxe
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);
Paramètres
| FileName | Le chemin complet et le nom du fichier source sur le disque Ses octets sont copiés à l'identique dans un flux de fichier incorporé PDF |
|---|---|
| MIMEType | Type MIME du fichier, par exemple image/jpeg ou application/xml. Peut être une chaîne vide si le type MIME est inconnu |
Valeurs de retour
| 0 | Le fichier n’a pas pu être ouvert ou aucun document n’est actif |
|---|---|
| Non-zero | Handle EmbeddedFileID utilisable avec AddFileAttachment, AddLinkToEmbeddedFile ou SetEmbeddedFileStrProperty |
Remarques
Comportement selon la version PDF : les flux de fichiers incorporés et les dictionnaires de spécification de fichier exigent PDF 1.3. Si la version courante est inférieure et que la version d’enregistrement n’est pas verrouillée, AddEmbeddedFile élève automatiquement le document à PDF 1.3. Les appels inscrivant le fichier comme pièce jointe peuvent exiger une version supérieure : AddFileAttachment et EmbedFile utilisent l’arbre de noms /Names /EmbeddedFiles de PDF 1.4, et AddLinkToEmbeddedFile emploie l’opacité et la transparence d’apparence des annotations de PDF 1.4
Un fichier incorporé uniquement par AddEmbeddedFile appartient au PDF mais reste invisible dans l’interface jusqu’à son enregistrement comme pièce jointe ou sa référence par une annotation. Réutiliser le même EmbeddedFileID avec AddFileAttachment et AddLinkToEmbeddedFile l’expose aux deux niveaux sans dupliquer les octets
Compatibilité PDF/A :
- PDF/A-1, PDF/A-2 (modes 1–4 de SetPDFAMode) — les fichiers incorporés sont interdits ; l'appel est refusé
- PDF/A-3 (modes 5, 6 et 7 de SetPDFAMode) — les fichiers incorporés de tout type MIME sont autorisés. Définissez la relation du fichier avec SetEmbeddedFileAFRelationship avant l’enregistrement
Exemple
// 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;Voir aussi
AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount