def get_png_image_frompng( input_png_file, newWidth = None, verify = True ): assert( os.path.basename( input_png_file ).endswith( '.png' ) ) assert( os.path.isfile( input_png_file ) ) img = Image.open( input_png_file ) width, height = img.size files = { 'file' : open( input_png_file, 'rb' ) } apiKey = get_cloudconvert_api_key( ) params = { 'apikey' : apiKey, 'input' : 'upload', 'inputformat' : 'png', 'outputformat' : 'png', } if newWidth is not None: assert( isinstance( newWidth, int ) ) assert( newWidth > 10 ) newHeight = int( height * 1.0 * newWidth / width ) params['converteroptions[resize]'] = '%dx%d' % ( newWidth, newHeight ) # ## response = requests.post( "https://api.cloudconvert.com/convert", params = params, files = files, verify = verify ) if response.status_code != 200: raise ValueError("Error, could not upload and convert SVG file %s." % input_svg_file ) img = Image.open( StringIO( response.content ) ) return img
def get_png_image_frompdf( input_pdf_file, newWidth = None, verify = True ): assert( os.path.basename( input_pdf_file ).endswith( '.pdf' ) ) assert( os.path.isfile( input_pdf_file ) ) ipdf = PdfFileReader( open( input_pdf_file, 'rb' ) ) assert( ipdf.getNumPages() == 1 ) mbox = ipdf.getPage( 0 ).mediaBox files = { 'file' : open( input_pdf_file, 'rb' ) } width = int( mbox.getWidth( ) ) height = int( mbox.getHeight( ) ) apiKey = get_cloudconvert_api_key( ) params = { 'apikey' : apiKey, 'input' : 'upload', 'inputformat' : 'pdf', 'outputformat' : 'png', } if newWidth is not None: assert( isinstance( newWidth, int ) ) assert( newWidth > 10 ) newHeight = int( height * 1.0 * newWidth / width ) params['converteroptions[resize]'] = '%dx%d' % ( newWidth, newHeight ) # ## response = requests.post( "https://api.cloudconvert.com/convert", params = params, files = files, verify = verify ) if response.status_code != 200: raise ValueError("Error, could not upload and convert PDF file %s." % input_pdf_file ) img = Image.open( StringIO( response.content ) ) return img
def get_png_image( input_svg_file, newWidth = None, verify = True ): assert( os.path.basename( input_svg_file ).endswith( '.svg' ) or os.path.basename( input_svg_file ).endswith( '.svgz') ) assert( os.path.isfile( input_svg_file ) ) if os.path.basename( input_svg_file ).endswith( '.svgz' ): r = QSvgRenderer( QByteArray( gzip.open( input_svg_file, 'rb' ).read( ) ) ) files = { 'file' : gzip.open( input_svg_file, 'rb' ) } else: r = QSvgRenderer( input_svg_file ) files = { 'file' : open( input_svg_file, 'rb' ) } width = r.defaultSize().width() height = r.defaultSize().height() apiKey = get_cloudconvert_api_key( ) params = { 'apikey' : apiKey, 'input' : 'upload', 'inputformat' : 'svg', 'outputformat' : 'png', } if newWidth is not None: assert( isinstance( newWidth, int ) ) assert( newWidth > 10 ) newHeight = int( height * 1.0 * newWidth / width ) params['converteroptions[resize]'] = '%dx%d' % ( newWidth, newHeight ) # ## response = requests.post( "https://api.cloudconvert.com/convert", params = params, files = files, verify = verify ) if response.status_code != 200: raise ValueError("Error, could not upload and convert SVG file %s." % input_svg_file ) img = Image.open( StringIO( response.content ) ) return img