Skip to content

5 #1089

@Mohamed1992-1

Description

@Mohamed1992-1

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions