تدوير صفحات PDF باستخدام بايثون

هذا الموضوع يوضح كيفية تحديث أو تغيير اتجاه الصفحات في ملف PDF موجود برمجيًا باستخدام Python.

تغيير اتجاه الصفحة

تدعم Aspose.PDF لـ Python عبر .NET ميزات رائعة مثل تغيير اتجاه الصفحة من أفقي إلى عمودي والعكس. لتغيير اتجاه الصفحة، قم بتعيين MediaBox للصفحة باستخدام مقتطف الشيفرة التالي. يمكنك أيضًا تغيير اتجاه الصفحة عن طريق تعيين زاوية الدوران باستخدام طريقة ‘rotate’.


    import aspose.pdf as ap

    doc = ap.Document(input_pdf)
    for page in doc.pages:
        r = page.media_box
        newHeight = r.width
        newWidth = r.height
        newLLX = r.llx
        # يجب علينا تحريك الصفحة لأعلى لتعويض تغيير حجم الصفحة
        # (الحافة السفلى للصفحة هي 0,0 والمعلومات عادة ما توضع من
        # أعلى الصفحة. لهذا السبب نحرك الحافة السفلى للأعلى بالفرق بين
        # الارتفاع القديم والجديد.
        newLLY = r.lly + (r.height - newHeight)
        page.media_box = ap.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight, True)
        # أحيانا نحتاج أيضًا إلى تعيين CropBox (إذا كان مُعَيَّنًا في الملف الأصلي)
        page.crop_box = ap.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight, True)

        # تعيين زاوية دوران الصفحة
        page.rotate = ap.Rotation.ON90

    # حفظ الملف الناتج
    doc.save(output_pdf)