code: def make_report(self, sections_first=True, section_header_params=None):
          
          full_story = list(self._preformat_text(self.title, style='Title',
                                                 fontsize=18, alignment='center'))
  
          # Set the default section header parameters
          if section_header_params is None:
              section_header_params = {'style': 'h1', 'fontsize': 14,
                                       'alignment': 'center'}
  
          # Merge the sections and the rest of the story.
          if sections_first:
              full_story += self._make_sections(**section_header_params)
              full_story += self.story
          else:
              full_story += self.story
              full_story += self._make_sections(**section_header_params)
  
          fname = self.name + '.pdf'
          doc = SimpleDocTemplate(fname, pagesize=letter,
                                  rightMargin=72, leftMargin=72,
                                  topMargin=72, bottomMargin=18)
          doc.build(full_story)
          return fname
docs: Create the pdf document with name `self.name + '.pdf'`.
  
          Parameters
          ----------
          sections_first : bool
              If True (default), text and images with sections are presented first
              and un-sectioned content is appended afterword. If False, sectioned
              text and images will be placed before the sections.
          section_header_params : dict or None
              Optionally overwrite/extend the default formatting for the section
              headers. Default is None.