import PyPDF2 import requests import re def clean_text(text): text = text.replace("Mahkamah Agung Republik Indonesia\nMahkamah Agung Republik Indonesia\nMahkamah Agung Republik Indonesia\nMahkamah Agung Republik Indonesia\nMahkamah Agung Republik Indonesia\nDirektori Putusan Mahkamah Agung Republik Indonesia\nputusan.mahkamahagung.go.id\n", "") text = text.replace("\nDisclaimer\nKepaniteraan Mahkamah Agung Republik Indonesia berusaha untuk selalu mencantumkan informasi paling kini dan akurat sebagai bentuk komitmen Mahkamah Agung untuk pelayanan publik, transparansi dan akuntabilitas\npelaksanaan fungsi peradilan. Namun dalam hal-hal tertentu masih dimungkinkan terjadi permasalahan teknis terkait dengan akurasi dan keterkinian informasi yang kami sajikan, hal mana akan terus kami perbaiki dari waktu kewaktu.\nDalam hal Anda menemukan inakurasi informasi yang termuat pada situs ini atau informasi yang seharusnya ada, namun belum tersedia, maka harap segera hubungi Kepaniteraan Mahkamah Agung RI melalui :\nEmail : kepaniteraan@mahkamahagung.go.id", "") text = text.replace("Telp : 021-384 3348 (ext.318)", "") text = text.replace('P U T U S A N', 'PUTUSAN').replace('T erdakwa', 'Terdakwa').replace('T empat', 'Tempat').replace('T ahun', 'Tahun') text = text.replace('P E N E T A P A N', 'PENETAPAN').replace('J u m l a h', 'Jumlah').replace('\n', '') text = re.sub(r'\nHalaman \d+ dari \d+ .*', '', text) text = re.sub(r'Halaman \d+ dari \d+ .*', '', text) text = re.sub(r'\nHal. \d+ dari \d+ .*', '', text) text = re.sub(r'Hal. \d+ dari \d+ .*', '', text) text = re.sub(r' +|[\uf0fc\uf0a7\uf0a8\uf0b7]', ' ', text) text = re.sub(r'[\u2026]+|\.{3,}', '', text) return text.strip() def read_pdf(pdf): try: pdf_text = '' pdf_file = open(pdf, 'rb') pdf_reader = PyPDF2.PdfReader(pdf_file) for page_num in range(len(pdf_reader.pages)): page = pdf_reader.pages[page_num] text = clean_text(page.extract_text()) pdf_text += text pdf_file.close() return pdf_text.strip() except requests.exceptions.RequestException as e: print("Error:", e)