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

TitleVisningsnamnet 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
FileNameFullständig sökväg till källfilen på disk. Filens byte kopieras in i PDF:en
MIMETypeMIME-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

0Filen kunde inte bäddas in — källfilen saknas, titeln används redan, eller inget dokument är öppet
1Filen 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:

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