إضافة صورة إلى ملف PDF الموجود في Python
Contents
[
Hide
]
إضافة صورة إلى ملف PDF موجود في Python
يوضح هذا المثال كيفية وضع صورة في موضع ثابت على صفحة PDF موجودة باستخدام Aspose.PDF لـ Python عبر .NET.
استخدم هذه الأمثلة عندما تحتاج إلى إضافة شعار أو صورة أو ختم أو مخطط أو رسم آخر إلى تخطيط PDF موجود. يمكنك وضع الصورة مع إحداثيات الصفحة أو رسمها باستخدام عوامل التشغيل أو إضافة نص إمكانية الوصول أو التحكم في ضغط الصور.
- قم بتحميل ملف PDF موجود باستخدام
ap.Document(infile). - حدد الصفحة المستهدفة (
document.pages[1]للصفحة الأولى). - اتصل
page.add_image()مع:- مسار ملف الصورة.
- أ
Rectangleتحديد إحداثيات التنسيب.
- احفظ ملف PDF المحدث.
import aspose.pdf as ap
def add_image(infile, image_file, outfile):
document = ap.Document(infile)
page = document.pages[1]
page.add_image(image_file, ap.Rectangle(20, 730, 120, 830, True))
document.save(outfile)
إضافة صورة إلى PDF باستخدام عوامل التشغيل
يضيف هذا الأسلوب صورة باستخدام مشغلات PDF منخفضة المستوى بدلاً من المستوى العالي add_image() مساعد.
- قم بإنشاء ملف جديد
Documentوأضف صفحة. - إضافة الصورة إلى موارد الصفحة (
page.resources.images). - إنشاء عوامل تحويل (
GSave,ConcatenateMatrix,Do,GRestore). - أضف عوامل تشغيل إلى محتويات الصفحة.
- احفظ ملف PDF الناتج.
import aspose.pdf as ap
from io import FileIO
def add_image_using_operators(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream)
rectangle = ap.Rectangle(0, 0, page.media_box.width, page.media_box.height, True)
operators = [
ap.operators.GSave(),
ap.operators.ConcatenateMatrix(
ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
),
ap.operators.Do(image_id),
ap.operators.GRestore(),
]
page.contents.add(operators)
document.save(outfile)
إضافة صورة إلى PDF بنص بديل
يضيف هذا المثال صورة ويعين نصًا بديلًا لإمكانية الوصول.
- قم بإنشاء ملف جديد
Documentوأضف صفحة. - أضف الصورة إلى الصفحة باستخدام
page.add_image(). - احصل على موارد الصور من
page.resources.images. - تعيين نص بديل باستخدام
try_set_alternative_text(). - احفظ ملف PDF الناتج.
import aspose.pdf as ap
def add_image_set_alternative_text(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
page.add_image(image_file, ap.Rectangle(0, 0, 842, 595, True))
resources_images = page.resources.images
x_image = resources_images[1]
result = x_image.try_set_alternative_text("Alternative text for image", page)
if result:
print("Alternative text has been added successfully")
document.save(outfile)
أضف صورة إلى PDF باستخدام ضغط Flate
يقوم هذا المثال بتضمين صورة باستخدام ImageFilterType.FLATE ضغط.
- قم بإنشاء ملف جديد
Documentوأضف صفحة. - أضف الصورة إلى موارد الصفحة باستخدام ضغط Flate.
- استخدم عوامل تشغيل المصفوفة لوضع الصورة ورسمها.
- احفظ المستند.
import aspose.pdf as ap
from io import FileIO
def add_image_to_pdf_with_flate_compression(image_file, outfile):
document = ap.Document()
page = document.pages.add()
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream, ap.ImageFilterType.FLATE)
rectangle = ap.Rectangle(0, 0, 600, 600, True)
matrix = ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
page.contents.add([ap.operators.GSave()])
page.contents.add([ap.operators.ConcatenateMatrix(matrix)])
page.contents.add([ap.operators.Do(image_id)])
page.contents.add([ap.operators.GRestore()])
document.save(outfile)