إضافة صورة إلى ملف PDF موجود في بايثون
Contents
[
Hide
]
إضافة صورة إلى ملف PDF موجود في بايثون
يوضح هذا المثال كيفية وضع صورة في موضع ثابت على صفحة PDF موجودة باستخدام Aspose.PDF for Python via .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)