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

BeginDocRozpoczyna nowy dokument PDF i udostępnia pierwszą stronę przez Canvas
NewPageZatwierdza bieżące płótno jako stronę PDF i otwiera płótno następnej strony
EndDocZatwierdza ostatnią stronę i zapisuje FileName, jeśli przypisano miejsce docelowe
AbortOdrzuca aktywne zadanie bez zapisywania pliku docelowego i przywraca komponent do pustego dokumentu
SetPageSizeUstawia pionowe wymiary papieru w punktach PDF przed BeginDoc

Properties

CanvasAktywne płótno VCL między BeginDoc a EndDoc lub Abort
FileNameOpcjonalna ścieżka wyjściowego pliku PDF; pusta wartość zachowuje wynik wyłącznie w LibraryInstance
TitleTytuł dokumentu stosowany przy rozpoczęciu zadania
DPIRozdzielczość współrzędnych płótna od 24 do 2400, domyślnie 96
CanvasOptionsTryb importu płótna od -1 do 4, domyślnie tryb wektorowy 2
OrientationpoPortrait lub poLandscape; orientacja pozioma zamienia skonfigurowane wymiary papieru
PaperWidth, PaperHeightPionowe wymiary papieru od 1 do 14400 punktów PDF
PageWidth, PageHeightAktywne wymiary tylko do odczytu, wyrażone w pikselach płótna po przeliczeniu DPI i orientacji
PageWidthPoints, PageHeightPointsAktywne wymiary tylko do odczytu, wyrażone w punktach PDF
PageNumberLiczony od jednego numer bieżącej strony podczas zadania i zero w stanie bezczynności
Printing, AbortedStan cyklu życia tylko do odczytu
LibraryInstanceNależąca do komponentu instancja TPDFlib do inspekcji lub dalszego przetwarzania ukończonego pliku PDF
LastErrorCodeKod 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

Zobacz również

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream