Como transformar um arquivo em Base64 GZip. Isso normalmente é usado para transportar arquivos entre cliente e servidores na web, como imagens, pdf e etc..
import urllib, cStringIO, base64
from gzip import GzipFile
file = open(pdf_file_path) # arquivo para ser compactado
pdf_gzip = cStringIO.StringIO()
gzip_content = GzipFile(mode='wb', fileobj=pdf_gzip) # informa memory stream para compactação em memória
gzip_content.write(file.read()) # escreve conteudo para compactação
gzip_content.close()
base64_gzip_content = base64.b64encode(pdf_gzip.getvalue()) # lê conteúdo compactado e converte para base64