قص صفحات PDF في بايثون
احصل على خصائص الصفحة
تحتوي كل صفحة في ملف PDF على عدد من الخصائص، مثل العرض والارتفاع ومربع التسييل والقص والتقطيع. Aspose.PDF لبيثون يسمح لك بالوصول إلى هذه الخصائص.
استخدم هذه الصفحة عندما تحتاج إلى تقليل مساحة الصفحة المرئية، أو إعداد الملفات لسير عمل الطباعة، أو فحص هندسة مربع الصفحة في مستندات PDF.
- media_box: صندوق الوسائط هو أكبر مربع صفحة. وهو يتوافق مع حجم الصفحة (على سبيل المثال A4 و A5 و US Letter وما إلى ذلك) المحدد عند طباعة المستند إلى PostScript أو PDF. بمعنى آخر، يحدد مربع الوسائط الحجم المادي للوسائط التي يتم عرض مستند PDF عليها أو طباعتها.
- bleed_box: في حالة حدوث نزيف في المستند، سيحتوي ملف PDF أيضًا على مربع التسييل. التسييل هو مقدار اللون (أو العمل الفني) الذي يمتد إلى ما وراء حافة الصفحة. يتم استخدامه للتأكد من أنه عند طباعة المستند وتقطيعه إلى حجمه («اقتطاعه»)، سينتقل الحبر إلى حافة الصفحة. حتى في حالة عدم دقة الصفحة - قم بقطع علامات القطع قليلاً - لن تظهر أي حواف بيضاء على الصفحة.
- trim_box: يشير مربع القطع إلى الحجم النهائي للمستند بعد الطباعة والتشذيب.
- art_box: المربع الفني هو المربع المرسوم حول المحتويات الفعلية للصفحات في مستنداتك. يتم استخدام مربع الصفحة هذا عند استيراد مستندات PDF في تطبيقات أخرى.
- crop_box: مربع الاقتصاص هو حجم «الصفحة» الذي يتم عرض مستند PDF به في Adobe Acrobat. في العرض العادي، يتم عرض محتويات مربع الاقتصاص فقط في Adobe Acrobat. للحصول على أوصاف تفصيلية لهذه الخصائص، اقرأ مواصفات Adobe.Pdf، وخاصة حدود الصفحات 10.10.1.
قص الأول Page من ملف PDF إلى منطقة مستطيلة محددة باستخدام Aspose.PDF لبيثون. تقوم الوظيفة بضبط مربعات صفحات متعددة—crop_box, trim_box, art_box، و bleed_box- لضمان نتائج مرئية متسقة. يمكن أن يكون الاقتصاص مفيدًا لإزالة الهوامش غير المرغوب فيها أو التركيز على منطقة معينة من الصفحة.
- قم بتحميل ملف PDF كملف
Document(استخدمap.Document()). - حدد مستطيل الاقتصاص باستخدام
Rectangleمع الإحداثيات المطلوبة (بالنقاط). - قم بتعيين
Pageقcrop_box,trim_box,art_box، وbleed_boxإلى المستطيل المحدد. - احفظ التعديل
Documentإلى ملف إخراج جديد.
import sys
import aspose.pdf as ap
from os import path
def crop_page(input_file_name, output_file_name):
document = ap.Document(input_file_name)
new_box = ap.Rectangle(200, 220, 2170, 1520, True)
document.pages[1].crop_box = new_box
document.pages[1].trim_box = new_box
document.pages[1].art_box = new_box
document.pages[1].bleed_box = new_box
document.save(output_file_name)
في هذا المثال، استخدمنا ملف عينة هنا. في البداية تبدو صفحتنا كما هو موضح في الشكل 1.

بعد التغيير، ستبدو الصفحة بالشكل 2.

قص صفحة PDF بناءً على محتوى الصورة الأولى
قص الأول Page ديناميكيًا استنادًا إلى حدود الصورة الأولى الموجودة على الصفحة. باستخدام ImagePlacementAbsorber، يحدد البرنامج النصي الصورة الأولى ويضبط الصفحة crop_box لتتناسب مع أبعاد الصورة. هذا الأسلوب مفيد عندما تريد التركيز على محتوى مرئي محدد بدلاً من الإحداثيات المحددة مسبقًا.
- قم بتحميل ملف PDF كملف
Document. - حدد موقع الصور على الصفحة الأولى باستخدام
ImagePlacementAbsorber. - تحقق من وجود الصور:
- احفظ التعديل
Documentإلى ملف الإخراج المحدد.
import sys
import aspose.pdf as ap
from os import path
def crop_page_by_content(input_file_name, output_file_name):
document = ap.Document(input_file_name)
# Find first image on first page using ImagePlacementAbsorber
absorber = ap.ImagePlacementAbsorber()
document.pages[1].accept(absorber)
if len(absorber.image_placements) > 0:
first_image = absorber.image_placements[1]
document.pages[1].crop_box = first_image.rectangle
else:
print("No images found on the first page")
document.save(output_file_name)