Python办公自动化:给pdf加水印

简介: Python办公自动化:给pdf加水印

本期,利用python来给pdf文件加水印,我们先来看看wps能不能做这个事情。

可以还是可以的,但需要付费 ,一年118 。但有了python,不存在付费情况,直接上代码:


import PyPDF2from PyPDF2 import PdfFileReader, PdfFileWriterfrom reportlab.lib.units import cmfrom reportlab.pdfgen import canvas
#创建一个水印文件def 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("songti", 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_name
create_watermark(r'半个码农2018')
# 打开原文件和水印图片文件pdf_file = open('input.pdf', 'rb')watermark_file = open('mark.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# 创建一个PdfFileWriter对象pdf_writer = PyPDF2.PdfFileWriter()
# 获取水印图片文件watermark = PyPDF2.PdfFileReader(watermark_file)
# 遍历原文件的每一页,添加水印for page_num in range(pdf_reader.getNumPages()):    page = pdf_reader.getPage(page_num)    page.mergePage(watermark.getPage(0))    pdf_writer.addPage(page)
# 保存加水印后的文件result_pdf = open('加水印后文件.pdf', 'wb')pdf_writer.write(result_pdf)result_pdf.close()
# 关闭文件pdf_file.close()watermark_file.close()

跑一遍,看看效果:

这不,“半个码农2018”的水印就加上了,文字随时可改,还不要钱,哈哈哈

相关文章
|
8月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
456 0
|
6月前
|
机器学习/深度学习 文字识别 Shell
高效率办公PDF批量处理:批量OCR识别PDF区域文字内容,用PDF内容批量改名或导出表格的货物运单应用案例
针对铁路货运物流单存档需求,本项目基于WPF与飞桨OCR技术,实现批量图片多区域文字识别与自动重命名。用户可自定义识别区域,系统提取关键信息(如车号、批次号)并生成规范文件名,提升档案管理效率与检索准确性,支持PDF及图像文件处理。
963 48
|
9月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
6月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1119 2
|
7月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
9月前
|
存储 数据采集 数据可视化
Python自动化分析知网文献:爬取、存储与可视化
Python自动化分析知网文献:爬取、存储与可视化
|
9月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
325 1
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
1254 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路

推荐镜像

更多