def convert_pdf_to_jpeg(log, pdf_data, page_num, reported_errors=None): pdf_file = temp_filename("pdf", pdf_data) jpeg_dir = create_temp_dir() if True: from calibre.ebooks.metadata.pdf import page_images page_images(pdf_file, jpeg_dir, first=page_num, last=page_num) for dirpath, dirnames, filenames in os.walk(jpeg_dir): if len(filenames) != 1: raise Exception("pdftoppm created %d files" % len(filenames)) if not (filenames[0].endswith(".jpg") or filenames[0].endswith(".jpeg")): raise Exception("pdftoppm created unexpected file: %s" % filenames[0]) with io.open(os.path.join(dirpath, filenames[0]), "rb") as of: jpeg_data = of.read() break else: raise Exception("pdftoppm created no files") return jpeg_data
def render(self): self.error = None try: page_images(self.pdfpath, self.tdir, last=10) except Exception as e: self.error = as_unicode(e) if not sip.isdeleted(self) and self.isVisible(): self.rendering_done.emit()
def render(self): self.current_tdir = os.path.join(self.tdir, str(self.first)) self.error = None try: os.mkdir(self.current_tdir) page_images(self.pdfpath, self.current_tdir, first=self.first, last=self.first + PAGES_PER_RENDER - 1) except Exception as e: if self.covers.count(): pass else: self.error = as_unicode(e) if not sip.isdeleted(self) and self.isVisible(): self.rendering_done.emit()
def render(self): self.current_tdir = os.path.join(self.tdir, unicode_type(self.first)) self.error = None try: os.mkdir(self.current_tdir) page_images(self.pdfpath, self.current_tdir, first=self.first, last=self.first + PAGES_PER_RENDER - 1) except Exception as e: if self.covers.count(): pass else: self.error = as_unicode(e) if not sip.isdeleted(self) and self.isVisible(): self.rendering_done.emit()
def main(path_to_html, tdir, image_format='jpeg'): if image_format not in ('jpeg', 'png'): raise ValueError('Image format must be either jpeg or png') must_use_qt() path_to_html = os.path.abspath(path_to_html) os.chdir(tdir) renderer = Render() renderer.start_load(path_to_html) ret = QApplication.instance().exec_() if ret == 0: page_images('rendered.pdf', image_format=image_format) ext = {'jpeg': 'jpg'}.get(image_format, image_format) atomic_rename('page-images-1.' + ext, 'rendered.' + image_format) return ret == 0