在pdf中加入文本内容(中文)(python 3.7) |
您所在的位置:网站首页 › pdf加文字 › 在pdf中加入文本内容(中文)(python 3.7) |
Emm因为我最近在参与报账,想在电子发票下面加一行字,这样每次就可以直接打印电子发票,不想再一遍遍手写同样的话了。 *需求:在已有pdf中,加入自定义文本。 实现如下: #-*- coding = utf-8 -*- #@Time : 2020/12/13 18:13 #@Author :Anq1 #@File : add_text.py #@Software : PyCharm from PyPDF2 import PdfFileWriter, PdfFileReader import io from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter,A4 #纸大小 from reportlab.pdfbase import pdfmetrics #可以写中文 from reportlab.pdfbase.ttfonts import TTFont pdfmetrics.registerFont(TTFont("SimSun", "SimSun.ttf")) # 应用注册的字体,github自己下一个,别忘了放在正确位置 packet = io.BytesIO() # 使用Reportlab创建一个新的PDF can = canvas.Canvas(packet, pagesize=A4) can.setFont("SimSun", 18) can.drawString(200, 50, "此发票票据实际粘贴附件 张,金额共 元。") can.save() #buffer从偏移0开始 packet.seek(0) new_pdf = PdfFileReader(packet) #读取已有的PDF existing_pdf = PdfFileReader(open(r'C:\Users\user\Desktop\《软件体系结构》名词解释.pdf', "rb")) output = PdfFileWriter() # page = existing_pdf.getPage(0) page.mergePage(new_pdf.getPage(0)) output.addPage(page) # 最后,向目标的pdf写出 outputStream = open("destination.pdf", "wb") output.write(outputStream) outputStream.close()(注:这里只实现了一页,多页pdf的话for循环pdf.getpage就好。) 因为这里放发票不太好。。所以读取的已有pdf是随便找的= =,效果如下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |