用 pageoffice 实现 pdf 文件签字盖章

电子签名/签章的使用场景有哪些?

  • 1、 电子报告

  • 2、 证书电子版固化

  • 3、 企业工作流审批

  • 4、 电商订单存证

  • 5、 系统单据保全

为什么要在pdf 文件上盖章?

在很多合同签订的过程中,很多人直接将公司的公章扫描成图片格式,比如 jpeg  bmp gif 等等,然后在插入 word 或者 excel 中,这样操作极大增加了安全隐患,因为图片格式的公章很容易被复制到其他的文档中。

PDF 作为一种版式文档,版面固定、不跑版,使电子文档在使用过程中,呈现效果不因软硬件环境、操作者的变化而变化,在版式、版面、字体、字号等方面与纸质文件保持完全一致。是目前比较安全的文件格式。

 

所以今天给大家分享一个 给pdf 文档在线盖章的方法。pageoffice 实现pdf 文件的签字盖章

1:生成 pdf 电子文件的方法

(1)纸质文件扫描成pdf 文件

(2)pageoffice 在线把 word  或者 excel 文件转换 成pdf 文件(可以参考一下这个篇文章https://my.oschina.net/u/3507515/blog/1810161

2:盖章

(核心代码)

//添加盖章的自定义按钮
pdfCtrl.addCustomToolButton("加盖印章", "InsertSeal()", 2);
//添加签字的自定义按钮
pdfCtrl.addCustomToolButton("签字", "AddHandSign()", 3);
//盖章的js方法
function InsertSeal() {
		try {
			document.getElementById("PDFCtrl1").ZoomSeal.AddSeal();//如果使用ZoomSeal中的USBKEY方式盖章,第一个参数不能为盖章用户登录名,只能为null或者空字符串
		} catch(e) {}
	}
//签字的js 方法
function AddHandSign() {
		try {
		
            document.getElementById("PDFCtrl1
在 PyQt 中实现 PDF 文件盖章功能通常涉及到两个步骤:首先读取 PDF 文件,然后使用第三方库,比如 `PyPDF2` 或者更现代一些的 `qrcodegen` 来添加水印或印章。以下是基于 `PyPDF2` 的简单示例: 1. 安装所需库: ```bash pip install PyPDF2 qrcode ``` 2. 导入库并加载 PDF: ```python import os from PyPDF2 import PdfFileWriter, PdfFileReader from PIL import Image import qrcode # 加载 PDF 文件 with open('input.pdf', 'rb') as input_pdf: reader = PdfFileReader(input_pdf) # 获取页数 num_pages = reader.getNumPages() # 创建一个新的 PDFWriter 对象,用于写入盖章后的 PDF writer = PdfFileWriter() ``` 3. 生成二维码或印章图像: ```python # 例如生成 QR 二维码(替换为你的印章或公司的 logo 图像) qr_data = "Your Company Seal Information" # 二维码内容 qr = qrcode.QRCode(version=1, box_size=10, border=5) qr.add_data(qr_data) qr.make(fit=True) img = qr.make_image(fill='black', back_color='white') # 使用 PIL 转换为 PDF 以便嵌入 img_pdf = img.convert("RGB") img_stream = io.BytesIO() img_pdf.save(img_stream, format="PNG") img_bytes = img_stream.getvalue() ``` 4. 添加印章到每个页面: ```python for page_num in range(num_pages): page = reader.getPage(page_num) page.mergePage(writer.addBlankPage()) # 如果需要在每页上都盖章,就合并新的空白页 # 在指定位置插入二维码图像 img_page = Image.open(io.BytesIO(img_bytes)) img_page = img_page.resize((100, 100)) # 根据需求调整大小 page.mergeTranslatedPage(img_page, 50, 50) # 指定印章位置,这里假设水平居中放置 writer.addPage(page) ``` 5. 将写好的 PDF 输出: ```python # 打开一个名为“output.pdf”的输出文件 with open('output.pdf', 'wb') as output: writer.write(output) ``` 请注意,这只是一个基础示例,实际应用可能需要处理更多细节,比如错误处理、用户交互等。同时,`qrcodegen` 是为了生成二维码,如果是普通印章,可能需要自定义图像。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值