EmbedFileA

Właściwości dokumentu

Opis

Końcowa litera A oznacza punkt wejścia DLL ANSI (char); powierzchnia ActiveX/COM udostępnia wyłącznie postać Unicode. Zachowanie jest identyczne jak w EmbedFile, a argumenty ciągów są interpretowane przy użyciu bieżącej strony kodowej SetAnsiMode

Osadza plik zewnętrzny wewnątrz PDF i rejestruje go jako załącznik na poziomie dokumentu. Acrobat i inne czytniki pokazują załączniki dokumentu w bocznym panelu załączników. Wywołanie jest skrótem dla AddEmbeddedFile, po którym następuje AddToFileList: plik jest zapisywany jako strumień pliku osadzonego, a odwołujący się do niego wpis zostaje dodany pod podanym tytułem do drzewa nazw /Names /EmbeddedFiles katalogu

Zachowanie wersji PDF: strumienie osadzonych plików i słowniki specyfikacji plików wymagają PDF 1.3, natomiast drzewo nazw /Names /EmbeddedFiles na poziomie dokumentu używane przez to wywołanie pomocnicze wymaga PDF 1.4. Jeśli bieżąca wersja dokumentu jest niższa, a wersja zapisu nie jest zablokowana, EmbedFile automatycznie podnosi dokument do PDF 1.4 i zapisuje /EmbeddedFiles name tree w AutoBumpedFeatures. Jeśli kod wywołujący zablokuje niższą wersję zapisu, kontrola zgodności odrzuci zapis z LastErrorCode 602

Składnia

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

TitleNazwa wyświetlana w panelu załączników czytnika i używana jako klucz w drzewie nazw /EmbeddedFiles. Musi być unikatowa w dokumencie; jeśli plik o tym tytule już istnieje, wywołanie kończy się niepowodzeniem
FileNamePełna ścieżka do pliku źródłowego na dysku. Bajty tego pliku są kopiowane do PDF
MIMETypeTyp MIME identyfikujący zawartość pliku, na przykład image/jpeg, text/csv lub application/xml. Podaj pusty ciąg, gdy typ MIME jest nieznany; przeglądarki użyją rozszerzenia pliku

Wartości zwracane

0Nie można osadzić pliku — plik źródłowy nie istnieje, tytuł jest już używany albo żaden dokument nie jest otwarty
1Plik został osadzony i wymieniony w drzewie nazw załączników dokumentu

Uwagi

To wywołanie tworzy tylko załącznik na poziomie dokumentu. Aby narysować na określonej stronie klikalną adnotację spinacza wskazującą osadzony plik, użyj zamiast tego AddEmbeddedFile, a następnie AddFileAttachment lub AddLinkToEmbeddedFile

Zgodność z PDF/A:

Gdy aktywne jest SetPDFUAMode, biblioteka automatycznie zapisuje AFRelationship=Unspecified dla każdego osadzonego pliku bez jawnej relacji; zastąp ją za pomocą SetEmbeddedFileAFRelationship, aby spełnić wymagania ISO 14289-1 §7.11

Przykład

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

Zobacz również

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode