SetEmbeddedFileAFRelationshipA
PDF/UA и доступность
Описание
Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично SetEmbeddedFileAFRelationship, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode
Задаёт ключ AFRelationship в словаре спецификации файла для встроенного файла. Требуется по ISO 14289-1 (PDF/UA-1) §7.11, когда встроенные файлы входят в доступный документ PDF.
Синтаксис
Delphi
Function DLSetEmbeddedFileAFRelationshipA(InstanceID, Index: Integer; AFRelationship: PAnsiChar): Integer;
DLL
int DLSetEmbeddedFileAFRelationshipA(int InstanceID, int Index, const char * AFRelationship);
Параметры
| Index | Индекс встроенного файла с нуля; допустимый диапазон от 0 до EmbeddedFileCount - 1 |
|---|---|
| AFRelationship | Связь встроенного файла с документом. Должно быть одно из следующих значений (с учетом регистра): Source — встроенный файл является файлом-источником, из которого создан документ Data — встроенный файл содержит данные, используемые документом Alternative — встроенный файл является альтернативным представлением содержимого документа Supplement — встроенный файл дополняет документ Unspecified — связь не указана (по умолчанию при активном SetPDFUAMode) |
Возвращаемое значение
Возвращает 1 в случае успеха; 0 — если индекс вне диапазона, значение AFRelationship не из пяти допустимых либо документ не открыт
Примечания
Когда активен SetPDFUAMode, PDF Library for Delphi автоматически выставляет AFRelationship = Unspecified любому встроенному файлу без этого ключа. Переопределить значение по умолчанию на более конкретную связь можно через SetEmbeddedFileAFRelationship до сохранения
Вызовите после добавления встроенного файла и до сохранения документа
Пример
// PDF/A-3 archive that embeds an XLSX as the document's source data
var
FileID: Integer;
begin
PDF.SetPDFAMode(5); // PDF/A-3b — allows arbitrary embedded files
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Quarterly Sales Report');
FileID := PDF.AddEmbeddedFile(
'sales-Q1.xlsx',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PDF.AddFileAttachment('Source spreadsheet', FileID);
// Mark the relationship: the spreadsheet is the source of the report
PDF.SetEmbeddedFileAFRelationship(1, 'Source');
PDF.SaveToFile('report-PDFA3b.pdf');
end;См. также
SetPDFUAMode, SetPDFAMode, AddFileAttachment, AddEmbeddedFile, EmbedFile, SetEmbeddedFileStrProperty