إضافة علامة مائية إلى PDF باستخدام GroupDocs.Watermark للغة Java
في هذا الدليل ستتعلم كيفية إضافة علامة مائية إلى PDF باستخدام مجموعة أدوات GroupDocs.Watermark Java SDK. سنستعرض تحميل المستندات من القرص، أو من التدفقات، أو من مصادر محمية بكلمة مرور، وتطبيق علامات مائية نصية أو صورة، وأخيرًا حفظ ملف PDF المحدث. سواءً كنت تبني معالج دفعات أو خدمة ملف واحد، فإن هذه الخطوات توفر لك حلاً موثوقًا وجاهزًا للإنتاج.
إجابات سريعة
- هل يمكنني إضافة علامة مائية إلى PDF محمي بكلمة مرور؟ نعم – قم بتمرير كلمة المرور عند تحميل المستند، ثم طبّق العلامة المائية كالمعتاد.
- ما هي الصيغ التي يمكن إضافة علامة مائية إليها؟ أكثر من 30 صيغة، بما في ذلك PDF و DOCX و PPTX والصور.
- هل أحتاج إلى ترخيص للتطوير؟ الترخيص المؤقت يكفي للاختبار؛ الترخيص الكامل مطلوب للإنتاج.
- ما نسخة Java المطلوبة؟ تدعم Java 8 أو أعلى.
- هل يدعم البث (Streaming)؟ بالتأكيد – يمكنك التحميل من
InputStreamوالحفظ إلىOutputStreamدون الحاجة إلى نظام الملفات.
ما هو إضافة علامة مائية إلى PDF؟
إضافة علامة مائية إلى PDF تشير إلى عملية وضع نص أو صورة شبه شفافة فوق كل صفحة من مستند PDF لتوضيح الملكية أو السرية أو العلامة التجارية. توفر GroupDocs.Watermark للغة Java واجهة برمجة تطبيقات (API) ذات نداء واحد تتعامل مع تحديد الموقع والشفافية واختيار نطاق الصفحات تلقائيًا.
لماذا تستخدم GroupDocs.Watermark للغة Java؟
يدعم GroupDocs.Watermark أكثر من 35 صيغة ملف ويمكنه معالجة ملفات PDF تصل إلى 500 صفحة في أقل من ثانيتين على معالج من فئة الخادم العادية. تعمل المكتبة بالكامل في الذاكرة، لذا لا تحتاج إلى تثبيت Microsoft Office أو Adobe Acrobat. واجهة برمجة التطبيقات (API) آمنة للاستخدام المتعدد الخيوط، مما يجعلها مثالية لخدمات الويب ذات الإنتاجية العالية.
المتطلبات المسبقة
- تثبيت Java 8 أو أحدث.
- مشروع Maven أو Gradle مكوّن مع تبعية
groupdocs-watermark. - ترخيص GroupDocs.Watermark صالح (ترخيص مؤقت للتقييم).
- ملفات PDF التي تريد حمايتها، ويمكن أن تكون محمية بكلمات مرور.
كيفية إضافة علامة مائية إلى PDF – خطوة بخطوة
حمّل المستند المصدر، طبّق العلامة المائية، ثم احفظ النتيجة. الأقسام التالية تجيب على كل مهمة فرعية مباشرة.
كيفية تحميل مستند من القرص؟
Watermarker هو الصنف الأساسي المستخدم لتحميل ومعالجة المستندات لإضافة العلامات المائية. قدّم المسار الكامل للملف إلى مُنشئ Watermarker؛ SDK يكتشف صيغة الملف تلقائيًا، يتحقق من المحتوى، ويحمل المستند في الذاكرة جاهزًا لأي عملية علامة مائية. هذا النهج يعمل مع ملفات PDF، وWord، والصور، والعديد من الأنواع المدعومة الأخرى.
Watermarker watermarker = new Watermarker("C:/files/input.pdf");
بعد هذا السطر يصبح ملف PDF محملاً بالكامل في الذاكرة، جاهزًا لأي عملية علامة مائية.
كيفية تحميل مستند من تدفق؟
Watermarker يمكنه أيضًا قبول InputStream لتحميل المستندات مباشرة من الذاكرة. عندما تستقبل ملفًا عبر HTTP أو من طابور رسائل، غلف مصفوفة البايتات في ByteArrayInputStream ومرّرها إلى مُنشئ Watermarker الذي يقبل InputStream. SDK يقرأ التدفق دون كتابة إلى القرص، مما يحافظ على الأداء والأمان، ويدعم الملفات الكبيرة بمعالجة البيانات على دفعات. هذه الطريقة مثالية لخدمات الويب والهندسة الميكرو‑خدمية.
InputStream pdfStream = new ByteArrayInputStream(pdfBytes);
Watermarker watermarker = new Watermarker(pdfStream);
SDK يقرأ التدفق دون كتابة إلى القرص، محافظًا على الأداء والأمان.
كيفية تحميل مستند محمي بكلمة مرور؟
Watermarker يدعم تحميل ملفات PDF المحمية بكلمة مرور عبر توفير كلمة المرور كوسيط ثانٍ. قدّم كلمة المرور كوسيط ثاني إلى المُنشئ. SDK يفك تشفير PDF أثناء التحميل، وبعد ذلك يمكنك التعامل معه كأي مستند آخر. إذا كانت كلمة المرور صحيحة، تصبح جميع الصفحات متاحة لإضافة العلامة المائية؛ وإلا ستطرح المكتبة استثناءً واضحًا يمكنك التقاطه وتسجيله لتتبع الأخطاء.
Watermarker watermarker = new Watermarker("C:/files/secure.pdf", "mySecretPwd");
إذا كانت كلمة المرور غير صحيحة، SDK يطرح استثناءً توضيحيًا يمكنك التقاطه وتسجيله.
كيفية تطبيق علامة مائية نصية؟
TextWatermark يمثل علامة مائية نصية يمكن تطبيقها على الصفحات مع إمكانية تخصيص النمط. أنشئ كائن TextWatermark بالنص المطلوب، الخط، الحجم، واللون. ثم استدعِ add على كائن Watermarker، مع إمكانية تحديد نطاق الصفحات. تُرسم العلامة المائية بالشفافية والدوران المحددين، ويمكن وضعها باستخدام المواقع المعرّفة مسبقًا أو إحداثيات مخصصة، لضمان مظهر متسق عبر جميع الصفحات.
TextWatermark watermark = new TextWatermark("Confidential", new Font("Arial", 36));
watermark.setColor(Color.RED);
watermark.setTransparency(0.5);
watermarker.add(watermark);
هذا الاستدعاء يضع العلامة المائية على كل صفحة بشكل افتراضي؛ يمكنك تقييدها باستخدام new PageRange(1, 5) إذا لزم الأمر.
كيفية تطبيق علامة مائية صورة؟
ImageWatermark يمثل علامة مائية مبنية على صورة مثل الشعار أو الختم. أنشئ ImageWatermark باستخدام مسار أو تدفق شعارك، ثم أضفه بنفس طريقة العلامة النصية. SDK يضبط حجم الصورة تلقائيًا لتتناسب مع الصفحة مع الحفاظ على نسبة الأبعاد، ويمكنك تعديل الشفافية، الدوران، والموضع لتحقيق التأثير البصري المطلوب دون تشويه المحتوى الأصلي.
ImageWatermark imgWatermark = new ImageWatermark("C:/images/logo.png");
imgWatermark.setTransparency(0.3);
watermarker.add(imgWatermark);
SDK يضبط حجم الصورة لتتناسب مع الصفحة مع الحفاظ على نسبة الأبعاد.
كيفية حفظ المستند المموج بالعلامة المائية؟
save يكتب المستند المعدل إلى الموقع المحدد بالصيغ المطلوبة. استدعِ save مع مسار الإخراج والصيغة المطلوبة. إذا لم تحدد صيغة، يُستخدم نفس صيغة المصدر. الطريقة تكتب ملف PDF المعدل إلى القرص، محافظةً على جميع المحتويات الأصلية باستثناء طبقات العلامة المائية الجديدة، وتدعم الحفظ إلى تدفقات لمزيد من المعالجة.
watermarker.save("C:/files/output.pdf");
الطريقة تكتب ملف PDF المعدل إلى القرص، محافظةً على جميع المحتويات الأصلية باستثناء طبقات العلامة المائية الجديدة.
الدروس المتاحة
كيفية تحميل مستندات محمية بكلمة مرور في Java باستخدام GroupDocs.Watermark
تعلم كيفية تحميل وإدارة العلامات المائية في المستندات المحمية بكلمة مرور باستخدام GroupDocs.Watermark للغة Java. يقدم هذا الدليل تعليمات خطوة بخطوة، أمثلة عملية، ونصائح لحل المشكلات.
كيفية تحميل وتطبيق علامة مائية على مستندات Word محمية بكلمة مرور باستخدام GroupDocs.Watermark في Java
تعلم كيفية استخدام GroupDocs.Watermark مع Java لتحميل وإدارة وتطبيق علامات مائية على مستندات Word محمية بكلمة مرور بكفاءة.
موارد إضافية
- توثيق GroupDocs.Watermark للغة Java
- مرجع API لـ GroupDocs.Watermark للغة Java
- تحميل GroupDocs.Watermark للغة Java
- منتدى GroupDocs.Watermark
- دعم مجاني
- ترخيص مؤقت
المشكلات الشائعة والحلول
- خطأ كلمة المرور غير صالحة – تحقق مرة أخرى من سلسلة كلمة المرور؛ يجب أن تكون مشفرة بـ UTF‑8.
- نفاد الذاكرة في ملفات PDF الكبيرة – فعّل وضع البث (streaming) باستخدام مُنشئي
Watermarkerالذين يقبلونInputStreamوOutputStream. - العلامة المائية غير مرئية – تأكد من أن شفافية العلامة المائية مضبوطة فوق 0.1 وأن اللون يتباين مع خلفية الصفحة.
الأسئلة المتكررة
س: هل يمكنني إضافة عدة علامات مائية إلى نفس ملف PDF؟
ج: نعم. استدعِ watermarker.add() مرارًا مع كائنات TextWatermark أو ImageWatermark مختلفة؛ كل واحدة ستُضاف في الطبقة التي تم استدعاؤها فيها.
س: هل تحتفظ المكتبة بالتعليقات التوضيحية الموجودة؟
ج: بالتأكيد. جميع كائنات PDF الأصلية، بما في ذلك التعليقات التوضيحية، حقول النماذج، والبيانات الوصفية، تظل دون تعديل ما لم تقم بتعديلها صراحةً.
س: هل يمكن وضع علامة مائية على صفحات مختارة فقط؟
ج: نعم. مرّر PageRange (مثل new PageRange(2, 4)) إلى طريقة add لتحديد الصفحات التي ستُطبق عليها العلامة المائية.
س: ما هو الحد الأقصى لحجم الملف المدعوم؟
ج: يمكن للـ SDK معالجة ملفات يصل حجمها إلى 2 GB دون تحميل المستند بالكامل إلى الذاكرة، بفضل بنية البث (streaming).
س: كيف يمكنني إزالة علامة مائية بعد إضافتها؟
ج: استخدم watermarker.remove(watermarkId) حيث watermarkId هو المعرف الذي تم إرجاعه عند إضافة العلامة المائية في البداية.
آخر تحديث: 2026-09-16
تم الاختبار مع: GroupDocs.Watermark 23.9 للغة Java
المؤلف: GroupDocs