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
| FileName | Pełna ścieżka i nazwa pliku źródłowego na dysku. Jego bajty są kopiowane bez zmian do strumienia osadzonego pliku PDF |
|---|---|
| MIMEType | Typ MIME pliku, na przykład image/jpeg lub application/xml. Może być pustym ciągiem, gdy typ MIME jest nieznany |
Wartości zwracane
| 0 | Nie można otworzyć pliku lub żaden dokument nie jest aktywny |
|---|---|
| Non-zero | Uchwyt 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:
- PDF/A-1, PDF/A-2 (SetPDFAMode tryby 1–4) — pliki osadzone są zabronione; wywołanie jest odrzucane
- PDF/A-3 (SetPDFAMode tryby 5, 6 i 7) — dozwolone są pliki osadzone dowolnego typu MIME. Przed zapisem ustaw relację pliku za pomocą SetEmbeddedFileAFRelationship
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