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!")