Bangla Text To Pdf Converter đ
def bangla_text_to_pdf(input_text, output_filename="output.pdf"): c = canvas.Canvas(output_filename, pagesize=A4) width, height = A4
c.save() print(f"PDF saved as {output_filename}") bangla_text = """āĻāĻŽāĻŋ āĻŦāĻžāĻāϞāĻžā§ āĻāĻžāύ āĻāĻžāĻāĨ¤ āĻŦāĻžāĻāϞāĻžāĻĻā§āĻļ āĻāĻāĻāĻŋ āϏā§āύā§āĻĻāϰ āĻĻā§āĻļāĨ¤ āĻĒā§āϰāϝā§āĻā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŽāϰāĻž āĻ āύā§āĻ āĻāĻŋāĻā§ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤"""
# Handle multi-line text (simple version) lines = input_text.split('\n') y = height - 50 bangla text to pdf converter
for line in lines: if y < 50: # New page if needed c.showPage() c.setFont('BanglaFont', 14) y = height - 50 c.drawString(50, y, line) y -= 20
from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from reportlab.lib.units import inch Download 'Kalpurush' or 'Siyam Rupali' font and provide the path pdfmetrics.registerFont(TTFont('BanglaFont', 'Kalpurush.ttf')) def bangla_text_to_pdf(input_text, output_filename="output
def convert_to_pdf(self): text = self.text_area.get("1.0", tk.END).strip() if not text: messagebox.showwarning("Warning", "Please enter some text!") return # Register Bangla font (provide correct path) try: pdfmetrics.registerFont(TTFont('BanglaFont', 'Kalpurush.ttf')) except: messagebox.showerror("Error", "Bangla font not found!\nPlease install Kalpurush.ttf") return output_file = "bangla_output.pdf" c = canvas.Canvas(output_file, pagesize=(595, 842)) # A4 c.setFont('BanglaFont', 12) y = 800 for line in text.split('\n'): if y < 50: c.showPage() c.setFont('BanglaFont', 12) y = 800 c.drawString(50, y, line) y -= 20 c.save() messagebox.showinfo("Success", f"PDF saved as {output_file}") os.startfile(output_file) if os.name == 'nt' else None
# Convert to PDF (requires wkhtmltopdf installed) # Download from: https://wkhtmltopdf.org/downloads.html pdfkit.from_file("temp.html", output_file) Path("temp.html").unlink() bangla_text = """āĻŦāĻžāĻāϞāĻžāĻĻā§āĻļā§āϰ āĻĒāϤāĻžāĻāĻž āϏāĻŦā§āĻāĨ¤ āϞāĻžāϞ āĻŦā§āϤā§āϤ āϏā§āϰā§āϝā§āϰ āĻĒā§āϰāϤā§āĻāĨ¤""" html_to_pdf_bangla(bangla_text) Option 4: GUI Application using Tkinter import tkinter as tk from tkinter import scrolledtext, messagebox from reportlab.pdfgen import canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont import os class BanglaPDFConverter: def init (self, root): self.root = root self.root.title("Bangla Text to PDF Converter") self.root.geometry("600x500") 'Kalpurush.ttf')) except: messagebox.showerror("Error"
# Text area self.text_area = scrolledtext.ScrolledText(root, wrap=tk.WORD, font=("Kalpurush", 12)) self.text_area.pack(fill=tk.BOTH, expand=True, padx=10, pady=10) # Buttons btn_frame = tk.Frame(root) btn_frame.pack(pady=10) tk.Button(btn_frame, text="Convert to PDF", command=self.convert_to_pdf, bg="green", fg="white", padx=20, pady=5).pack(side=tk.LEFT, padx=5) tk.Button(btn_frame, text="Clear", command=self.clear_text, bg="orange", padx=20, pady=5).pack(side=tk.LEFT, padx=5) tk.Button(btn_frame, text="Exit", command=root.quit, bg="red", fg="white", padx=20, pady=5).pack(side=tk.LEFT, padx=5)
# Set font c.setFont('BanglaFont', 14)
bangla_text_to_pdf(bangla_text, "bangla_output.pdf") pip install fpdf2 from fpdf import FPDF class BanglaPDF(FPDF): def header(self): self.set_font('helvetica', size=12) self.cell(0, 10, 'Bangla Document', 0, 1, 'C')
# Save HTML temporarily with open("temp.html", "w", encoding="utf-8") as f: f.write(html_content)