def addMetadata(self, inputstream, metadata): """Adds metadata to a PDF document""" reader = PdfReader(inputstream) outputstream = ByteArrayOutputStream() stp = PdfStamper(reader, outputstream, "\0") meta = reader.getInfo() for key in ('Subject', 'Author', 'Keywords', 'Title', 'Creator', 'CreationDate'): if key in metadata: meta.put(key, metadata[key]) stp.setMoreInfo(meta) stp.close() return outputstream