AddEmbeddedFile

文書プロパティ

説明

ファイルを埋め込みファイルストリームとして PDF 内に埋め込みますが、単独ではファイルをカタログリストに登録せず、クリック可能な注釈も描画しません。この関数は EmbeddedFileID ハンドルを返し、AddFileAttachment(ページにクリップアイコンを添付する)または AddLinkToEmbeddedFile(ファイルを開くクリック可能なホットスポットを作成する)に渡せます。1 回の呼び出しでファイルを埋め込み、文書レベルの添付ファイルとして一覧表示するには、代わりに 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-zeroEmbeddedFileID ハンドルです。AddFileAttachment、AddLinkToEmbeddedFile、または SetEmbeddedFileStrProperty で使用します

備考

PDF バージョンの動作: 埋め込みファイルストリームとファイル仕様辞書には PDF 1.3 が必要です。現在の文書バージョンがそれより低く、保存バージョンがロックされていない場合、AddEmbeddedFile は文書を自動的に PDF 1.3 へ引き上げます。ファイルを文書レベルの添付として登録する呼び出しでは、さらに高いバージョンが必要になる場合があります。AddFileAttachment と EmbedFile は PDF 1.4 の /Names /EmbeddedFiles 名前ツリーを使用し、AddLinkToEmbeddedFile は PDF 1.4 の注釈不透明度/外観透明度を使用します

AddEmbeddedFile だけで埋め込まれたファイルは PDF の一部ですが、文書の添付ファイル一覧に登録するかページ注釈から参照するまで、閲覧ソフトの UI には表示されません。同じ EmbeddedFileID を AddFileAttachment および AddLinkToEmbeddedFile で再利用すると、埋め込みバイトを複製せずに、1 つの埋め込みファイルを文書レベルとページレベルの両方の UI で公開できます

PDF/A 互換性:

例

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