docs: def add(self, document=None, watermark=None, underneath=False, output=None, suffix='watermarked', method='pdfrw'):
          """
          Add a watermark file to an existing PDF document.
  
          Rotate and upscale watermark file as needed to fit existing PDF document.  Watermark can be overlayed or
          placed underneath.
  
          :param document: str
              PDF document full path
          :param watermark: str
              Watermark PDF full path
          :param underneath: bool
              Place watermark either under or over existing PDF document
          :param output: str
              Output file path
          :param suffix: str
              Suffix to append to existing PDF document file name
          :param method: str
              PDF library to be used for watermark adding
          :return: str
              Watermarked PDF Document full path
          """
          if self.use_receipt:
              self.receipt.add('WM Placement', 'Overlay')
          if not watermark:
              watermark = self.watermark
          if not document:
              document = self.document
          self.document = str(WatermarkAdd(document, watermark, output=output, underneath=underneath,
                                           tempdir=self.tempdir, suffix=suffix, method=method))
          if self.use_receipt:
              self.receipt.add('Watermarked PDF', os.path.basename(self.document))
          if self.open_file:
              open_window(self.document)
          return self.document