PymuPDF实现PDF文字和图片的修改
生活随笔
收集整理的這篇文章主要介紹了
PymuPDF实现PDF文字和图片的修改
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
實現(xiàn)了PymuPDF替換pdf指定位置文字和圖片的功能,并分別保存pdf和JPG格式.
#-*- coding:utf-8 -*- import os import PyPDF2 import fitz text = u"湖南省湘潭市雨湖區(qū)鶴嶺鎮(zhèn)長安村永紅組" file_path = r'D:Desktop新建文件夾' for root,dirs,files in os.walk(file_path): for file in files: print(file) if file.upper().endswith('FWT.PDF'): print(file.upper()) pdfPath=os.path.join(root,file) print(pdfPath) doc = fitz.open(pdfPath) page=doc[0] #方法1插入一個空白圖片或者直接插入帶文字的圖片(效果有出入) # rect=fitz.Rect(1050,-4260,2600,-4150) #替換坐落為空白區(qū)域--需要調(diào)試位置, # pix=fitz.Pixmap(r"D: .jpg") # page.insert_image(rect,pixmap=pix,overlay=True) #方法2插入空白區(qū)域,再插入文本 page.draw_rect((1050,-4255,2600,-4150),color=(1,1,1),fill=(1,1,1),width=0) #方法1繪制白色無框矩形覆蓋地址 #方法1,定義字體文件會比直接調(diào)用PDF體積小一些 fontname="SimHei" ,fontfile=r"C:WindowsFontssimhei.ttf" ff=page.insert_font(fontname="HT",fontfile=r"C:WindowsFontssimhei.ttf", fontbuffer=None , set_simple=False ) #定義黑體 page.insert_text((1150,-4190),text,fontname="HT" ,fontsize=86 ,color=(0,0,0,1), fill=None, render_mode=0, border_width=1, rotate=0, morph=None, overlay=True) #方法2:定義CJK內(nèi)置字體,默認(rèn)china-s默認(rèn)為黑體,但是在非福昕閱讀器當(dāng)中顯示有異常,直接導(dǎo)出JPG也顯示有異常(棄用) #page.insert_text((1150,-4190),text,fontname="china-t" ,fontsize=86 ,color=(0,0,0,1), fill=None, render_mode=0, border_width=1, rotate=0, morph=None, overlay=True) #https://pymupdf.readthedocs.io/en/latest/page.html#Page.insert_font 參照 CJK內(nèi)置字體china-s 黑體 china-ss 宋體 china-t 繁體黑體 china-ts 繁體宋體 print('導(dǎo)出:',r"D:Desktop新建文件夾2_1.PDF" ) #print('導(dǎo)出:',os.path.splitext(pdfPath)[0]+"_1.PDF" ) doc.save(r"D:Desktop新建文件夾2_1.PDF",garbage=4, deflate=True) #PDF導(dǎo)出圖片-并提升導(dǎo)出圖片分辨率2倍 zoom_x = 2.0 zomm_y = 2.0 m mat = fitz.Matrix(zoom_x, zomm_y) pix = page.get_pixmap(matrix=mat,alpha=0) # alpha=0 白色背景 pix.save(r"D:Desktop新建文件夾2_1.JPG") #直接保存成jpg 不處理,清晰度低
時間的步伐有三種:未來姍姍來遲,現(xiàn)在像箭一樣飛逝,過去永遠(yuǎn)靜立不動.務(wù)請珍惜
總結(jié)
以上是生活随笔為你收集整理的PymuPDF实现PDF文字和图片的修改的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven常见问题汇总
- 下一篇: 我的MBTI小测试