EmbedFileA
Dokumentegenskaper
Beskrivning
Det avslutande A:et betecknar ANSI (char)-DLL-ingångspunkten; ActiveX/COM-ytan exponerar bara Unicode-formen. Beteendet är identiskt med EmbedFile och strängargument tolkas med aktuell SetAnsiMode-kod sida
Bäddar in en extern fil i PDF:en och registrerar den som en dokumentnivåbilaga. Acrobat och andra läsare visar dokumentnivåbilagor i sin bilagesidopanel. Anropet är en genväg för AddEmbeddedFile följt av AddToFileList: filen lagras som en inbäddad filström, och en post som refererar den läggs till Catalog:ens /Names /EmbeddedFiles-namnträd under den medföljande titeln
PDF-versionsbeteende: inbäddade filströmmar och file specification-dictionarys kräver PDF 1.3, medan namnträdet på dokumentnivå /Names /EmbeddedFiles som det här bekvämlighetsanropet använder kräver PDF 1.4. Om dokumentets aktuella version är lägre och sparversionen inte är låst höjer EmbedFile automatiskt dokumentet till PDF 1.4 och spelar in /EmbeddedFiles name tree i AutoBumpedFeatures. Låser anroparen en lägre sparversion avvisar kompatibilitetsgrinden sparningen med LastErrorCode 602
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);
Parametrar
| Title | Visningsnamnet som visas i läsarens bilagepanel och används som nyckel i /EmbeddedFiles-namnträdet. Måste vara unikt inom dokumentet; om en fil med den titeln redan finns misslyckas anropet |
|---|---|
| FileName | Fullständig sökväg till källfilen på disk. Filens byte kopieras in i PDF:en |
| MIMEType | MIME-typ som identifierar filens innehåll (till exempel image/jpeg, text/csv, application/xml). Ange en tom sträng när MIME-typen är okänd; visningsprogram faller tillbaka till filändelsen |
Returvärden
| 0 | Filen kunde inte bäddas in — källfilen saknas, titeln används redan, eller inget dokument är öppet |
|---|---|
| 1 | Filen bäddades in och listades i dokumentets bilagenamnträd |
Anmärkningar
Det här anropet skapar bara en dokumentnivåbilaga. För att rita en klickbar gem-annotering på en specifik sida som pekar på den inbäddade filen, använd i stället AddEmbeddedFile följt av AddFileAttachment (eller AddLinkToEmbeddedFile)
PDF/A-kompatibilitet:
- PDF/A-1, PDF/A-2 (lägena 1–4 i SetPDFAMode) förbjuder godtyckliga inbäddade filer. PDF/A-vakten blockerar
EmbedFilei de lägena. - PDF/A-3 (lägena 5, 6 och 7) tillåter inbäddade filer av valfri MIME-typ. ISO 19005-3 kräver också att varje inbäddad fil deklarerar sin relation till dokumentet via nyckeln
AFRelationship— sätt den uttryckligen med SetEmbeddedFileAFRelationship.
När SetPDFUAMode är aktivt skriver biblioteket AFRelationship=Unspecified automatiskt för varje inbäddad fil utan explicit relation; åsidosätt det med SetEmbeddedFileAFRelationship för att uppfylla ISO 14289-1 §7.11
Exempel
// 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 även
AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode