AddEmbeddedFile
문서 속성
설명
파일을 PDF 안에 포함 파일 스트림으로 포함하지만, 이 함수만으로는 Catalog 목록에 파일을 등록하거나 클릭 가능한 주석을 그리지 않습니다. 함수는 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 포함 파일 스트림에 그대로 복사됩니다 |
|---|---|
| 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과 함께 다시 사용하면 포함된 바이트를 복제하지 않고 포함 파일 하나를 문서 수준 및 페이지 수준 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