AddEmbeddedFile

Właściwości dokumentu

Opis

Osadza plik wewnątrz PDF jako strumień osadzonego pliku, ale samodzielnie nie rejestruje go na żadnej liście katalogu ani nie rysuje klikalnej adnotacji. Funkcja zwraca uchwyt EmbeddedFileID, który można przekazać do AddFileAttachment (aby umieścić ikonę spinacza na stronie) albo AddLinkToEmbeddedFile (aby utworzyć klikalny aktywny obszar otwierający plik). Aby jednym wywołaniem zarówno osadzić plik, jak i umieścić go na liście załączników na poziomie dokumentu, użyj zamiast tego EmbedFile

Składnia

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);

Parametry

FileNamePełna ścieżka i nazwa pliku źródłowego na dysku. Jego bajty są kopiowane bez zmian do strumienia osadzonego pliku PDF
MIMETypeTyp MIME pliku, na przykład image/jpeg lub application/xml. Może być pustym ciągiem, gdy typ MIME jest nieznany

Wartości zwracane

0Nie można otworzyć pliku lub żaden dokument nie jest aktywny
Non-zeroUchwyt EmbeddedFileID do użycia z AddFileAttachment, AddLinkToEmbeddedFile lub SetEmbeddedFileStrProperty

Uwagi

Zachowanie wersji PDF: strumienie osadzonych plików i słowniki specyfikacji plików wymagają PDF 1.3. Jeśli bieżąca wersja dokumentu jest niższa, a wersja zapisu nie jest zablokowana, AddEmbeddedFile automatycznie podnosi dokument do PDF 1.3. Wywołania rejestrujące plik jako załącznik na poziomie dokumentu mogą wymagać wyższej wersji: AddFileAttachment i EmbedFile używają drzewa nazw PDF 1.4 /Names /EmbeddedFiles, a AddLinkToEmbeddedFile używa krycia adnotacji i przezroczystości wyglądu z PDF 1.4

Plik osadzony wyłącznie za pomocą AddEmbeddedFile stanowi część PDF, lecz pozostaje niewidoczny w interfejsie czytnika, dopóki nie zostanie zarejestrowany na liście załączników dokumentu lub przywołany przez adnotację strony. Ponowne użycie tego samego EmbeddedFileID z AddFileAttachment i AddLinkToEmbeddedFile pozwala udostępnić jeden osadzony plik zarówno w interfejsie na poziomie dokumentu, jak i strony bez powielania osadzonych bajtów

Zgodność z PDF/A:

Przykład

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

Zobacz również

AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount