Book — 페이지별 포맷이 다른 문서

Book — 페이지별 포맷이 다른 문서

Book 클래스는 페이지마다 서로 다른 페이지 포맷과 페이지 페인터를 가질 수 있는 문서의 표현을 제공해요. 이 클래스는 Pageable 인터페이스를 사용해 PrinterJob과 상호작용해요.

출처: Java API Reference

본문

public class Book extends Object implements Pageable

Book은 각 페이지를 PrintablePageFormat 쌍으로 관리해요. 페이지별로 다른 용지 방향·크기나 다른 페인터를 쓸 수 있어 복잡한 문서를 인쇄할 때 유용해요.

생성자

  • Book() — 새롭고 빈 Book을 만들어요.

주요 메서드

  • getNumberOfPages() — 이 Book의 페이지 수를 반환해요.
  • getPageFormat(int pageIndex)pageIndex로 지정한 페이지의 PageFormat을 반환해요. 인덱스가 범위를 벗어나면 IndexOutOfBoundsException을 던져요.
  • getPrintable(int pageIndex) — 지정한 페이지의 Printable을 반환해요.
  • append(Printable painter, PageFormat page)Book 끝에 페이지를 추가해요. 이 페이지는 문서의 다음 페이지가 돼요.
  • append(Printable painter, PageFormat page, int numPages) — 같은 페인터·포맷으로 여러 페이지를 추가해요.
  • setPage(int pageNum, Printable painter, PageFormat page) — 지정한 인덱스의 페이지를 재설정해요.
Book book = new Book();
book.append(printable, pageFormat);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPageable(book);
job.print();

더 알아보기