def BurnSudoOnPdf(path,numpage,diffarray):
pdf = PdfFileWriter()
# Using ReportLab Canvas to insert image into PDF
imgTemp = BytesIO()
imgDoc = canvas.Canvas(imgTemp, pagesize=A4)
# Draw image on Canvas and save PDF in buffer
pdfmetrics.registerFont(TTFont('VeraIt', 'VeraIt.ttf'))
for i in range(len(path)):
if ((i+1)%2==0):
x=345
else:
x=55
if (i<2):
y=590
elif (i<4):
y=320
else:
y=50
imgDoc.drawImage(path[i], x, y,200,200)
imgDoc.setFont('VeraIt', 9)
imgDoc.drawString(x+2,y+203,getStrDiff(diffarray[i]))
pdfmetrics.registerFont(TTFont('Vera', 'Vera.ttf'))
pdfmetrics.registerFont(TTFont('VeraBd', 'VeraBd.ttf'))
pdfmetrics.registerFont(TTFont('VeraIt', 'VeraIt.ttf'))
#pdfmetrics.registerFont(TTFont('VeraBI', 'VeraBI.ttf'))
imgDoc.setFont('Vera', 13)
imgDoc.drawString(30,820,"BurnYourPc Organization/")
imgDoc.setFont('VeraBd', 9)
imgDoc.drawString(197,820,"Sudoku Project")
imgDoc.setFont('VeraIt', 8)
imgDoc.drawString(430,20,"By PantelisPanka, nikfot, TolisChal")
imgDoc.setFont('Vera', 8)
imgDoc.drawString(550,820,str(numpage))
imgDoc.save()
# Use PyPDF to merge the image-PDF into the template
pdf.addPage(PdfFileReader(BytesIO(imgTemp.getvalue())).getPage(0))
pdf.write(open("output"+ str(numpage)+".pdf","wb"))
评论列表
文章目录