TPDFlibPrinter

인쇄, VCL, 문서 생성

설명

실제 프린터 작업을 제출하는 대신 PDF 문서를 만들면서 익숙한 BeginDoc, Canvas, NewPage, EndDoc 및 Abort 수명 주기를 제공하는 구성 요소 퍼사드입니다

선언

Uses PDFlibPDFPrinter;

TPDFlibPrinter = Class(TComponent)

매개변수

BeginDoc새 PDF 문서를 시작하고 Canvas를 통해 첫 페이지를 제공합니다
NewPage현재 캔버스를 PDF 페이지로 커밋하고 다음 페이지 캔버스를 엽니다
EndDoc최종 페이지를 커밋하고 대상이 지정되었으면 FileName을 씁니다
Abort대상 파일을 기록하지 않고 활성 작업을 폐기하며 구성 요소를 빈 문서로 재설정합니다
SetPageSizeBeginDoc 전에 세로 방향 용지 크기를 PDF 포인트 단위로 설정합니다

속성

CanvasBeginDoc와 EndDoc 또는 Abort 사이의 활성 VCL 캔버스
FileName선택적 PDF 출력 경로이며 빈 값은 결과를 LibraryInstance에만 유지합니다
Title작업 시작 시 적용할 문서 제목
DPI24에서 2400 사이의 캔버스 좌표 해상도이며 기본값은 96입니다
CanvasOptions-1부터 4까지의 Canvas 가져오기 모드이며 기본값은 벡터 모드 2
OrientationpoPortrait 또는 poLandscape이며 가로 방향은 구성된 용지 치수를 서로 바꿉니다
PaperWidth, PaperHeight1~14400 PDF 포인트 범위의 세로 방향 용지 크기
PageWidth, PageHeightDPI 및 방향 변환 후 캔버스 픽셀 단위의 읽기 전용 활성 치수
PageWidthPoints, PageHeightPointsPDF 포인트 단위의 읽기 전용 활성 치수
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를 설정합니다

참고 항목

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream