AddEmbeddedFile

Documenteigenschappen

Beschrijving

Embedt een bestand in de PDF als ingesloten-bestandsstream, maar registreert het bestand niet zelf in een cataloguslijst en tekent geen klikbare annotatie. De functie geeft een EmbeddedFileID-handle terug die kan worden doorgegeven aan AddFileAttachment (om een paperclip-icoon op een pagina te hangen) of AddLinkToEmbeddedFile (om een klikbare hotspot te maken die het bestand opent). Om een bestand in te bedden én als documentniveau-bijlage te registreren in één aanroep, gebruik dan EmbedFile

Syntaxis

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);

Parameters

FileNameHet volledige pad en de naam van het bronbestand op schijf. De bytes ervan worden zonder wijzigingen naar een PDF-embedded-filestream gekopieerd
MIMETypeHet MIME-type van het bestand, bijvoorbeeld image/jpeg of application/xml. Kan een lege string zijn wanneer het MIME-type onbekend is

Retourwaarden

0Het bestand kon niet worden geopend of er is geen document actief
Non-zeroEen EmbeddedFileID-handle voor gebruik met AddFileAttachment, AddLinkToEmbeddedFile of SetEmbeddedFileStrProperty

Opmerkingen

PDF-versiegedrag: ingesloten-bestandsstreams en filespecificatie-woordenboeken vereisen PDF 1.3. Is de huidige documentversie lager en is de opslagversie niet vergrendeld, dan verhoogt AddEmbeddedFile het document automatisch naar PDF 1.3. Aanroepen die het bestand als documentniveau-bijlage registreren kunnen een hogere versie vereisen: AddFileAttachment en EmbedFile gebruiken de PDF 1.4 /Names /EmbeddedFiles-naamboom, en AddLinkToEmbeddedFile gebruikt PDF 1.4-annotatiedekking/apperance-transparantie

Een bestand dat alleen met AddEmbeddedFile is ingebed, maakt deel uit van de PDF maar is onzichtbaar in de reader-UI totdat het in de documentbijlagenlijst is geregistreerd of door een pagina-annotatie wordt gerefereerd. Door dezelfde EmbeddedFileID te hergebruiken met AddFileAttachment en AddLinkToEmbeddedFile legt u één ingesloten bestand bloot via zowel documentniveau- als paginaniveau-UI, zonder de ingesloten bytes te dupliceren

PDF/A compatibility:

Voorbeeld

// 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;

Zie ook

AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount