电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python實現給PDF添加水印的方法

瀏覽:55日期:2022-06-29 10:36:59
前言

利用 PyPDF2 處理 PDF 文件,相關文檔:https://pythonhosted.org/PyPDF2/

本文針對 僅有 PDF 文件,而無相關 PDF 編輯器的情況下,給 PDF 添加水印。

一、前期準備

安裝 PyPDF2 ,命令提示框輸入:

pip install PyPDF2

新建 watermark.pdf 文件實際的水印,可以在此文件里修改水印文字的字體和位置。實現步驟: 新建 watermark.word ,【設計】 → to → 【水印】【自定義水印】 → to → 【文字水印】輸入【文字】,修改【字體】、【自號】、【顏色】和【板式】

Python實現給PDF添加水印的方法

Python實現給PDF添加水印的方法

效果

Python實現給PDF添加水印的方法

另存為 watermark.pdf

watermark.pdf.py 文件放在同一目錄下

Python實現給PDF添加水印的方法

二、代碼實現

// =============================================# @Time : 2021-01-24# @Author : AXYZdong# @CSDN : https://axyzdong.blog.csdn.net/# @FileName: PDFset.py# @Software: Python IDE// =============================================from PyPDF2 import PdfFileReader, PdfFileWriterdef add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out): '''把水印添加到pdf中''' pdf_output = PdfFileWriter() input_stream = open(pdf_file_in, ’rb’) pdf_input = PdfFileReader(input_stream, strict=False) # 獲取PDF文件的頁數 pageNum = pdf_input.getNumPages() # 讀入水印pdf文件 pdf_watermark = PdfFileReader(open(pdf_file_mark, ’rb’), strict=False) # 給每一頁打水印 for i in range(pageNum): page = pdf_input.getPage(i) page.mergePage(pdf_watermark.getPage(0)) page.compressContentStreams() # 壓縮內容 pdf_output.addPage(page) pdf_output.write(open(pdf_file_out, ’wb’))if __name__ == ’__main__’: pdf_file_in = ’基于matlab的控制系統與仿真-1_AXYZdong的博客-CSDN博客.pdf’ pdf_file_out = ’watermarked.pdf’ pdf_file_mark = ’watermark.pdf’ add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out)

效果

Python實現給PDF添加水印的方法

三、其他方法

// =============================================# @Time : 2021-01-24# @Author : AXYZdong# @CSDN : https://axyzdong.blog.csdn.net/# @FileName: PDFSet.py# @Software: Python IDE// =============================================from PyPDF2 import PdfFileReader, PdfFileWriterfrom reportlab.lib.units import cmfrom reportlab.pdfgen import canvasdef create_watermark(content): '''水印信息''' # 默認大小為21cm*29.7cm file_name = 'mark.pdf' c = canvas.Canvas(file_name, pagesize=(30*cm, 30*cm)) # 移動坐標原點(坐標系左下為(0,0)) c.translate(10*cm, 5*cm) # 設置字體 c.setFont('Helvetica', 30) # 指定描邊的顏色 c.setStrokeColorRGB(0, 1, 0) # 指定填充顏色 c.setFillColorRGB(0, 1, 0) # 旋轉45度,坐標系被旋轉 c.rotate(30) # 指定填充顏色 c.setFillColorRGB(0, 0, 0, 0.1) # 設置透明度,1為不透明 # c.setFillAlpha(0.1) # 畫幾個文本,注意坐標系旋轉的影響 for i in range(5): for j in range(10): a=10*(i-1) b=5*(j-2) c.drawString(a*cm, b*cm, content) c.setFillAlpha(0.1) # 關閉并保存pdf文件 c.save() return file_namedef add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out): '''把水印添加到pdf中''' pdf_output = PdfFileWriter() input_stream = open(pdf_file_in, ’rb’) pdf_input = PdfFileReader(input_stream, strict=False) # 獲取PDF文件的頁數 pageNum = pdf_input.getNumPages() # 讀入水印pdf文件 pdf_watermark = PdfFileReader(open(pdf_file_mark, ’rb’), strict=False) # 給每一頁打水印 for i in range(pageNum): page = pdf_input.getPage(i) page.mergePage(pdf_watermark.getPage(0)) page.compressContentStreams() # 壓縮內容 pdf_output.addPage(page) pdf_output.write(open(pdf_file_out, ’wb’))if __name__ == ’__main__’: pdf_file_in = ’基于matlab的控制系統與仿真-1_AXYZdong的博客-CSDN博客.pdf’ pdf_file_out = ’watermarked.pdf’ pdf_file_mark = create_watermark(’CSDN@AXYZdong’) add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out)

效果

Python實現給PDF添加水印的方法

四、總結 Python通過PyPDF2實現PDF添加水印,實際上就是將兩個PDF文件合并實現添加水?。? 第一種方法的水印文件是通過 word 另存為 PDF,第二種方法是自動創建一個 PDF 文件; 第二種方法與第一種相比,水印的字體不能隨意改變,不支持中文,省去了方法一中手動生成 PDF 水印的步驟; 第一種方法可以任意修改水印的位置和字體。 參考文獻

[1]:python pdf加水印[2]:Python中通過PyPDF2實現PDF添加水印

到此這篇關于Python實現給PDF添加水印的方法的文章就介紹到這了,更多相關Python PDF添加水印內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 北京开源多邦科技发展有限公司官网 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 精密光学实验平台-红外粉末压片机模具-天津博君 | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 营养师网,营养师考试时间,报名入口—网站首页 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 板式换热器_板式换热器价格_管式换热器厂家-青岛康景辉 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 非甲烷总烃分析仪|环控百科| 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 南京交通事故律师-专打交通事故的南京律师 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 急救箱-应急箱-急救包厂家-北京红立方医疗设备有限公司 |