إضافة أختام نصية في PDF عبر بايثون
إضافة ختم نصي باستخدام بايثون
يمكنك استخدام فئة TextStamp لإضافة ختم نصي في ملف PDF. توفر فئة TextStamp الخصائص اللازمة لإنشاء ختم نصي مثل حجم الخط، نمط الخط، ولون الخط وغيرها. من أجل إضافة ختم نصي، تحتاج إلى إنشاء كائن Document وكائن TextStamp باستخدام الخصائص المطلوبة. بعد ذلك، يمكنك استدعاء طريقة add_stamp() الخاصة بصفحة لإضافة الختم في ملف PDF. يوضح لك مقتطف الشيفرة التالي كيفية إضافة ختم نصي في ملف PDF.
import aspose.pdf as ap
# فتح المستند
document = ap.Document(input_pdf)
# إنشاء ختم نصي
text_stamp = ap.TextStamp("ختم تجريبي")
# تعيين ما إذا كان الختم في الخلفية
text_stamp.background = True
# تعيين الأصل
text_stamp.x_indent = 100
text_stamp.y_indent = 100
# تدوير الختم
text_stamp.rotate = ap.Rotation.ON90
# تعيين خصائص النص
text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
text_stamp.text_state.font_size = 14.0
text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
text_stamp.text_state.foreground_color = ap.Color.aqua
# إضافة الختم إلى صفحة معينة
document.pages[1].add_stamp(text_stamp)
# حفظ المستند الناتج
document.save(output_pdf)
تعريف المحاذاة لكائن TextStamp
إضافة العلامات المائية إلى مستندات PDF هي واحدة من الميزات المطلوبة بشكل متكرر وAspose.PDF لبايثون قادر تمامًا على إضافة الصور وكذلك العلامات المائية النصية. لدينا فئة تُسمى TextStamp التي توفر ميزة إضافة الأختام النصية فوق ملف PDF. مؤخرًا كانت هناك متطلبات لدعم ميزة تحديد محاذاة النص عند استخدام كائن TextStamp. لذلك من أجل تلبية هذا المتطلب، قمنا بإدخال خاصية text_alignment في فئة TextStamp. باستخدام هذه الخاصية، يمكننا تحديد محاذاة النص horizontal_alignment.
توضح مقتطفات الشيفرة التالية مثالًا على كيفية تحميل مستند PDF موجود وإضافة TextStamp عليه.
import aspose.pdf as ap
# إنشاء كائن Document باستخدام الملف المدخل
doc = ap.Document(input_pdf)
# إنشاء كائن FormattedText مع سلسلة نصية تجريبية
text = ap.facades.FormattedText("This")
# إضافة سطر نصي جديد إلى FormattedText
text.add_new_line_text("is sample")
text.add_new_line_text("Center Aligned")
text.add_new_line_text("TextStamp")
text.add_new_line_text("Object")
# إنشاء كائن TextStamp باستخدام FormattedText
stamp = ap.TextStamp(text)
# تحديد المحاذاة الأفقية للختم النصي كمركز
stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
# تحديد المحاذاة العمودية للختم النصي كمركز
stamp.vertical_alignment = ap.VerticalAlignment.CENTER
# تحديد المحاذاة الأفقية للنص لـ TextStamp كمركز
stamp.text_alignment = ap.HorizontalAlignment.CENTER
# ضبط الهامش العلوي لكائن الختم
stamp.top_margin = 20
# إضافة كائن الختم على الصفحة الأولى من المستند
doc.pages[1].add_stamp(stamp)
# حفظ المستند المحدث
doc.save(output_pdf)
ملء نص الحدود كختم في ملف PDF
لقد قمنا بتنفيذ إعداد وضع العرض لسيناريوهات إضافة وتحرير النص. لعرض نص الحدود، يرجى إنشاء كائن TextState لنقل الخصائص المتقدمة. حدد اللون للحدود. بعد ذلك، قم بتعيين وضع عرض النص، الخطوة التالية هي ربط TextState وإضافة الختم.
يوضح جزء الشفرة التالي كيفية إضافة نص ملء الحدود:
import aspose.pdf as ap
# إنشاء كائن TextState لنقل الخصائص المتقدمة
ts = ap.text.TextState()
# تحديد اللون للحدود
ts.stroking_color = ap.Color.gray
# تعيين وضع عرض النص
ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
# تحميل مستند PDF المدخل
file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))
stamp = ap.facades.Stamp()
stamp.bind_logo(
ap.facades.FormattedText(
"PAID IN FULL",
ap.facades.FontColor(100, 100, 100),
ap.facades.FontStyle.TIMES_ROMAN,
ap.facades.EncodingType.WINANSI,
True,
78.0,
)
)
# ربط TextState
stamp.bind_text_state(ts)
# تعيين أصل X, Y
stamp.set_origin(100, 100)
stamp.opacity = 5
stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
stamp.rotation = 45.0
stamp.is_background = False
# إضافة الختم
file_stamp.add_stamp(stamp)
file_stamp.save(output_pdf)
file_stamp.close()