56 lines
2.4 KiB
Python
56 lines
2.4 KiB
Python
|
|
from reportlab.lib.pagesizes import A4
|
|
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer
|
|
from reportlab.lib.styles import getSampleStyleSheet
|
|
|
|
dokumen = [
|
|
{
|
|
"nama": "akademik.pdf",
|
|
"judul": "Panduan Akademik Mahasiswa",
|
|
"isi": [
|
|
("Cuti Akademik", "Mahasiswa dapat mengajukan cuti akademik paling lama dua semester berturut-turut dengan persetujuan dekan. Permohonan cuti diajukan sebelum masa registrasi semester berjalan dimulai."),
|
|
("Kehadiran", "Mahasiswa wajib mengikuti minimal 75 persen dari total pertemuan perkuliahan agar dapat mengikuti ujian akhir semester."),
|
|
("Nilai", "Nilai D pada mata kuliah wajib dapat diperbaiki dengan mengulang mata kuliah tersebut pada semester berikutnya."),
|
|
]
|
|
},
|
|
{
|
|
"nama": "keuangan.pdf",
|
|
"judul": "Panduan Administrasi Keuangan",
|
|
"isi": [
|
|
("Pembayaran Kuliah", "Pembayaran biaya kuliah dilakukan paling lambat dua minggu sebelum perkuliahan dimulai melalui bagian keuangan universitas."),
|
|
("Keterlambatan", "Mahasiswa yang terlambat melakukan pembayaran wajib menghubungi bagian administrasi keuangan untuk memperoleh informasi penyelesaian administrasi."),
|
|
("Bukti Pembayaran", "Mahasiswa harus menyimpan bukti pembayaran sebagai dokumen administrasi selama masa studi."),
|
|
]
|
|
},
|
|
{
|
|
"nama": "kemahasiswaan.pdf",
|
|
"judul": "Panduan Layanan Kemahasiswaan",
|
|
"isi": [
|
|
("Beasiswa", "Mahasiswa dapat mengajukan beasiswa dengan memenuhi persyaratan akademik dan administratif yang ditentukan universitas."),
|
|
("Organisasi", "Mahasiswa diperbolehkan mengikuti organisasi kemahasiswaan selama tidak mengganggu kewajiban akademik."),
|
|
("Konsultasi Akademik", "Mahasiswa dapat berkonsultasi dengan dosen wali mengenai kesulitan belajar dan perencanaan mata kuliah."),
|
|
]
|
|
}
|
|
]
|
|
|
|
styles = getSampleStyleSheet()
|
|
|
|
for item in dokumen:
|
|
path = "dokumen/" + item["nama"]
|
|
pdf = SimpleDocTemplate(path, pagesize=A4)
|
|
|
|
konten = [
|
|
Paragraph(item["judul"], styles["Title"]),
|
|
Spacer(1, 20)
|
|
]
|
|
|
|
for judul, isi in item["isi"]:
|
|
konten.append(Paragraph(judul, styles["Heading2"]))
|
|
konten.append(Paragraph(isi, styles["BodyText"]))
|
|
konten.append(Spacer(1, 15))
|
|
|
|
pdf.build(konten)
|
|
print("Berhasil membuat:", path)
|
|
|
|
print("\nSemua PDF berhasil dibuat!")
|