示例#1
0
	def _replace_image(self, img_xref, resampled_image):
		image_meta = self._pdf.lookup(img_xref).content
		alpha_xref = image_meta.get(PDFName("/SMask"))

		new_image_obj = PDFObject.create_image(img_xref.objid, img_xref.gennum, resampled_image, alpha_xref = alpha_xref)
		self._pdf.replace_object(new_image_obj)
		if resampled_image.alpha:
			new_alpha_obj = PDFObject.create_image(alpha_xref.objid, alpha_xref.gennum, resampled_image.alpha)
			self._pdf.replace_object(new_alpha_obj)
	def run(self):
		reformatter = ImageReformatter(lossless = True, scale_factor = 1)
		for image_obj in self._pdf.image_objects:
			if PDFName("/SMask") in image_obj.content:
				current_image = self._pdf.get_image(image_obj.xref)
				flattened_image = reformatter.flatten(current_image, background_color = self._args.background_color)

				flattened_image_obj = PDFObject.create_image(image_obj.xref.objid, image_obj.xref.gennum, flattened_image)
				self._pdf.replace_object(flattened_image_obj)