AddEmbeddedFile
Властивості документа
Опис
Вбудовує файл у PDF як потік вбудованого файла, але сам по собі не реєструє його в жодному списку каталогу і не малює клікабельну анотацію. Функція повертає дескриптор EmbeddedFileID, який можна передати AddFileAttachment (щоб намалювати піктограму скріпки на сторінці) чи AddLinkToEmbeddedFile (щоб створити клікабельну гарячу зону, що відкриває файл). Щоб вбудувати файл і зареєструвати його як вкладення рівня документа одним викликом, використовуйте EmbedFile
Синтаксис
Delphi
Function TPDFlib.AddEmbeddedFile(Const FileName, MIMEType: WideString): Integer;
ActiveX
Function PDFlib::AddEmbeddedFile(FileName As String, MIMEType As String) As Long
DLL
int DLAddEmbeddedFile(int InstanceID, const wchar_t * FileName, const wchar_t * MIMEType);
Параметри
| FileName | Повний шлях і назва початкового файла на диску. Його байти дослівно копіюються в потік вбудованого файла PDF |
|---|---|
| MIMEType | MIME-тип файла, наприклад image/jpeg чи application/xml. Може бути порожнім рядком, коли MIME-тип невідомий |
Повернуті значення
| 0 | Файл не вдалося відкрити або активного документа немає |
|---|---|
| Non-zero | Дескриптор EmbeddedFileID для використання з AddFileAttachment, AddLinkToEmbeddedFile чи SetEmbeddedFileStrProperty |
Примітки
Поведінка версії PDF: потоки вбудованих файлів і словники специфікацій файлів вимагають PDF 1.3. Якщо поточна версія документа нижча, а версія збереження не зафіксована, AddEmbeddedFile автоматично підвищує документ до PDF 1.3. Виклики, що реєструють файл як вкладення рівня документа, можуть вимагати вищої версії: AddFileAttachment і EmbedFile використовують дерево імен /Names /EmbeddedFiles з PDF 1.4, а AddLinkToEmbeddedFile — непрозорість/прозорість вигляду анотації з PDF 1.4
Файл, вбудований лише через AddEmbeddedFile, є частиною PDF, але невидимий в інтерфейсі читача, доки його не зареєстровано в списку вкладень документа чи не вказано в анотації сторінки. Повторне використання того самого EmbeddedFileID з AddFileAttachment і AddLinkToEmbeddedFile дає змогу показати один вбудований файл і в інтерфейсі рівня документа, і на рівні сторінки, не дублюючи вбудовані байти
PDF/A compatibility:
- PDF/A-1, PDF/A-2 (SetPDFAMode modes 1–4) — embedded files are forbidden; the call is rejected.
- PDF/A-3 (SetPDFAMode modes 5, 6, and 7) — embedded files of any MIME type are permitted. Set the file's relationship via SetEmbeddedFileAFRelationship before saving.
Приклад
// Expose the same embedded file through the document attachment list and a page annotation
var
FileID: Integer;
begin
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
FileID := PDF.AddEmbeddedFile('C:\reports\sales.csv', 'text/csv');
if FileID = 0 then Exit;
PDF.AddFileAttachment('Source data', FileID);
PDF.AddPage;
PDF.PrintText(50, 750, 'See attached source data');
PDF.AddLinkToEmbeddedFile(50, 720, 16, 16, FileID, 'Source data', 'Open source CSV', 4, 0);
PDF.SaveToFile('with-attachment.pdf');
end;Див. також
AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount