【pdf文件生成】如何将盖章的文件生成PDF文件

一、提出问题

在我们的工作中,有时候上级让下级将盖章的文件生成PDF文件通过内部平台发送到上级邮箱,那如何解决呢?是去找一个扫描仪,还是用手机拍图转。用Python基实就能实现。

二、分析问题

现在网上好多的软件都是收费的,转pdf,转word

三、pdf2docx模块的使用

1.安装模块

pip install pdf2docx  

2.介绍

pdf2docx是一个Python模块,可以用来将PDF文件转换成Word文档。它是基于Python的pdfminer和python-docx库开发的,可以在Windows、Linux和Mac系统上运行。

四、案例分析

1.单个文件转pdf

import pdf2docx

pdf2docx.convert(word.docx),

注意:pdf文件不用填加,在原目录自动生成。

2.多个word 转换成pdf

import docx2pdf
import os

pdf_path =r"C:\Users\lenovo\Desktop\test\\"
files = []
for file in os.listdir(pdf_path):
    if file.endswith(".docx"):
        files.append(pdf_path+file)
        print(files)
for file in files:
    print(file)
    docx2pdf.convert(str(file))
    file_name=file.split(".")[0]
    print(f"{file_name}转换成功!")

 

在 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` 是为了生成二维码,如果是普通印章,可能需要自定义图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青龙摄影

你的鼓励是我创作的动力,支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值