PDF签名
- 仓库介绍
- 介绍
- 使用
- 签名
- 其他
仓库介绍
仓库地址
该工具从签名照片中提取文字,并签名到PDF文档的指定位置。除此之外,该仓库还支持其他PDF操作,如合并、OCR、水印功能等。
介绍
该工具接受PDF文件和签名图片作为输入,并输出已签名的PDF文件。
示例结果:
在上面的图片中,您可以看到输入照片和输出结果的示例,完整的签名PDF文件可以在仓库路径files/example-pdf_signed.pdf中找到。
多数在线签名网站或工具是收费或限制使用次数的。该项目允许您无限制地使用。经过本人测试,该工具运行良好,可以取代许多在线签名网站。如果在使用中发现任何问题,请提交问题,如果您喜欢它或认为它有帮助,请考虑为该项目点赞。感谢您的贡献。
使用
在Python 3.X环境中,使用pip install -r requirements.txt
安装依赖项。
将输入文件放到./files
文件夹中,然后使用python main.py -h
命令来检查参数的含义。以下是签署PDF的基本参数:
'-b','--base-path',default='./files',type=str,help='要处理的PDF文件的基本路径'
'-t','--type-of-manipulation',required=True,type=str,
choices=['ocr','merge','split','watermark','signature'],
help="PDF操作的类型"
'-i','--input-files',required=True,nargs='+',help="输入PDF文件名,两个文件之间加一个空格"
'-s','--signature-file',type=str,help="签名图片文件名"
'-n','--signature-page-num',type=int,default=1,help="PDF文件的签名页码[1,+Inf)"
'-o','--signature-offset-xy',type=parse_two_numbers,default=[0,0],help="签名的x和y坐标的偏移比例。范围是[0,1]"
'-c','--signature-scale',type=float,default=1,help="缩放输入签名文件的比例(0,+inf),如果需要旋转签名,请将其设置为负值"
'-g','--gray-threshold',type=float,default=100,help="处理签名图像的灰度阈值[0,255]"
签名
- 拍摄一个个人签名照片,例如示例图片。
- 将签名照片和PDF文件放到
./files
文件夹中。 - 选择签名页码(-n)、灰度阈值(-g)、缩放(-c)和偏移比例(-o),后两个参数可能需要尝试几次以获得最佳结果。
- 页码从1开始。
- 灰度阈值的范围是[0,255],用于从照片中提取签名,对于大多数情况来说,默认值应该足够。如果不行,请进行调整并检查结果。
- 缩放的范围是[0,+inf),通常需要缩小签名的大小,例如0.3。将其设置为负值将旋转签名。
- 偏移比例按X,Y顺序排列,PDF页面的左上角是原点,Y是水平的,X是垂直的。范围是[0,1]。参见下图作为参考。
- 使用以上所述内容,运行程序进行签署。下面是使用此命令签署示例PDF的示例:
python main.py -t signature -i example-pdf.pdf -s example-signature.jpg -c 0.2 -n 2 -o 0.65,0.72
其他
以下是一些其他用法示例,假设您的输入文件位于./files文件夹中:
- OCR pdf并保存为txt文件
python main.py -t ocr -i a.pdf
- 将多个PDF合并为一个PDF文件
python main.py -t merge -i a.pdf b.pdf
- 将一个PDF拆分成多个PDF文件
python main.py -t split -i a.pdf
- 将水印添加到PDF文件的所有页面
python main.py -t watermark -i a.pdf -w watermark.pdf
;仅将水印添加到第一页(或最后一页)python main.py -t watermakr -i a.pdf -w watermark.pdf -p first
- 欢迎测试并反馈,谢谢。