first Upload

This commit is contained in:
Sebastian Serfling
2025-02-11 12:39:12 +01:00
commit f9662c488e
7 changed files with 2015 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
import openpyxl
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.pdfmetrics import stringWidth
from reportlab.pdfbase.ttfonts import TTFont
import os
from PyPDF2 import PdfFileReader, PdfFileMerger
pdfmetrics.registerFont(TTFont('Arial', 'Arial.ttf'))
wb = openpyxl.load_workbook('Excel_Export Stand(31.08).xlsx')
sheet = wb.get_sheet_by_name("01-08")
# print(sheet.cell(2,2).value)
page_width = 2156
page_height = 3050
start = 200
start_2 = 700
spread = 80
categories = ["Roll Number: ", "Name: ", "Gender: ", "Age: ", "Board: ", "City: ", "Email: "]
university = "NED University Of Engineering And Technology"
def create_data():
for i in range(2, 14):
std_id = sheet.cell(row=i, column=1).value
std_name = sheet.cell(row=i, column=2).value
std_gender = sheet.cell(row=i, column=3).value
std_age = sheet.cell(row=i, column=4).value
std_board = sheet.cell(row=i, column=5).value
std_city = sheet.cell(row=i, column=6).value
std_email = sheet.cell(row=i, column=8).value
data = [std_id, std_name, std_gender, std_age, std_board, std_city, std_email]
c = canvas.Canvas(str(std_name) + '.pdf')
c.setPageSize((page_width, page_height))
c.setFont('Arial', 80)
text_width = stringWidth(university, 'Arial', 80)
c.drawString((page_width - text_width) / 2, 2900, university)
y = 2500
for x in range(0, 7):
c.setFont('Arial', 40)
c.drawString(start, y, categories[x])
c.drawString(start_2, y, str(data[x]))
y -= spread
c.save()
def merge_data():
files_dir = 'pytopdf'
pdf_files = [f for f in os.listdir(files_dir) if f.endswith('.pdf')]
merger = PdfFileMerger()
for filename in pdf_files:
merger.append(PdfFileReader(os.path.join(files_dir, filename, 'rb')))
merger.write(os.path.join(files_dir, 'merged_data.pdf'))
create_data()
merge_data()