首页 > 其他分享 >pdf和图片的处理一记

pdf和图片的处理一记

时间:2022-12-06 09:46:22浏览次数:43  
标签:__ img res Image 一记 pdf main 图片

python是非常好用的一门语言,因为它有很多别人封装好底层逻辑的库,我们只需要用简单的函数调用或者经过并不复杂的初始化过程即可。最近要投递简历,所以在处理简历的时候遇到一个问题,就是生成了一份pdf简历,但有一页是多余的,一开始是用wps进行删除的,不过只进行删除然后保存一项操作,就要充钱了!!!吃相真难看!我是程序员,我还用你的逻辑吗?呸

截图转换成pdf

初始想法,是用截图的办法,来生成一张图片,然后使用pillow来进行处理(也就调用save函数,规定一下保存参数而已)。如下:

就一张截图,然后简单处理就可以了,需要说明的是下面用到的第三方库是pillow库:

from PIL import Image


def main():
    path = "resume.png"
    img = Image.open(path)
    img.load()
    background = Image.new('RGB', img.size, (255, 255, 255))
    background.paste(img, mask=img.split()[3]) # 3 is the alpha channel
    background.save('res.pdf', save_all=True)
    img.close()


if __name__ == '__main__':
    main()

其实个人处理,直接用python的交互界面就行了的,简单快捷。不过最后得到的效果不好,因为照片转过来后,默认的转换得到的pdf很模糊。

第二弹

上面失败后,就想着从之前已经下载好的pdf入手,因为有两页,所以想切换成图片对象,然后把图片对象保存为pdf。
用到的库是pymupdf和上面的pillow。

import fitz #pymupdf库
from PIL import Image


def main():
    # 保存第二页pdf为图片
    doc = fitz.open('balala.pdf')
    trans = fitz.Matrix(1.0, 1.0).prerotate(0)  #Matrix的参数是表示分辨率
    pix = doc[1].get_pixmap(matrix=trans, alpha=False)
    dpi = (pix.xres, pix.yres)
    img = Image.frombytes('RGB', (pix.width, pix.height), pix.samples)
    img.save('res.jpg', dpi=dpi)
    img.close()
    # 转换得到的图片为pdf
    img_pdf = Image.open('res.jpg')
    img_pdf.save('res.pdf', save_all=True)
    img_pdf.close()


if __name__ == "__main__":
    main()

嗯,满心欢喜打开一看。。。。。。妈哎,这都啥?比上面的还要模糊,生成的图片和pdf都是目标内容,但清晰度不够,没法子了,不搞转换那一套了,直接处理pdf!!!

pdf处理PyPDF2

如题所示,这里要用到的是PyPDF2这么一个库,不浪费时间,直接上代码:

# encoding=utf-8
# 主要用到的就库里面的读取对象和写入对象
from PyPDF2 import PdfFileReader, PdfFileWriter


def main():
    pdf = PdfFileReader(open('test.pdf', 'rb'))
    pdf_res = PdfFileWriter()
    pdf_res.addPage(pdf.getPage(1))    #第二页,所以index是1
    pdf_res.write(open('res.pdf', 'wb'))


if __name__ == "__main__":
    main()

嗯,这次总算是ok了。如果是交互界面进行的话,记得最后关掉cmd的python进程再查看结果pdf,不然会显示文件损坏。

标签:__,img,res,Image,一记,pdf,main,图片
From: https://www.cnblogs.com/Jack-artical/p/16954205.html

相关文章

  • 读取mnist灰度图片变成nparry并和已有的数据集连接在一起
    读入图片并处理把图片读入,变成nparray之后,经过标准化处理直接和原来的mnist数据连在一起即可importcsvimportrandomimportnumpyasnpimporttensorflowastffro......
  • SiteFactory支持pdf上传
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......
  • vue-quill-editor富文本编辑器使用(带图片上传至七牛云,后端为django)
    vue-quill-editor富文本编辑器使用(带图片上传至七牛云,后端为django)1.安装vue-quill-editornpminstallvue-quill-editor-S2.引入到项目中有两种挂载方式:全局挂载......
  • java通过poi导出excel和pdf
    【背景】  由于各户的需求,所以需要增加导出excel这个功能,其实大部分系统都需要这个导出功能的,所以这里也就不详细说明具体导出的背景了O(∩_∩)O~  干完导出exce......
  • uniapp使用canvas绘制两张图片合并为一张图并保存至手机(H5+小程序)
      需求:访客二维码图片,包含:1二维码  2访客信息1、二维码使用weapp-qrcode插件生成(canvas)2、访客信息绘制到背景canvas上3、最后,将二维码的canvas合并到背景can......
  • SiteFactory支持pdf一键上传
    ​ 当前功能基于PHP,其它语言流程大抵相同。大概流程:1.将docx文件上传到服务器中2.使用PHPoffice/PHPword实现将word转换为HTML3.将HTML代码返回并赋值到编辑器中......
  • Android实现图片的倒影效果
    原理:原图和倒影图分解成两个Bitmap,倒影的Bitmap设计为原图的高度一半,宽度一致。然后创建一个可变空的Bitmap,宽度跟原图保持一致,宽度为原图的1.5倍(宽度包括原图和倒影图......
  • 如何通过Java将Word转换为PDF
    Word是我们日常编辑文档内容时十分常用的一种文档格式。但相比之下,PDF文档的格式、布局更为固定,不易被更改。在保存或传输较为重要的文档内容时,PDF文档格式也时很多人的不......
  • SiteFactory支持pdf一键导入
    ​ 百度ueditor新增的将word内容导入到富文本编辑框的功能怎么没有啊,...ueditor实现word文档的导入和下载功能的方法:1、UEditor没有提供word的导入功能,只能说是粘贴复......
  • 极验《营销活动中的黑产薅羊毛分析报告》PDF完整版发布
    随着网络技术的发展,电子商务影响我们的日常生活,其面临的行业风险也在不断增加。从营销拉新到注册登录,从下单支付到售后评论,各个环节都充斥着业务风险,其中,最广为人知的便是“......