- +66 8 45678555
- [email protected]
- Mon - Sun : 9:00 - 22.00
Converter | Bangla Text To Pdf
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
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')) bangla text to pdf converter
# 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) def convert_to_pdf(self): text = self
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 def convert_to_pdf(self): text = self.text_area.get("1.0"
# Handle multi-line text (simple version) lines = input_text.split('\n') y = height - 50
# 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")