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
| FileName | Het volledige pad en de naam van het bronbestand op schijf. De bytes ervan worden zonder wijzigingen naar een PDF-embedded-filestream gekopieerd |
|---|---|
| MIMEType | Het MIME-type van het bestand, bijvoorbeeld image/jpeg of application/xml. Kan een lege string zijn wanneer het MIME-type onbekend is |
Retourwaarden
| 0 | Het bestand kon niet worden geopend of er is geen document actief |
|---|---|
| Non-zero | Een 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:
- PDF/A-1, PDF/A-2 (SetPDFAMode-modi 1–4) — ingesloten bestanden zijn verboden; de aanroep wordt geweigerd.
- PDF/A-3 (SetPDFAMode-modi 5, 6 en 7) — ingesloten bestanden van elk MIME-type zijn toegestaan. Stel de relatie van het bestand via SetEmbeddedFileAFRelationship in voordat het document wordt opgeslagen.
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