class_docstr: default setting for report constants
docstr: Custom PDF
  
  Args:
      name (str, Optional): file name,
                 (default is 'report_file')
      path (str, Optional): output path
      dest (str, Optional): PDF destination (default 'F' == file)
docstr_tok: ["Custom","PDF","Args",":","name","(","str",",","Optional",")",":","file","name",",","(","default","is","'report_file","'",")","path","(","str",",","Optional",")",":","output","path","dest","(","str",",","Optional",")",":","PDF","destination","(","default","'","F","'","==","file",")"]
code: def __init__(self, name="pdf_report", *, path="./", dest="F") -> None:
      """
      Custom PDF
  
      Args:
          name (str, Optional): file name,
                     (default is 'report_file')
          path (str, Optional): output path
          dest (str, Optional): PDF destination (default 'F' == file)
      """
      self._name = name
      self._path = path
      self._dest = dest
      self._extension = "pdf"
  
      super(CustomPdf, self).__init__()
      # initialize for report information
      self._create_date = datetime.datetime.now().strftime(
          "%Y-%m-%d %H:%M"
      )
  
      # initialization for font
      # Font sample: https://www.dafont.com/linux-biolinum.font
      font_path = os.path.join(os.path.dirname(__file__), "fonts")
      self.add_font(
          "acm_title",
          "",
          os.path.join(font_path, "LinBiolinum_R.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_title",
          "B",
          os.path.join(font_path, "LinBiolinum_RB.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_title",
          "I",
          os.path.join(font_path, "LinBiolinum_RI.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_title",
          "IB",
          os.path.join(font_path, "LinBiolinum_aBL.ttf"),
          uni=True,
      )
  
      self.add_font(
          "acm_text",
          "",
          os.path.join(font_path, "LinLibertine_R.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_text",
          "B",
          os.path.join(font_path, "LinLibertine_RB.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_text",
          "I",
          os.path.join(font_path, "LinLibertine_RI.ttf"),
          uni=True,
      )
      self.add_font(
          "acm_text",
          "IB",
          os.path.join(font_path, "LinLibertine_RBI.ttf"),
          uni=True,
      )
      self.title_font = "acm_title"
      self.content_font = "acm_text"
  
      # initialization for format
      self.b = 0  # bold status
      self.i = 0  # italic status
      self.u = 0  # underline status
      self.x = None
      self.y = None
      self.global_x = None
      self.global_y = None
      self.href = ""
      self.page_links = {}
  
      self.itemize_level = 0  # current itemize level
      self.itemize_symbol = ""  # current itemize symbol
      self.foot_size = 15
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import warnings
  import datetime
  import re
  from fpdf import FPDF
label_desc: Use image node_id 1 to create a new CustomPdf object from inherited base classes: FPDF with example: obj = CustomPdf(name)