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