锐化PDF文档 强化可读性
最近下了几本PDF杂志,内容都是图片格式存储的,锐度比较差,字体看起来比较模糊。
以前还可以下到True PDF格式的杂志(文本格式),现在几乎下不到了。
搜到PDF2HD这个软件可以锐化PDF的页面,但是这个软件在Win 10下载好像有bug。
又找了一段Python代码用来处理PDF,发现也过时了,自己重新写了一段。
以下为使用 Python 脚本优化 PDF 文件中图像质量的示例代码:
from PIL import Image, ImageEnhance, ImageFilter import fitz # PyMuPDF # PDF 文件路径 pdf_path = 'original.pdf' resized_output_pdf = 'resized_output.pdf' # 打开 PDF 文件 pdf_document = fitz.open(pdf_path) # 处理每一页图像 resized_images = [] pdf_size = len(pdf_document) # 遍历每一页 for page_num in range(pdf_size): page = pdf_document.load_page(page_num) # 将页面渲染为图像 pix = page.get_pixmap() # 加载图像 image = Image.frombytes("RGB", [pix.width, pix.height], pix.samples) # 调整图像大小和质量 new_size = (image.width * 2, image.height * 2) resized_image = image.resize(new_size, Image.LANCZOS) # 增强对比度 contrast_enhancer = ImageEnhance.Contrast(resized_image) contrast_factor = 1 # 对比度增强因子 contrast_image = contrast_enhancer.enhance(contrast_factor) sharpened_image = contrast_image.filter(ImageFilter.UnsharpMask(radius=1, percent=175, threshold=3)) # 将图像添加到列表中,用于生成 PDF resized_images.append(sharpened_image) print(f'Sharpened Page {page_num+1} of {pdf_size}') pdf_document.close() # 将所有放大的图像保存为 PDF if resized_images: resized_images[0].save( resized_output_pdf, save_all=True, append_images=resized_images[1:], resolution=100.0, quality=95 ) print(f'Saved resized PDF as: {resized_output_pdf}')
有三个步骤,
第一,将PDF页面转换成图片
第二,放大、 增加对比度、锐化图片
第三,将处理后的图片集生成新的PDF
里面涉及了几个参数,大家可以根据注释进行修改。
发表评论