EmbedFile
Dokumentegenskaber
Beskrivelse
Integrerer en ekstern fil i PDF-filen og registrerer den som en vedhæftet fil på dokumentniveau. Acrobat og andre læsere viser vedhæftede filer på dokumentniveau i sidepanelet Attachments. Kaldet er en forkortelse for AddEmbeddedFile efterfulgt af AddToFileList: Filen gemmes som en integreret filstream, og en post, der refererer til den, føjes til navnetræet /Names /EmbeddedFiles i Catalog under den angivne titel
PDF-versionsadfærd: Streams til indlejrede filer og filspecifikationsordbøger kræver PDF 1.3, mens navnetræet /Names /EmbeddedFiles på dokumentniveau, som dette bekvemmelighedskald bruger, kræver PDF 1.4. Hvis den aktuelle dokumentversion er lavere, og gemmeversionen ikke er låst, hæver EmbedFile automatisk dokumentet til PDF 1.4 og registrerer /EmbeddedFiles name tree i AutoBumpedFeatures. Hvis kalderen låser en lavere gemmeversion, afviser kompatibilitetskontrollen lagringen med LastErrorCode 602.
Syntaks
Delphi
Function TPDFlib.EmbedFile(Const Title, FileName, MIMEType: WideString): Integer;
ActiveX
Function PDFlib::EmbedFile(Title As String, FileName As String, MIMEType As String) As Long
DLL
int DLEmbedFile(int InstanceID, const wchar_t * Title, const wchar_t * FileName, const wchar_t * MIMEType);
Parametre
| Title | Det viste navn i læserens panel med vedhæftede filer og den nøgle, der bruges i navnetræet /EmbeddedFiles. Skal være entydigt i dokumentet; hvis der allerede findes en fil med denne titel, mislykkes kaldet. |
|---|---|
| FileName | Den fulde sti til kildefilen på disken. Denne fils bytes kopieres ind i PDF'en. |
| MIMEType | MIME-type, der identificerer filens indhold (f.eks. image/jpeg, text/csv, application/xml). Angiv en tom streng, når MIME-typen er ukendt; fremvisere falder tilbage til filtypenavnet |
Returværdier
| 0 | Filen kunne ikke integreres — kildefilen mangler, titlen er allerede i brug, eller intet dokument er åbent. |
|---|---|
| 1 | Filen blev indlejret og opført i dokumentets navnetræ for vedhæftede filer. |
Bemærkninger
Dette kald opretter kun en vedhæftet fil på dokumentniveau. Hvis du vil tegne en klikbar papirclipsannotering på en bestemt side, der peger på den integrerede fil, skal du i stedet bruge AddEmbeddedFile efterfulgt af AddFileAttachment (eller AddLinkToEmbeddedFile)
PDF/A-kompatibilitet:
- PDF/A-1 og PDF/A-2 (tilstand 1–4 i SetPDFAMode) forbyder vilkårlige integrerede filer. PDF/A-kontrollen blokerer
EmbedFilei disse tilstande - PDF/A-3 (tilstand 5, 6 og 7) tillader integrerede filer af enhver MIME-type. ISO 19005-3 kræver også, at hver integreret fil angiver sin relation til dokumentet via nøglen
AFRelationship– indstil den eksplicit med SetEmbeddedFileAFRelationship.
Når SetPDFUAMode er aktiv, skriver biblioteket automatisk AFRelationship=Unspecified for enhver integreret fil, der ikke har en eksplicit relation; tilsidesæt den med SetEmbeddedFileAFRelationship for at opfylde ISO 14289-1 §7.11.
Eksempel
// 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');Se også
AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode