PyPDF2默认不支持中文需要
1注册字体
from reportlab.pdfbase import pdfmetrics
2指定字体
from reportlab.pdfbase.ttfonts import TTFont
3创建pdf文件
from reportlab.pdfgen import canvas
##注册字体 TTFont('字体名字','字体路径')
pdfmetrics.registerFont(TTFont("简体中文","11.27/素材/bb.ttf")
#创建空白pdf文件
new_pdf = canvas.Canvas('11.27/files/new_pdf.pdf')
#写文字
#1)设置字体
new_pdf.setFont('简体中文',57)
#2)设置字体颜色
new_pdf.setFillColorRGB(0.5,0.5,0.5,0.5)
#3)渲染输出角度
new_pdf.rotate(35)
#4)写文字
new_pdf.drawString(400,250,"python永神")
#5)保存文件
new_pdf.save()
from PyPDF2 import PdfFileWriter,PdfFileReader
# 1 分别打开两个文件
pdf1 = PdfFileReader("pdf素材/pygame.pdf")
pdf2 = PdfFileReader("files/1.pdf") #水印
#准备两个页面
# ym1 = pdf1.getPage(0) #打开pdf1下标为0的pdf页面 .getPage获取指定的pdf页面
ym2 = pdf2.getPage(0) #水印页面
# #合并到页面1中
# ym1.mergePage(ym2) #。将页面2合并到页面1
# #保存到一个新文件中
# xs = PdfFileWriter()
# xs.addPage(ym1)
# xs.write(open("files/newPygame.pdf",'wb'))
#===============
xs1 = PdfFileWriter()
number = pdf1.getNumPages()#获取上面MySQl.pdf所有的页码
print(number)
for x in range(number):
ym3 = pdf1.getPage(x) #获取指定pdf页数
print(ym3) #
ym3.mergePage(ym2) #将页码2的水印pdf合并到ym3的指定pdf页中
xs1.addPage(ym3) #写入始终更在pdf3后面
xs1.write(open("files/2newPygame.pdf", "wb"))