procedure LoadDocument;
procedure LoadDocument(Data: Pointer; Size: Integer; Buffered: Boolean = True);
| Data | Pointer. Wskaźnik do surowych danych PDF w pamięci |
| Size | Integer. Rozmiar bufora danych w bajtach |
| Buffered | Boolean. Gdy True (domyślnie), PDFium natychmiast kopiuje dane. Gdy False, bufor musi pozostać prawidłowy do momentu zwolnienia dokumentu |
procedure LoadDocument(const Data: TBytes; Buffered: Boolean = True);
| Data | TBytes. Zawartość pliku PDF jako tablica bajtów |
| Buffered | Boolean. Gdy True (domyślnie), PDFium natychmiast kopiuje dane. Gdy False, bufor musi pozostać prawidłowy do momentu zwolnienia dokumentu |
procedure LoadDocument(Data: TMemoryStream; Buffered: Boolean = True);
| Data | TMemoryStream. TMemoryStream zawierający dane PDF |
| Buffered | Boolean. Gdy True (domyślnie), PDFium natychmiast kopiuje dane. Gdy False, bufor musi pozostać prawidłowy do momentu zwolnienia dokumentu |
Bezargumentowe przeciążenie odczytuje z ścieżki zapisanej w FileName. Przeciążenia Pointer, TBytes i TMemoryStream ładują bezpośrednio z danych w pamięci, z pominięciem systemu plików
Gdy Buffered ma wartość True (domyślnie), PDFium natychmiast kopiuje przekazane dane do własnego bufora. Gdy False, bufor wywołującego musi pozostać prawidłowy i niezmieniony aż do UnloadDocument lub Active := False. Pozwala to uniknąć dodatkowej kopii, ale wymaga starannego zarządzania czasem życia
Po powodzeniu Active przyjmuje wartość True, a wszystkie właściwości strony odzwierciedlają pierwszą stronę (PageNumber = 1). W razie błędu zgłaszany jest wyjątek EPdfError
// Z pliku
Pdf.FileName := 'C:\docs\file.pdf';
Pdf.LoadDocument;
// Z TBytes
var Bytes: TBytes;
Bytes := TFile.ReadAllBytes('file.pdf');
Pdf.LoadDocument(Bytes);
// Z TMemoryStream (bez buforowania)
Pdf.LoadDocument(FStream, False);