SetEmbeddedFileAFRelationship

PDF/UA & Accessibility

Description

埋め込みファイルのファイル指定辞書に AFRelationship キーを設定します;アクセシブルな PDF ドキュメントに埋め込みファイルが含まれる場合、ISO 14289-1 (PDF/UA-1) §7.11 によって要求されます

Syntax

Delphi

Function TPDFlib.SetEmbeddedFileAFRelationship(Index: Integer; Const AFRelationship: WideString): Integer;

ActiveX

Function PDFlib::SetEmbeddedFileAFRelationship(Index As Long, AFRelationship As String) As Long

DLL

int DLSetEmbeddedFileAFRelationship(int InstanceID, int Index, const wchar_t * AFRelationship);

Parameters

Index埋め込みファイルの 0 から始まるインデックス;有効な範囲:0 から EmbeddedFileCount - 1 まで
AFRelationship埋め込みファイルのドキュメントに対する関係;大文字小文字を区別し、以下の値のいずれかである必要があります;

Source — 埋め込みファイルはドキュメントの作成に使用されたソースファイルです;
Data — 埋め込みファイルはドキュメントで使用されるデータを含んでいます;
Alternative — 埋め込みファイルはドキュメントコンテンツの代替表現です;
Supplement — 埋め込みファイルはドキュメントの補足です;
Unspecified — 関係は指定されていません(SetPDFUAMode がアクティブな場合のデフォルト)

Return value

成功した場合は 1 を返します;インデックスが範囲外であるか、AFRelationship 値が 5 つの有効な値のいずれでもないか、ドキュメントが開かれていない場合は 0 を返します

Remarks

SetPDFUAMode がアクティブな場合、PDFlibPas はまだキーを持たない埋め込みファイルに対して AFRelationship を自動的に Unspecified に設定します;このデフォルトをより具体的な関係値で上書きするには、保存前に SetEmbeddedFileAFRelationship を使用します

この関数は埋め込みファイルを追加した後、かつドキュメントを保存する前に呼び出してください

Example

// 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(0, 'Source');

  PDF.SaveToFile('report-PDFA3b.pdf');
end;

See also

SetPDFUAMode, SetPDFAMode, AddFileAttachment, AddEmbeddedFile, EmbedFile, SetEmbeddedFileStrProperty