code: def generate_pdfa_ps(target_filename, icc='sRGB'):
      
      if icc == 'sRGB':
          icc_profile = SRGB_ICC_PROFILE
      else:
          raise NotImplementedError("Only supporting sRGB")
  
      # pdfmark must contain the full path to the ICC profile, and pdfmark must be
      # also encoded in ASCII. ocrmypdf can be installed anywhere, including to
      # paths that have a non-ASCII character in the filename. Ghostscript
      # accepts hex-encoded strings and converts them to byte strings, so
      # we encode the path with fsencode() and use the hex representation.
      # UTF-16 not accepted here. (Even though ASCII encodable is the usual case,
      # do this always to avoid making it a rare conditional.)
      bytes_icc_profile = os.fsencode(icc_profile)
      hex_icc_profile = hexlify(bytes_icc_profile)
      icc_profile = '<' + hex_icc_profile.decode('ascii') + '>'
  
      t = Template(pdfa_def_template)
      ps = t.substitute(icc_profile=icc_profile, icc_identifier=icc)
  
      # We should have encoded everything to pure ASCII by this point, and
      # to be safe, only allow ASCII in PostScript
      Path(target_filename).write_text(ps, encoding='ascii')
docs: Create a Postscript pdfmark file for Ghostscript PDF/A conversion
  
      A pdfmark file is a small Postscript program that provides some information
      Ghostscript needs to perform PDF/A conversion. The only information we put
      in specifies that we want the file to be a PDF/A, and we want to Ghostscript
      to convert objects to the sRGB colorspace if it runs into any object that
      it decides must be converted.
  
      See the Adobe pdfmark Reference for details:
      https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdfmark_reference.pdf
  
      :param target_filename: filename to save
      :param icc: ICC identifier such as 'sRGB'
  
      :returns: a string containing the entire pdfmark