EmbedFileA

Dokumenteigenschaften

Beschreibung

Das angehängte A bezeichnet den ANSI-DLL-Einstiegspunkt (char); die ActiveX/COM-Oberfläche stellt nur die Unicode-Form bereit. Das Verhalten ist mit EmbedFile identisch, und Zeichenfolgenargumente werden anhand der aktuellen SetAnsiMode-Codeseite interpretiert

Bettet eine externe Datei in das PDF ein und registriert sie als Anhang auf Dokumentebene. Acrobat und andere Reader zeigen Anhänge auf Dokumentebene in ihrer Seitenleiste für Anhänge an. Der Aufruf ist eine Kurzform für AddEmbeddedFile gefolgt von AddToFileList: Die Datei wird als Stream für eingebettete Dateien gespeichert und im Namensbaum /Names /EmbeddedFiles des Catalog unter dem angegebenen Titel ein auf sie verweisender Eintrag hinzugefügt.

Verhalten der PDF-Version: Streams eingebetteter Dateien und Dateispezifikationswörterbücher erfordern PDF 1.3, während der von diesem Komfortaufruf verwendete Namensbaum /Names /EmbeddedFiles auf Dokumentebene PDF 1.4 erfordert. Ist die aktuelle Dokumentversion niedriger und die Speicherversion nicht gesperrt, hebt EmbedFile das Dokument automatisch auf PDF 1.4 an und trägt /EmbeddedFiles name tree in AutoBumpedFeatures ein. Sperrt der Aufrufer eine niedrigere Speicherversion, lehnt die Kompatibilitätsprüfung das Speichern mit LastErrorCode 602 ab

Syntax

Delphi

Function DLEmbedFileA(InstanceID: Integer; Title, FileName, MIMEType: PAnsiChar): Integer;

DLL

int DLEmbedFileA(int InstanceID, const char * Title, const char * FileName, const char * MIMEType);

Parameter

TitleDer im Anlagenbereich des Readers angezeigte Name, der zugleich als Schlüssel im Namensbaum /EmbeddedFiles verwendet wird. Er muss innerhalb des Dokuments eindeutig sein; wenn bereits eine Datei mit diesem Titel vorhanden ist, schlägt der Aufruf fehl
FileNameDer vollständige Pfad der Quelldatei auf dem Datenträger. Die Bytes dieser Datei werden in die PDF-Datei kopiert
MIMETypeMIME-Typ, der den Dateiinhalt bezeichnet, beispielsweise image/jpeg, text/csv oder application/xml. Wenn der MIME-Typ unbekannt ist, eine leere Zeichenfolge übergeben; Viewer greifen dann auf die Dateierweiterung zurück.

Rückgabewerte

0Die Datei konnte nicht eingebettet werden — die Quelldatei fehlt, der Titel wird bereits verwendet oder kein Dokument ist geöffnet
1Die Datei wurde eingebettet und im Namensbaum der Dokumentanhänge aufgeführt.

Anmerkungen

Dieser Aufruf erstellt nur einen Anhang auf Dokumentebene. Um auf einer bestimmten Seite eine anklickbare Büroklammer-Anmerkung zu zeichnen, die auf die eingebettete Datei verweist, verwenden Sie stattdessen AddEmbeddedFile gefolgt von AddFileAttachment (oder AddLinkToEmbeddedFile).

PDF/A-Kompatibilität:

Wenn SetPDFUAMode aktiv ist, schreibt die Bibliothek für jede eingebettete Datei ohne explizite Beziehung automatisch AFRelationship=Unspecified; überschreiben Sie dies mit SetEmbeddedFileAFRelationship, um ISO 14289-1 §7.11 zu erfüllen

Beispiel

// Embed a CSV of the source data as a document attachment
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Sales summary, Q1 2026');

if PDF.EmbedFile('Source data — sales-Q1.csv', 'C:\reports\sales-Q1.csv', 'text/csv') = 1 then
  WriteLn('Attachment added')
else
  WriteLn('Failed to embed file');

PDF.SaveToFile('Q1-Summary.pdf');

Siehe auch

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode