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

FileNameLe 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
MIMETypeType 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

0Le fichier n’a pas pu être ouvert ou aucun document n’est actif
Non-zeroHandle 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 :

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