Book Class

plutoprint.Book

The main entry point for creating documents.

Constructor

Book(size: PageSize = PAGE_SIZE_A4, 
     margins: PageMargins = PAGE_MARGINS_NORMAL, 
     media: MediaType = MEDIA_TYPE_PRINT)
  • size: Initial PageSize.
  • margins: Initial PageMargins.
  • media: MEDIA_TYPE_PRINT or MEDIA_TYPE_SCREEN.

Methods

Loading Content

  • load_html(data: str, user_style: str = ..., user_script: str = ..., base_url: str = ...)
  • load_xml(data: str, user_style: str = ..., user_script: str = ..., base_url: str = ...)
  • load_url(url: str, user_style: str = ..., user_script: str = ...)
  • load_data(data: bytes|str, mime_type: str, ...)

Writing Output

  • write_to_pdf(path: str, page_start: int, page_end: int, page_step: int)
  • write_to_pdf_stream(stream: BinaryIO, ...)
  • write_to_png(path: str, width: int = -1, height: int = -1)
  • write_to_png_stream(stream: BinaryIO, ...)

Rendering

  • render_page(canvas: Canvas, page_index: int): Render a specific page to a generic canvas.
  • render_document(canvas: Canvas, rect: Tuple[float, ...]): Render the whole document.

Information

  • get_page_count(): Returns total pages.
  • get_document_width(), get_document_height()
  • set_metadata(metadata: PDFMetadata, value: str)