TPDFlibPrinter
인쇄, VCL, 문서 생성
설명
실제 프린터 작업을 제출하는 대신 PDF 문서를 만들면서 익숙한 BeginDoc, Canvas, NewPage, EndDoc 및 Abort 수명 주기를 제공하는 구성 요소 퍼사드입니다
선언
Uses PDFlibPDFPrinter;
TPDFlibPrinter = Class(TComponent)매개변수
BeginDoc | 새 PDF 문서를 시작하고 Canvas를 통해 첫 페이지를 제공합니다 |
|---|---|
NewPage | 현재 캔버스를 PDF 페이지로 커밋하고 다음 페이지 캔버스를 엽니다 |
EndDoc | 최종 페이지를 커밋하고 대상이 지정되었으면 FileName을 씁니다 |
Abort | 대상 파일을 기록하지 않고 활성 작업을 폐기하며 구성 요소를 빈 문서로 재설정합니다 |
SetPageSize | BeginDoc 전에 세로 방향 용지 크기를 PDF 포인트 단위로 설정합니다 |
속성
Canvas | BeginDoc와 EndDoc 또는 Abort 사이의 활성 VCL 캔버스 |
|---|---|
FileName | 선택적 PDF 출력 경로이며 빈 값은 결과를 LibraryInstance에만 유지합니다 |
Title | 작업 시작 시 적용할 문서 제목 |
DPI | 24에서 2400 사이의 캔버스 좌표 해상도이며 기본값은 96입니다 |
CanvasOptions | -1부터 4까지의 Canvas 가져오기 모드이며 기본값은 벡터 모드 2 |
Orientation | poPortrait 또는 poLandscape이며 가로 방향은 구성된 용지 치수를 서로 바꿉니다 |
PaperWidth, PaperHeight | 1~14400 PDF 포인트 범위의 세로 방향 용지 크기 |
PageWidth, PageHeight | DPI 및 방향 변환 후 캔버스 픽셀 단위의 읽기 전용 활성 치수 |
PageWidthPoints, PageHeightPoints | PDF 포인트 단위의 읽기 전용 활성 치수 |
PageNumber | 작업 중에는 1 기반 현재 페이지이고 유휴 상태에서는 0 |
Printing, Aborted | 읽기 전용 수명 주기 상태 |
LibraryInstance | 완료된 PDF를 검사하거나 추가 처리하기 위한 소유 TPDFlib 인스턴스 |
LastErrorCode | 최근 PDF 작업의 기반 라이브러리 오류 코드 |
예제
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;비고
활성 문서 중에는 구성 속성을 변경할 수 없으며 수명 주기를 잘못 사용하면 EPDFlibPrinter가 발생함
구성 요소가 자체 라이브러리와 캔버스를 소유하고 각 작업에 독립 문서를 만들며 완료 문서를 이후 API 작업용으로 보존하고 인쇄 대화 상자를 열거나 운영 체제 스풀러에 접근하지 않습니다
작업 주위에 try/except를 사용하고 작업이 활성 상태일 때만 Abort를 호출합니다. 내부 변환 작업이 실패하면 작업을 종료하고 Aborted를 설정합니다