示例#1
0
 def convert_pdf(self, pdf_data):
     """Converts PDF to PNG images. Returns an array of PNG data."""
     asset = conversion.Asset('application/pdf', pdf_data, 'sheet.pdf')
     conversion_request = conversion.Conversion(asset, 'image/png')
     result = conversion.convert(conversion_request)
     if result.assets:
         return [asset.data for asset in result.assets]
     else:
         raise Exception('Conversion failed: %d %s'
                 % (result.error_code, result.error_text))
示例#2
0
 def post(self):
     logging.info('processing %s ' % (self.request.url))
     content = self.request.get('src')
     asset = conversion.Asset("text/html", content, "Content.html")
     conversion_obj = conversion.Conversion(asset, "application/pdf")
     result = conversion.convert(conversion_obj)
     if result.assets:
         for asset in result.assets:
             self.response.headers['Content-Type'] = "application/pdf"
             self.response.out.write(asset.data)
     else:
         self.response.out.write('Error Code : %s <br/>Error Text : %s' % (result.error_code, result.error_text))
示例#3
0
    def test_conversion():
        from google.appengine.api import conversion

        asset = conversion.Asset('text/html', u'<html><head><meta charset=\'utf-8\'></head><body>testtest<br/>てすと</body></head></html>'.encode('utf-8'), 'index.html')
        conversion_obj = conversion.Conversion(asset, 'application/pdf')

        # async
        #rpc = conversion.create_rpc()
        #conversion.make_convert_call(rpc,  conversion_obj)
        #result = rpc.get_result()

        result = conversion.convert(conversion_obj)
        if result.assets:
            return result.assets[0].data
        else:
            raise 
示例#4
0
def convert_html(f, title, entries, output_type='application/pdf'):
    try:
        html = render('pdf.html', {'title': title, 'entries': entries})
        asset = conversion.Asset('text/html', deunicode(html))
        conversion_request = conversion.Conversion(asset, output_type)

        result = conversion.convert(conversion_request)

        if result and result.assets:
            for i in result.assets:
                f.write(i.data)
            return None
        else:
            logging.error('Conversion error: %s', result.error_text)
            return result.error_text
    except Exception, e:
        logging.error('Conversion exception: %s', e)
        return str(e)
示例#5
0
文件: utils.py 项目: muldrow/journalr
def convert_html(f, title, entries, output_type='application/pdf'):
	try:
		html = render('pdf.html', {'title': title, 'entries': entries})
		asset = conversion.Asset('text/html', deunicode(html))
		conversion_request = conversion.Conversion(asset, output_type)

		result = conversion.convert(conversion_request)

		if result and result.assets:
			for i in result.assets:
				f.write(i.data)
			return None
		else:
			logging.error('Conversion error: %s', result.error_text)
			return result.error_text
	except Exception, e:
		logging.error('Conversion exception: %s', e)
		return str(e)
示例#6
0
def convertPdf(data,
               imageWidth=1000,
               dstContentType='image/png',
               fileName='dummyFileName',
               pageNumber=None):
    """
    Pass in the raw binary PDF data. Returns the raw binary image data
    result after rasterization.
    """
    asset = conversion.Asset("application/pdf", data, fileName)
    requestKwargs = {'image_width': imageWidth}
    if pageNumber is not None:
        requestKwargs.update({'first_page': pageNumber, 'last_page': pageNumber})
    conversionObj = conversion.Conversion(asset, dstContentType, **requestKwargs)

    result = conversion.convert(conversionObj)
    if result.assets:
        return result.assets[0].data
    else:
        raise PdfConversionError('%s [code %s]' % (result.error_text, result.error_code))
示例#7
0
def convert_html(f, title, entries, output_type='application/pdf'):
	try:
		html = render('pdf.html', {'title': title, 'entries': entries})
		asset = conversion.Asset('text/html', deunicode(html))
		conversion_request = conversion.ConversionRequest(asset, output_type)

		for entry, content, blobs in entries:
			for b in blobs:
				if b.type == models.BLOB_TYPE_IMAGE:
					data = blobstore.BlobReader(b.blob, buffer_size=1048576).read()
					conversion_request.add_asset(conversion.Asset(b.blob.content_type, data, str(b.key())))

		result = conversion.convert(conversion_request)

		if result and result.assets:
			for i in result.assets:
				f.write(i.data)
			return None
		else:
			logging.error('Conversion error: %s', result.error_text)
			return result.error_text
	except Exception, e:
		logging.error('Conversion exception: %s', e)
		return str(e)