当前位置: 首页 > wzjs >正文

关于销售网站建设的短文石柱土家族网站建设

关于销售网站建设的短文,石柱土家族网站建设,网站开发怎么兼容浏览器,网站页面制作多少钱文章目录0 引言1 解决思路及流程1.1 思路1.2 代码实现2 完整代码与效果3 总结0 引言 没错,这是连续剧。女友对上一篇【fitzOpenCV】去除PDF图片中的水印得到的去水印效果很满意,于是问我可不可以再帮她处理一下另一个PDF文件,我二话不说答应…

文章目录

    • 0 引言
    • 1 解决思路及流程
      • 1.1 思路
      • 1.2 代码实现
    • 2 完整代码与效果
    • 3 总结

0 引言

没错,这是连续剧。女友对上一篇【fitz+OpenCV】去除PDF图片中的水印得到的去水印效果很满意,于是问我可不可以再帮她处理一下另一个PDF文件,我二话不说答应了下来。原PDF文件是一本教材的电子版,每页都是一张图片,和上一篇文章中PDF的类型相同,不过本文中需要解决的问题是,原图中文字颜色太浅,看着费眼睛,如下图所示,需要将文字颜色加深。

image-20250710203703384

1 解决思路及流程

1.1 思路

在大致分析了PDF组成后(其中红色的为笔记标注,和页面图片单独存在),这个问题的解决思路也相当明晰了,便是将每页的图片单独提取出来,对图片进行文字加深处理,这里可以通过增加图片对比度实现(对比度就是画面中明暗部分的亮度比,对比度越高,则图像中明暗部分的差异就越大。根据这一原理,将对比度增大后,原本颜色较深的文字部分将会更深,反之,颜色较浅的背景将会更亮)。

1.2 代码实现

在代码方面中,我们依然采用fitzpip install PyMuPDF)作为PDF处理库,图片的处理则是基于图像库PILpip install pillow)。

首先我们打开待处理的PDF文件,对每页进行遍历,提取每页的图片,为了防止个别页面存在多张图片,又嵌套了个for循环以遍历页内图片。

doc = fitz.open(input_pdf)  # 打开原PDF
for page_num in range(len(doc)):# 获取页面图片page = doc.load_page(page_num)page_imgs = page.get_images()for page_img in page_imgs:xref = page_img[0]img_info = doc.extract_image(xref)img = Image.open(io.BytesIO(img_info["image"]))  # 转换为 PIL Image,方便处理

接下来处理每张图片,factor为对比度值,取1函数返回原图像,如果要增加图像对比度,该参数应大于1.0,本文示例中取3.0。

# 增强图片
enhancer = ImageEnhance.Contrast(img)  # 增强对比度(使文字更清晰)
enhanced_img = enhancer.enhance(factor=contrast)

用增强后的图片替换原图片,这一步仅仅改变了背景图片的信息,不影响前景的笔记标注。其中quality参数用于控制图像的质量,决定图像的体量与清晰度,progressive用于控制是否生成渐进式JPEG,实测该保存方式得到的图片体积更小,dpi参数用于控制图片两个方向的dpi。

# 替换原图片
bio = io.BytesIO()
enhanced_img.save(bio, format=img_info["ext"], quality=50, progressive=True, dpi=(300, 300))
page.replace_image(xref, stream=bio)

最后一步,在所有页面处理完成后,保存输出处理后的PDF。

# 保存PDF
doc.save(output_pdf)
doc.close()

2 完整代码与效果

完整代码如下:

import io
import fitz  # PyMuPDF
from PIL import Image, ImageEnhancedef process_pdf(input_pdf, output_pdf, contrast):doc = fitz.open(input_pdf)  # 打开原PDFfor page_num in range(len(doc)):# 获取页面图片page = doc.load_page(page_num)page_imgs = page.get_images()for page_img in page_imgs:xref = page_img[0]img_info = doc.extract_image(xref)img = Image.open(io.BytesIO(img_info["image"]))  # 转换为 PIL Image,方便处理# 增强图片enhancer = ImageEnhance.Contrast(img)  # 增强对比度(使文字更清晰)enhanced_img = enhancer.enhance(factor=contrast)# 替换原图片bio = io.BytesIO()enhanced_img.save(bio, format=img_info["ext"], quality=50, progressive=True, dpi=(300, 300))page.replace_image(xref, stream=bio)# 保存PDFdoc.save(output_pdf)doc.close()print(f"PDF处理完成!输出文件: {output_pdf}")if __name__ == "__main__":input_pdf = 'example.pdf'output_pdf = 'output.pdf'process_pdf(input_pdf, output_pdf, contrast=3.0)

处理效果如下图所示:

image-20250710212242933

效果还是不错的。

3 总结

该方法和上一篇文章中的方法存在一个共性问题,便是生成的PDF文件体量太大,比原本文件的大了近3~4倍,该问题打算后面有时间研究一下。


文章转载自:

http://rE4i2PNI.tgydf.cn
http://OoSkk8af.tgydf.cn
http://xfxMbu8t.tgydf.cn
http://7BoqNtQt.tgydf.cn
http://d80VQAve.tgydf.cn
http://TN43sdKE.tgydf.cn
http://uHspgra7.tgydf.cn
http://hWNGbUQ9.tgydf.cn
http://J92ufM2l.tgydf.cn
http://LIfmOTLZ.tgydf.cn
http://oxeHwG4U.tgydf.cn
http://zfBTO380.tgydf.cn
http://bH3qBzyF.tgydf.cn
http://Mk5GLLRv.tgydf.cn
http://lrCjy0Q9.tgydf.cn
http://uujtM4YP.tgydf.cn
http://KyBSoIUW.tgydf.cn
http://yMjbjQIr.tgydf.cn
http://DB35Uhcl.tgydf.cn
http://GZiT5af3.tgydf.cn
http://cNMDTFHQ.tgydf.cn
http://lIjiVJQm.tgydf.cn
http://z9xQ6GRA.tgydf.cn
http://I0QPFzES.tgydf.cn
http://uQg0E5Nf.tgydf.cn
http://7c1rT7q9.tgydf.cn
http://iYMHmMtM.tgydf.cn
http://VKWXPB1w.tgydf.cn
http://YEfMGGuv.tgydf.cn
http://woBYmx5g.tgydf.cn
http://www.dtcms.com/wzjs/729449.html

相关文章:

  • 快手自媒体平台昆明网站排名优化公司
  • 建设商务网站的方案金华网站建设公司哪家好
  • 企业网站托管收费标准网站备案平台
  • 网站一级目录Wordpress出现错误
  • 动态ip做网站影响seo吗一个人建网站赚钱
  • 烟台网站制作软件WordPress文章朗读功能
  • 网站建设代理平台有哪些公司网站格式
  • 做网站练手推广 电子商务网站建设
  • wordpress最好的插件沈阳专业seo
  • 最好的企业网站源码做算命网站挣钱么
  • 广州网站建设360网站优化网站目录结构模板
  • 自助免费建站西安做网站公司魔盒
  • 怎样用盒子做汽车视频网站wordpress近期文章小工具
  • 高端网站建设知识用ps设计网页页面
  • 做民宿哪个网站好北京手机网站开发
  • 深圳学校网站建设哪家好网站开发整体流程图
  • 申请网站建设的报告百度资源共享链接分享组
  • 深圳企业网站制作中心网站建设开发计入二级科目明细
  • 建设银行住房公积网站招商加盟网站建设
  • 公司建设一个网站首页企业网站建设的主要内容
  • 淄博建网站多少钱频繁从一个网站链接到另一个网站会影响百度收录么
  • 全景网站如何做apache建设多个网站
  • 医院系统网站建设科技成果转化网站建设
  • 二维码网页制作免费网站制作中国做出口的网站平台
  • 网站平台项目交接需要什么重庆装修公司口碑排名
  • 甘肃网站备案审核时间如何做网站的seo优化
  • 创意型网站南京科技网站设计多少钱
  • 做图标去什么网站找wordpress调用导航
  • huang色网站wordpress自动选择添加标签页
  • 做网站 知乎做外贸在那些网站找业务