AddEmbeddedFile
Dokumenteigenschaften
Beschreibung
Bettet eine Datei als eingebetteten Dateistream in das PDF ein, registriert sie jedoch nicht selbstständig in einer Katalogliste und zeichnet keine anklickbare Anmerkung. Die Funktion gibt ein EmbeddedFileID-Handle zurück, das an AddFileAttachment (zum Anbringen eines Büroklammersymbols auf einer Seite) oder an AddLinkToEmbeddedFile (zum Erstellen eines anklickbaren Hotspots, der die Datei öffnet) übergeben werden kann. Um eine Datei in einem einzigen Aufruf sowohl einzubetten als auch als Anhang auf Dokumentebene aufzulisten, verwenden Sie stattdessen EmbedFile.
Syntax
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);
Parameter
| FileName | Vollständiger Pfad und Name der Quelldatei auf dem Datenträger. Ihre Bytes werden unverändert in einen PDF-Stream für eingebettete Dateien kopiert. |
|---|---|
| MIMEType | Der MIME-Typ der Datei, beispielsweise image/jpeg oder application/xml. Kann eine leere Zeichenfolge sein, wenn der MIME-Typ unbekannt ist. |
Rückgabewerte
| 0 | Die Datei konnte nicht geöffnet werden oder es ist kein Dokument aktiv |
|---|---|
| Non-zero | Ein EmbeddedFileID-Handle zur Verwendung mit AddFileAttachment, AddLinkToEmbeddedFile oder SetEmbeddedFileStrProperty. |
Anmerkungen
Verhalten der PDF-Version: Streams eingebetteter Dateien und Dateispezifikationswörterbücher erfordern PDF 1.3. Ist die aktuelle Dokumentversion niedriger und die Speicherversion nicht gesperrt, hebt AddEmbeddedFile das Dokument automatisch auf PDF 1.3 an. Aufrufe, die die Datei als Anhang auf Dokumentebene registrieren, können eine höhere Version erfordern: AddFileAttachment und EmbedFile verwenden den PDF-1.4-Namensbaum /Names /EmbeddedFiles, und AddLinkToEmbeddedFile verwendet PDF-1.4-Anmerkungsdeckkraft/Darstellungstransparenz.
Eine nur mit AddEmbeddedFile eingebettete Datei ist Teil der PDF-Datei, bleibt in der Leseroberfläche jedoch unsichtbar, bis sie in der Anlagenliste des Dokuments registriert oder von einer Seitenanmerkung referenziert wird. Durch Wiederverwenden derselben EmbeddedFileID mit AddFileAttachment und AddLinkToEmbeddedFile können Sie eine eingebettete Datei sowohl über die Benutzeroberfläche auf Dokument- als auch auf Seitenebene bereitstellen, ohne die eingebetteten Bytes zu duplizieren
PDF/A-Kompatibilität:
- PDF/A-1, PDF/A-2 (Modi 1–4 von SetPDFAMode) — eingebettete Dateien sind verboten; der Aufruf wird abgelehnt
- PDF/A-3 (SetPDFAMode-Modi 5, 6 und 7) — eingebettete Dateien jedes MIME-Typs sind zulässig. Legen Sie die Beziehung der Datei vor dem Speichern mit SetEmbeddedFileAFRelationship fest.
Beispiel
// 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;Siehe auch
AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount