Exemplo n.º 1
0
 def writeToStream(self, stream, encryption_key):
     bytearr = self
     if encryption_key:
         bytearr = RC4_encrypt(encryption_key, bytearr)
     stream.write("<")
     stream.write(bytearr.encode("hex"))
     stream.write(">")
Exemplo n.º 2
0
 def writeToStream(self, stream, encryption_key):
     bytearr = self
     if encryption_key:
         bytearr = RC4_encrypt(encryption_key, bytearr)
     stream.write(b_("<"))
     stream.write(utils.hexencode(bytearr))
     stream.write(b_(">"))
Exemplo n.º 3
0
 def writeToStream(self, stream, encryption_key):
     self[NameObject("/Length")] = NumberObject(len(self._data))
     DictionaryObject.writeToStream(self, stream, encryption_key)
     del self["/Length"]
     stream.write("\nstream\n")
     data = self._data
     if encryption_key:
         data = RC4_encrypt(encryption_key, data)
     stream.write(data)
     stream.write("\nendstream")
Exemplo n.º 4
0
 def writeToStream(self, stream, encryption_key):
     # Try to write the string out as a PDFDocEncoding encoded string.  It's
     # nicer to look at in the PDF file.  Sadly, we take a performance hit
     # here for trying...
     try:
         bytearr = encode_pdfdocencoding(self)
     except UnicodeEncodeError:
         bytearr = codecs.BOM_UTF16_BE + self.encode("utf-16be")
     if encryption_key:
         bytearr = RC4_encrypt(encryption_key, bytearr)
         obj = ByteStringObject(bytearr)
         obj.writeToStream(stream, None)
     else:
         stream.write(b_("("))
         for c in bytearr:
             if not chr_(c).isalnum() and c != b_(' '):
                 stream.write(b_("\\%03o" % ord_(c)))
             else:
                 stream.write(b_(chr_(c)))
         stream.write(b_(")"))
Exemplo n.º 5
0
 def writeToStream(self, stream, encryption_key):
     # Try to write the string out as a PDFDocEncoding encoded string.  It's
     # nicer to look at in the PDF file.  Sadly, we take a performance hit
     # here for trying...
     try:
         bytearr = encode_pdfdocencoding(self)
     except UnicodeEncodeError:
         bytearr = codecs.BOM_UTF16_BE + self.encode("utf-16be")
     if encryption_key:
         bytearr = RC4_encrypt(encryption_key, bytearr)
         obj = ByteStringObject(bytearr)
         obj.writeToStream(stream, None)
     else:
         if bytearr == "/Page":  # correction by Dysmas : otherwise writes (\057Page) instead of /Page, which is valid but not supported by poppler
             stream.write(bytearr)
         else:
             stream.write("(")
             for c in bytearr:
                 if not c.isalnum() and c != ' ':
                     stream.write("\\%03o" % ord(c))
                 else:
                     stream.write(c)
             stream.write(")")