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”的水印就加上了,文字随时可改,还不要钱,哈哈哈

相关文章
|
18天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
57 14
|
22天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
8天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
31 7
|
23天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
31 7
|
21天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
30 4
|
21天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
27天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
2月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
80 4
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
66 4
|
25天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####