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
MIMETypeMIME-тип файла, наприклад 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:

Приклад

// 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