EmbedFileA

Vlastnosti dokumentu

Popis

Koncové A označuje vstupní bod ANSI (char) knihovny DLL; rozhraní ActiveX/COM zpřístupňuje pouze formu Unicode. Chování je shodné s EmbedFile a řetězcové argumenty jsou interpretovány pomocí aktuální znakové stránky nastavené funkcí SetAnsiMode

Vloží externí soubor do PDF a zaregistruje ho jako přílohu na úrovni dokumentu. Acrobat a další čtečky zobrazují přílohy na úrovni dokumentu v bočním panelu příloh. Volání je zkratkou za AddEmbeddedFile následovaným AddToFileList: soubor se uloží jako stream vloženého souboru a pod zadaným titulkem se do stromu názvů Catalog /Names /EmbeddedFiles přidá položka na něj odkazující

Chování verzí PDF: streamy vložených souborů a slovníky specifikace souboru vyžadují PDF 1.3, zatímco strom názvů /Names /EmbeddedFiles na úrovni dokumentu používaný tímto praktickým voláním vyžaduje PDF 1.4. Je-li aktuální verze dokumentu nižší a verze ukládání není uzamčena, EmbedFile automaticky zvýší dokument na PDF 1.4 a zaznamená strom názvů /EmbeddedFiles do AutoBumpedFeatures. Uzamkne-li volající nižší verzi ukládání, kompatibilita uložení zamítne s LastErrorCode 602

Syntaxe

Delphi

Function DLEmbedFileA(InstanceID: Integer; Title, FileName, MIMEType: PAnsiChar): Integer;

DLL

int DLEmbedFileA(int InstanceID, const char * Title, const char * FileName, const char * MIMEType);

Parametry

TitleZobrazovaný název v panelu příloh čtečky, používaný jako klíč ve stromu názvů /EmbeddedFiles. Musí být v dokumentu unikátní; existuje-li soubor s tímto titulkem už dřív, volání selže
FileNameÚplná cesta ke zdrojovému souboru na disku. Bajty tohoto souboru se zkopírují do PDF
MIMETypeTyp MIME identifikující obsah souboru (například image/jpeg, text/csv, application/xml). Pokud typ MIME není známý, předejte prázdný řetězec; prohlížeče použijí příponu souboru

Návratové hodnoty

0The file could not be embedded — the source file is missing, the title is already used, or no document is open.
1Soubor se vložil a zapsal do stromu názvů příloh dokumentu

Poznámky

Toto volání vytvoří jen přílohu na úrovni dokumentu. Chcete-li na konkrétní stránce nakreslit klikatelnou anotaci s kancelářskou sponkou ukazující na vložený soubor, použijte raději AddEmbeddedFile následované AddFileAttachment (nebo AddLinkToEmbeddedFile)

PDF/A compatibility:

When SetPDFUAMode is active the library writes AFRelationship=Unspecified automatically for any embedded file that has no explicit relationship; override it with SetEmbeddedFileAFRelationship to satisfy ISO 14289-1 §7.11.

Příklad

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

Viz také

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode