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-zero | EmbeddedFileID ハンドルです。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 互換性:
- PDF/A-1、PDF/A-2(SetPDFAMode のモード 1~4)では埋め込みファイルが禁止されるため、呼び出しは拒否されます
- PDF/A-3(SetPDFAMode のモード 5、6、7)では、任意の MIME タイプのファイルを埋め込めます。保存前に SetEmbeddedFileAFRelationship でファイルの関係を設定してください
例
// 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