TPDFlibPrinter
Drukowanie, VCL, tworzenie dokumentu
Opis
Udostępnia fasadę komponentu ze znanym cyklem życia BeginDoc, Canvas, NewPage, EndDoc i Abort, tworząc dokument PDF zamiast wysyłać fizyczne zadanie drukowania
Deklaracja
Uses PDFlibPDFPrinter;
TPDFlibPrinter = Class(TComponent)Parametry
BeginDoc | Rozpoczyna nowy dokument PDF i udostępnia pierwszą stronę przez Canvas |
|---|---|
NewPage | Zatwierdza bieżące płótno jako stronę PDF i otwiera płótno następnej strony |
EndDoc | Zatwierdza ostatnią stronę i zapisuje FileName, jeśli przypisano miejsce docelowe |
Abort | Odrzuca aktywne zadanie bez zapisywania pliku docelowego i przywraca komponent do pustego dokumentu |
SetPageSize | Ustawia pionowe wymiary papieru w punktach PDF przed BeginDoc |
Properties
Canvas | Aktywne płótno VCL między BeginDoc a EndDoc lub Abort |
|---|---|
FileName | Opcjonalna ścieżka wyjściowego pliku PDF; pusta wartość zachowuje wynik wyłącznie w LibraryInstance |
Title | Tytuł dokumentu stosowany przy rozpoczęciu zadania |
DPI | Rozdzielczość współrzędnych płótna od 24 do 2400, domyślnie 96 |
CanvasOptions | Tryb importu płótna od -1 do 4, domyślnie tryb wektorowy 2 |
Orientation | poPortrait lub poLandscape; orientacja pozioma zamienia skonfigurowane wymiary papieru |
PaperWidth, PaperHeight | Pionowe wymiary papieru od 1 do 14400 punktów PDF |
PageWidth, PageHeight | Aktywne wymiary tylko do odczytu, wyrażone w pikselach płótna po przeliczeniu DPI i orientacji |
PageWidthPoints, PageHeightPoints | Aktywne wymiary tylko do odczytu, wyrażone w punktach PDF |
PageNumber | Liczony od jednego numer bieżącej strony podczas zadania i zero w stanie bezczynności |
Printing, Aborted | Stan cyklu życia tylko do odczytu |
LibraryInstance | Należąca do komponentu instancja TPDFlib do inspekcji lub dalszego przetwarzania ukończonego pliku PDF |
LastErrorCode | Kod błędu biblioteki bazowej z ostatniej operacji PDF |
Przykład
Printer := TPDFlibPrinter.Create(nil);
try
Printer.FileName := 'report.pdf';
Printer.BeginDoc;
Printer.Canvas.TextOut(72, 72, 'First page');
Printer.NewPage;
Printer.Canvas.TextOut(72, 72, 'Second page');
Printer.EndDoc;
finally
Printer.Free;
end;Uwagi
Właściwości konfiguracji nie mogą się zmieniać podczas aktywnego dokumentu, a nieprawidłowe użycie cyklu życia zgłasza EPDFlibPrinter
Komponent jest właścicielem biblioteki i płótna, tworzy niezależny dokument dla każdego zadania, zachowuje ukończony dokument do dalszych operacji API oraz nigdy nie otwiera okna dialogowego drukowania ani nie korzysta z bufora wydruku systemu operacyjnego
Otocz zadanie blokiem try/except i wywołuj Abort tylko wtedy, gdy zadanie pozostaje aktywne; nieudane wewnętrzne operacje konwersji kończą zadanie i ustawiają Aborted