python-pdf添加水印
0、用到两个扩展模块:ReportLab、PyPDF2。
1、创建水印PDF。
1)、创建文字水印pdf文件
代码:
#encoding=utf-8
#author: walker
#date: 2014-03-17
#function: 创建文字水印pdf
from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
def create_watermark(content):
#默认大小为21cm*29.7cm
c = canvas.Canvas("mark.pdf", pagesize = (30*cm, 30*cm))
#移动坐标原点(坐标系左下为(0,0))
c.translate(10*cm, 5*cm) #设置字体
c.setFont("Helvetica", 80)
#指定描边的颜色
c.setStrokeColorRGB(0, 1, 0)
#指定填充颜色
c.setFillColorRGB(0, 1, 0)
#画一个矩形
c.rect(cm, cm, 7*cm, 17*cm, fill=1) #旋转45度,坐标系被旋转
c.rotate(45)
#指定填充颜色
c.setFillColorRGB(0.6, 0, 0)
#设置透明度,1为不透明
c.setFillAlpha(0.3)
#画几个文本,注意坐标系旋转的影响
c.drawString(3*cm, 0*cm, content)
c.setFillAlpha(0.6)
c.drawString(6*cm, 3*cm, content)
c.setFillAlpha(1)
c.drawString(9*cm, 6*cm, content) #关闭并保存pdf文件
c.save()
create_watermark('walker')
效果图:

原文:
https://www.aliyun.com/jiaocheng/457203.html
python-pdf添加水印的更多相关文章
- 如何在PDF中添加水印,PDF添加水印技巧
PDF文件现在的使用很是普遍,不管是工作中还是学习中都会使用到PDF文件,制作一个PDF文件就很辛苦的,我们要是想把PDF文件中添加水印防止抄袭的时候应该要怎么做呢,其实吧PDF文件添加水印还挺简单的 ...
- PDF如何添加水印,PDF添加水印工具的使用方法
PDF文件在编辑修改的时候是需要借助工具才可以编辑,PDF文件不像普通的文件可以直接打开编辑,PDF编辑工具是PDF文件进行编辑的重要工具,就以添加水印为例,能够在PDF中添加水印的工具有哪些呢?要怎 ...
- python PDF报表服务
先看牛逼的草图 知乎上刚看到类似的需求 Python Web导出有排版要求的PDF文件 关键技术
- PHP使用FPDF pdf添加水印中文乱码问题 pdf合并版本问题
---恢复内容开始--- require_once('../fpdf/fpdf.php');require_once('../fpdi/fpdi.php'); 使用此插件 pdf 合并 并添加水印 期 ...
- C#使用iTextSharp给PDF添加水印
代码: /// <summary> /// 添加普通偏转角度文字水印 /// </summary> public static void SetWatermark(string ...
- iTextSharp简单生成pdf和操作pdf添加水印
遇到需要导出页面到pdf,并添加pdf水印的业务.稍微研究了下,借阅网友的前车之鉴,经过使用可行之后的代码贴出来,做个记录,也供需要的网友借阅. public class PDFSetWaterMar ...
- C# PDF添加水印
需要iTextSharp.dll, 下载地址http://sourceforge.net/projects/itextsharp/ using System;using System.Collecti ...
- java 为pdf添加水印图片
首先需要引入两个Jar包分别是:iTextAsian.jar .itext-2.1.7.jar 可以去 http://download.csdn.net/detail/work201003/922 ...
- C#向pdf 添加水印
调用直接这样用: //PDFHelper.AddImageWatermarkPDF(path, "D://my.pdf", Server.MapPath("/HtmlTo ...
- arcgis python pdf合并
# -*- coding: cp936 -*- import arcpy, os, string #Read input parameters from script tool PDFList = s ...
随机推荐
- NSArray打印汉字的方法
(1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体例如以下: //依据设置的locale ...
- xml & < 需要转义
写了个request2XML的方法,每当数据中有'<'.'&'符号时,封装的XML就无法解析.发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析. 只 ...
- org.xml.sax.SAXParseException: prolog 中不允许有内容
org.xml.sax.SAXParseException: prolog 中不允许有内容 digester.fatalError 不下心踢了电源导致的错误应该是解析xml出问题,找了半天不知道哪个x ...
- error C2275: 'SOCKET' : illegal use of this type as an expression
在VC中编译xxx.c文件出现错误error C2275 illegal use of this type as an expression 问题在于C99之前要求所有的声明必须放在函数块的起始部分, ...
- PHP开启伪静态配置
1.检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启 ...
- Ext3.4--Gridpanel
Ext.onReady(function () { var sm = new Ext.grid.RowSelectionModel({singleSelect:true})//设置单选 //var s ...
- python2.0 s12 day8 _ python线程&python进程
1.进程.与线程区别2.cpu运行原理3.python GIL全局解释器锁4.线程 1.语法 2.join 3.线程锁之Lock\Rlock\信号量 4.将线程变为守护进程 5.Event事件 6.q ...
- HttpServletResponse status对应的状态信息
1xx - 信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. ·0 - 本地响应成功. · 100 - Continue 初始的请求已 ...
- surfaceView和View的区别
概念:view在UI线程去更新自己:而SurfaceView则在一个子线程中去更新自己 surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面 在UI的 ...
- 使用vue-cli结合express获取mongodb里面的数据
最近一直在看node有关的内容,空闲时间做了一个小小的爬虫,用于爬取电影天堂的数据然后写到mongodb里面,代码地址:https://github.com/fangming666/dianyingt ...