python-pptx icon indicating copy to clipboard operation
python-pptx copied to clipboard

5

Open Mohamed1992-1 opened this issue 4 months ago • 1 comments

from PyPDF2 import PdfReader from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.text import PP_ALIGN from pptx.dml.color import RGBColor import io import os

المسار إلى الملف

pdf_file = "/mnt/data/Our world 5, Term1 Booklet.pdf"

إنشاء عرض تقديمي مبسط

prs = Presentation()

تعيين حجم الشريحة القياسي

prs.slide_width = Inches(10) prs.slide_height = Inches(7.5)

قراءة PDF

reader = PdfReader(pdf_file)

معالجة أول 10 صفحات فقط لتقليل الحجم

for i, page in enumerate(reader.pages[:10]): text = page.extract_text() if not text: continue

# إضافة شريحة
slide_layout = prs.slide_layouts[1]  # تخطيط العنوان والمحتوى
slide = prs.slides.add_slide(slide_layout)

# تعيين العنوان
title_shape = slide.shapes.title
title_shape.text = f"الصفحة {i+1}"
title_shape.text_frame.paragraphs[0].font.size = Pt(24)
title_shape.text_frame.paragraphs[0].font.bold = True

# إضافة المحتوى
content_shape = slide.placeholders[1]
tf = content_shape.text_frame
tf.text = text[:1000]  # تقليل كمية النص

# تنسيق النص
for paragraph in tf.paragraphs:
    paragraph.font.size = Pt(14)
    paragraph.font.name = "Arial"

حفظ الملف بحجم أصغر

simple_pptx = "/mnt/data/Simple_Presentation.pptx" prs.save(simple_pptx)

Our world 5, Term1 Booklet.pdf

عرض حجم الملف

file_size = os.path.getsize(simple_pptx) / (1024 * 1024) # بالميغابايت print(f"حجم الملف: {file_size:.2f} MB")

simple_pptx

Mohamed1992-1 avatar Sep 09 '25 21:09 Mohamed1992-1