How to base64 encode a PDF file in Python

前端 未结 4 1034
天命终不由人
天命终不由人 2021-02-04 14:17

How should I base64 encode a PDF file for transport over XML-RPC in Python?

相关标签:
4条回答
  • 2021-02-04 14:33

    If you don't want to use the xmlrpclib's Binary class, you can just use the .encode() method of strings:

    a = open("pdf_reference.pdf", "rb").read().encode("base64")
    
    0 讨论(0)
  • 2021-02-04 14:37

    Looks like you might be able to use the binascii module

    binascii.b2a_base64(data)

    Convert binary data to a line of ASCII characters in base64 coding. The return value is the converted line, including a newline char. The length of data should be at most 57 to adhere to the base64 standard.

    0 讨论(0)
  • 2021-02-04 14:44

    You can do it with the base64 library, legacy interface.

    0 讨论(0)
  • 2021-02-04 14:52

    Actually, after some more digging, it looks like the xmlrpclib module may have the piece I need with it's Binary helper class:

    binary_obj = xmlrpclib.Binary( open('foo.pdf').read() )
    

    Here's an example from the Trac XML-RPC documentation

    
    import xmlrpclib 
    server = xmlrpclib.ServerProxy("http://athomas:password@localhost:8080/trunk/login/xmlrpc") 
    server.wiki.putAttachment('WikiStart/t.py', xmlrpclib.Binary(open('t.py').read())) 
    
    0 讨论(0)
提交回复
热议问题