• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pdfutils.readJPEGInfo函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中reportlab.pdfbase.pdfutils.readJPEGInfo函数的典型用法代码示例。如果您正苦于以下问题:Python readJPEGInfo函数的具体用法?Python readJPEGInfo怎么用?Python readJPEGInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了readJPEGInfo函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: __init__

 def __init__(self, filename, width=None, height=None, kind='direct', mask="auto", lazy=1):
     """If size to draw at not specified, get it from the image."""
     self.hAlign = 'CENTER'
     self._mask = mask
     fp = hasattr(filename,'read')
     if fp:
         self._file = filename
         self.filename = repr(filename)
     else:
         self._file = self.filename = filename
     if not fp and os.path.splitext(filename)[1] in ['.jpg', '.JPG', '.jpeg', '.JPEG']:
         # if it is a JPEG, will be inlined within the file -
         # but we still need to know its size now
         from reportlab.lib.utils import open_for_read
         f = open_for_read(filename, 'b')
         try:
             try:
                 info = pdfutils.readJPEGInfo(f)
             except:
                 #couldn't read as a JPEG, try like normal
                 self._setup(width,height,kind,lazy)
                 return
         finally:
             f.close()
         self.imageWidth = info[0]
         self.imageHeight = info[1]
         self._img = None
         self._setup(width,height,kind,0)
     elif fp:
         self._setup(width,height,kind,0)
     else:
         self._setup(width,height,kind,lazy)
开发者ID:halimath,项目名称:taskcardmaker,代码行数:32,代码来源:flowables.py


示例2: __init__

 def __init__(self, fileName,ident=None):
     if isinstance(fileName,ImageReader):
         self.__dict__ = fileName.__dict__   #borgize
         return
     self._ident = ident
     #start wih lots of null private fields, to be populated by
     #the relevant engine.
     self.fileName = fileName
     self._image = None
     self._width = None
     self._height = None
     self._transparent = None
     self._data = None
     if _isPILImage(fileName):
         self._image = fileName
         self.fp = getattr(fileName,'fp',None)
         try:
             self.fileName = self._image.fileName
         except AttributeError:
             self.fileName = 'PILIMAGE_%d' % id(self)
     else:
         try:
             from reportlab.rl_config import imageReaderFlags
             self.fp = open_for_read(fileName,'b')
             if isinstance(self.fp,_StringIOKlass):  imageReaderFlags=0 #avoid messing with already internal files
             if imageReaderFlags>0:  #interning
                 data = self.fp.read()
                 if imageReaderFlags&2:  #autoclose
                     try:
                         self.fp.close()
                     except:
                         pass
                 if imageReaderFlags&4:  #cache the data
                     if not self._cache:
                         from rl_config import register_reset
                         register_reset(self._cache.clear)
                     data=self._cache.setdefault(md5(data).digest(),data)
                 self.fp=getStringIO(data)
             elif imageReaderFlags==-1 and isinstance(fileName,(str,unicode)):
                 #try Ralf Schmitt's re-opening technique of avoiding too many open files
                 self.fp.close()
                 del self.fp #will become a property in the next statement
                 self.__class__=LazyImageReader
             if haveImages:
                 #detect which library we are using and open the image
                 if not self._image:
                     self._image = self._read_image(self.fp)
                 if getattr(self._image,'format',None)=='JPEG': self.jpeg_fh = self._jpeg_fh
             else:
                 from reportlab.pdfbase.pdfutils import readJPEGInfo
                 try:
                     self._width,self._height,c=readJPEGInfo(self.fp)
                 except:
                     annotateException('\nImaging Library not available, unable to import bitmaps only jpegs\nfileName=%r identity=%s'%(fileName,self.identity()))
                 self.jpeg_fh = self._jpeg_fh
                 self._data = self.fp.read()
                 self._dataA=None
                 self.fp.seek(0)
         except:
             annotateException('\nfileName=%r identity=%s'%(fileName,self.identity()))
开发者ID:Gogistics,项目名称:Readablity6174,代码行数:60,代码来源:utils.py


示例3: jpg_imagedata

 def jpg_imagedata(self):
     #directly process JPEG files
     #open file, needs some error handling!!
     self.source = 'JPEG'
     imageFile = open(self.image, 'rb')
     info = pdfutils.readJPEGInfo(imageFile)
     imgwidth, imgheight = info[0], info[1]
     if info[2] == 1:
         colorSpace = 'DeviceGray'
     elif info[2] == 3:
         colorSpace = 'DeviceRGB'
     else: #maybe should generate an error, is this right for CMYK?
         colorSpace = 'DeviceCMYK'
     imageFile.seek(0) #reset file pointer
     imagedata = []
     #imagedata.append('BI /Width %d /Height /BitsPerComponent 8 /ColorSpace /%s /Filter [/Filter [ /ASCII85Decode /DCTDecode] ID' % (info[0], info[1], colorSpace))
     imagedata.append('BI /W %d /H %d /BPC 8 /CS /%s /F [/A85 /DCT] ID' % (imgwidth, imgheight, colorSpace))
     #write in blocks of (??) 60 characters per line to a list
     compressed = imageFile.read()
     encoded = pdfutils._AsciiBase85Encode(compressed)
     outstream = getStringIO(encoded)
     dataline = outstream.read(60)
     while dataline <> "":
         imagedata.append(dataline)
         self.binaryData.append(dataline)
         dataline = outstream.read(60)
     imagedata.append('EI')
     return (imagedata, imgwidth, imgheight)
开发者ID:broodjeaap,项目名称:project-78-hr-2011-groep1,代码行数:28,代码来源:pdfimages.py


示例4: __init__

 def __init__(self, filename, width=None, height=None, kind='direct', mask="auto", lazy=1):
     """If size to draw at not specified, get it from the image."""
     self.hAlign = 'CENTER'
     self._mask = mask
     # if it is a JPEG, will be inlined within the file -
     # but we still need to know its size now
     fp = hasattr(filename,'read')
     if fp:
         self._file = filename
         self.filename = `filename`
     else:
         self._file = self.filename = filename
     if not fp and os.path.splitext(filename)[1] in ['.jpg', '.JPG', '.jpeg', '.JPEG']:
         from reportlab.lib.utils import open_for_read
         f = open_for_read(filename, 'b')
         try:
             info = pdfutils.readJPEGInfo(f)
         except:  #this is where we normally find a JPEG is corrupt.
             #if so, include filename to help people track it down.
             raise ValueError("Corrupt JPEG '%s', pdfutils.readJPEGInfo failed." % self.filename)
         f.close()
         self.imageWidth = info[0]
         self.imageHeight = info[1]
         self._img = None
         self._setup(width,height,kind,0)
     elif fp:
         self._setup(width,height,kind,0)
     else:
         self._setup(width,height,kind,lazy)
开发者ID:ShaulBarkan,项目名称:PRION,代码行数:29,代码来源:flowables.py


示例5: _jpg_imagedata

 def _jpg_imagedata(self,imageFile):
     self.source = 'JPEG'
     info = pdfutils.readJPEGInfo(imageFile)
     imgwidth, imgheight = info[0], info[1]
     if info[2] == 1:
         colorSpace = 'DeviceGray'
     elif info[2] == 3:
         colorSpace = 'DeviceRGB'
     else: #maybe should generate an error, is this right for CMYK?
         colorSpace = 'DeviceCMYK'
     imageFile.seek(0) #reset file pointer
     imagedata = []
     #imagedata.append('BI /Width %d /Height /BitsPerComponent 8 /ColorSpace /%s /Filter [/Filter [ /ASCII85Decode /DCTDecode] ID' % (info[0], info[1], colorSpace))
     imagedata.append('BI /W %d /H %d /BPC 8 /CS /%s /F [/A85 /DCT] ID' % (imgwidth, imgheight, colorSpace))
     #write in blocks of (??) 60 characters per line to a list
     compressed = imageFile.read()
     encoded = pdfutils._AsciiBase85Encode(compressed)
     pdfutils._chunker(encoded,imagedata)
     imagedata.append('EI')
     return (imagedata, imgwidth, imgheight)
开发者ID:tschalch,项目名称:pyTray,代码行数:20,代码来源:pdfimages.py


示例6: _jpg_imagedata

 def _jpg_imagedata(self, imageFile):
     info = pdfutils.readJPEGInfo(imageFile)
     self.source = "JPEG"
     imgwidth, imgheight = info[0], info[1]
     if info[2] == 1:
         colorSpace = "DeviceGray"
     elif info[2] == 3:
         colorSpace = "DeviceRGB"
     else:  # maybe should generate an error, is this right for CMYK?
         colorSpace = "DeviceCMYK"
     imageFile.seek(0)  # reset file pointer
     imagedata = []
     # imagedata.append('BI /Width %d /Height /BitsPerComponent 8 /ColorSpace /%s /Filter [/Filter [ /ASCII85Decode /DCTDecode] ID' % (info[0], info[1], colorSpace))
     imagedata.append(
         "BI /W %d /H %d /BPC 8 /CS /%s /F [%s/DCT] ID"
         % (imgwidth, imgheight, colorSpace, rl_config.useA85 and "/A85 " or "")
     )
     # write in blocks of (??) 60 characters per line to a list
     data = imageFile.read()
     if rl_config.useA85:
         data = pdfutils._AsciiBase85Encode(data)
     pdfutils._chunker(data, imagedata)
     imagedata.append("EI")
     return (imagedata, imgwidth, imgheight)
开发者ID:halimath,项目名称:taskcardmaker,代码行数:24,代码来源:pdfimages.py


示例7: __init__

 def __init__(self, fileName):
     if isinstance(fileName, PmlImageReader):
         self.__dict__ = fileName.__dict__   # borgize
         return
     #start wih lots of null private fields, to be populated by
     #the relevant engine.
     self.fileName = fileName
     self._image = None
     self._width = None
     self._height = None
     self._transparent = None
     self._data = None
     imageReaderFlags = 0
     if PILImage and isinstance(fileName, PILImage.Image):
         self._image = fileName
         self.fp = getattr(fileName, 'fp', None)
         try:
             self.fileName = self._image.fileName
         except AttributeError:
             self.fileName = 'PILIMAGE_%d' % id(self)
     else:
         try:
             self.fp = open_for_read(fileName, 'b')
             if isinstance(self.fp, StringIO.StringIO().__class__):
                 imageReaderFlags = 0  # avoid messing with already internal files
             if imageReaderFlags > 0:  # interning
                 data = self.fp.read()
                 if imageReaderFlags & 2:  # autoclose
                     try:
                         self.fp.close()
                     except:
                         pass
                 if imageReaderFlags & 4:  # cache the data
                     if not self._cache:
                         from rl_config import register_reset
                         register_reset(self._cache.clear)
                     data = self._cache.setdefault(md5(data).digest(), data)
                 self.fp = getStringIO(data)
             elif imageReaderFlags == - 1 and isinstance(fileName, (str, unicode)):
                 #try Ralf Schmitt's re-opening technique of avoiding too many open files
                 self.fp.close()
                 del self.fp  # will become a property in the next statement
                 self.__class__ = LazyImageReader
             if haveImages:
                 #detect which library we are using and open the image
                 if not self._image:
                     self._image = self._read_image(self.fp)
                 if getattr(self._image, 'format', None) == 'JPEG':
                     self.jpeg_fh = self._jpeg_fh
             else:
                 from reportlab.pdfbase.pdfutils import readJPEGInfo
                 try:
                     self._width, self._height, c = readJPEGInfo(self.fp)
                 except:
                     raise RuntimeError('Imaging Library not available, unable to import bitmaps only jpegs')
                 self.jpeg_fh = self._jpeg_fh
                 self._data = self.fp.read()
                 self._dataA = None
                 self.fp.seek(0)
         except:  # TODO: Kill the catch-all
             et, ev, tb = sys.exc_info()
             if hasattr(ev, 'args'):
                 a = str(ev.args[- 1]) + (' fileName=%r' % fileName)
                 ev.args = ev.args[: - 1] + (a,)
                 raise et, ev, tb
             else:
                 raise
开发者ID:deepcell,项目名称:xhtml2pdf,代码行数:67,代码来源:xhtml2pdf_reportlab.py



注:本文中的reportlab.pdfbase.pdfutils.readJPEGInfo函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python ttfonts.TTFont类代码示例发布时间:2022-05-26
下一篇:
Python pdfmetrics.stringWidth函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap