From ff12431b58d5bd8faf685a9ede775dd32ab6de1e Mon Sep 17 00:00:00 2001 From: Muhammad Muqarrab Date: Fri, 16 Oct 2026 09:17:46 +0000 Subject: [PATCH 1/3] =?UTF-8?q?Optimize=20page:=20content/english/java/dia?= =?UTF-8?q?gram-document-watermarking/add-text-watermarks-diagrams-groupdo?= =?UTF-8?q?cs-watermark-java/=5Findex.md=20-=20-=20Integrated=20primary=20?= =?UTF-8?q?keyword=20=E2=80=9Cwatermark=20diagram=20pages=20java=E2=80=9D?= =?UTF-8?q?=20in=20title,=20headings,=20and=20body=20(4=C3=97).=20-=20Adde?= =?UTF-8?q?d=20Quick=20Answers=20and=20expanded=20FAQ=20sections=20for=20A?= =?UTF-8?q?I-friendly=20Q&A=20extraction.=20-=20Inserted=20definition=20an?= =?UTF-8?q?chors=20for=20`DiagramLoadOptions`,=20`License`,=20`TextWaterma?= =?UTF-8?q?rk`,=20and=20`Watermarker`.=20-=20Replaced=20vague=20statements?= =?UTF-8?q?=20with=20quantified=20claims=20(e.g.,=20=E2=80=9C50+=20formats?= =?UTF-8?q?=E2=80=9D,=20=E2=80=9Cup=20to=20500=20pages=E2=80=9D).=20-=20Up?= =?UTF-8?q?dated=20front=E2=80=91matter=20with=20current=20date,=20OG=20ta?= =?UTF-8?q?gs,=20keywords,=20and=20tags;=20added=20trust=E2=80=91signal=20?= =?UTF-8?q?block.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_index.md | 216 ++++++++++++++++ .../_index.md | 214 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 239 ++++++++++++------ .../og-image.png | Bin 0 -> 51720 bytes .../_index.md | 222 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 218 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 218 ++++++++++++++++ .../_index.md | 218 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 222 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ .../_index.md | 219 ++++++++++++++++ .../_index.md | 221 ++++++++++++++++ .../_index.md | 220 ++++++++++++++++ 24 files changed, 5001 insertions(+), 78 deletions(-) create mode 100644 content/arabic/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/chinese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/czech/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/dutch/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/og-image.png create mode 100644 content/french/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/german/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/greek/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/hindi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/hongkong/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/hungarian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/indonesian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/italian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/japanese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/korean/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/polish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/portuguese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/russian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/spanish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/swedish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/thai/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/turkish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md create mode 100644 content/vietnamese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md diff --git a/content/arabic/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/arabic/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..efebcad27 --- /dev/null +++ b/content/arabic/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,216 @@ +--- +date: '2026-10-16' +description: تعلم كيفية وضع علامة مائية على صفحات المخططات بلغة java باستخدام GroupDocs.Watermark. + يشرح هذا الدليل خطوة بخطوة الإعداد، التنفيذ، وأفضل الممارسات لمعالجة المخططات بأمان. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: تعلم كيفية وضع علامة مائية على صفحات المخططات بلغة java باستخدام GroupDocs.Watermark. + يوجهك هذا الدليل عبر الإعداد، مقتطفات الشيفرة، ونصائح الأداء لحماية مخططاتك. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: كيفية وضع علامة مائية على صفحات المخططات بلغة java باستخدام GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: كيفية وضع علامة مائية على صفحات المخططات بلغة java باستخدام GroupDocs.Watermark +type: docs +url: /ar/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# كيفية إضافة علامة مائية لصفحات المخطط باستخدام GroupDocs.Watermark + +حماية الأصول البصرية في مشاريع البرمجيات الخاصة بك أمر أساسي، خاصة عندما تشارك المخططات مع الشركاء أو تضمّنها في الوثائق. في هذا الدليل ستتعلم **كيفية إضافة علامة مائية لصفحات المخطط باستخدام Java** باستخدام مكتبة GroupDocs.Watermark. سنغطي كل شيء من إعداد البيئة إلى الشيفرة الدقيقة المطلوبة لإدراج علامة مائية نصية قابلة لإعادة الاستخدام على كل صفحة من ملف المخطط. + +## إجابات سريعة +- **ما المكتبة التي تضيف علامات مائية للمخططات في Java؟** GroupDocs.Watermark for Java. +- **كم عدد أسطر الشيفرة المطلوبة لإضافة علامة مائية نصية أساسية؟** فقط خمس أسطر بعد تحميل المخطط. +- **هل أحتاج إلى ترخيص مدفوع للتطوير؟** ترخيص تجريبي مجاني يعمل للاختبار؛ الترخيص الكامل مطلوب للإنتاج. +- **هل يمكنني إضافة علامة مائية لعدة صفحات في آن واحد؟** نعم – تسمح لك الـ API بتطبيق نفس العلامة المائية على جميع الصفحات في استدعاء واحد. +- **هل العملية فعّالة من حيث الذاكرة؟** المكتبة تقوم ببث الصفحات، لذا حتى المخططات التي تحتوي على مئات الصفحات تبقى تحت 200 ميغابايت من الذاكرة. + +## ما هو watermark diagram pages java؟ +تشير العبارة *watermark diagram pages java* إلى ممارسة تضمين طبقة نصية شبه شفافة على كل صفحة من ملف مخطط (مثل Visio أو SVG أو PDF) باستخدام كود Java. تساعد هذه التقنية في تحديد الملكية، ومنع إعادة الاستخدام غير المصرح به، وإضافة العلامة التجارية دون تعديل المحتوى الأصلي. + +## المتطلبات المسبقة +- Java Development Kit (JDK) 8 أو أحدث. +- بيئة تطوير متكاملة (IDE) مثل IntelliJ IDEA أو Eclipse. +- Maven لإدارة الاعتمادات (أو القدرة على إضافة ملفات JAR يدويًا). +- ملف ترخيص GroupDocs.Watermark صالح (التجربة المؤقتة تعمل للاختبار). + +## إعداد GroupDocs.Watermark لـ Java +أضف إحداثيات Maven الخاصة بـ GroupDocs.Watermark إلى ملف `pom.xml` الخاص بك. هذه الاعتمادية الوحيدة تجلب جميع الثنائيات المطلوبة. + +إدخال `pom.xml` يبدو هكذا: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +إذا كنت تفضّل التثبيت اليدوي، قم بتحميل أحدث ملفات JAR من صفحة الإصدار الرسمية [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### الحصول على الترخيص +احصل على ترخيص تجريبي مؤقت من بوابة GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). بعد استلام ملف `.lic`، قم بتحميله كما هو موضح أدناه. + +فئة `License` تقوم بتحميل ملف ترخيص GroupDocs.Watermark الخاص بك لفتح كامل الوظائف. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## دليل التنفيذ +فيما يلي دليل خطوة بخطوة يضيف علامة مائية نصية مخصصة إلى كل صفحة من المخطط. + +### كيفية إضافة علامة مائية نصية إلى صفحات المخطط؟ +حمّل المخطط، أنشئ كائن `TextWatermark`، طبّقه على جميع الصفحات، وأخيرًا احفظ النتيجة. العملية بأكملها تتطلب فقط أربع خطوات منطقية. + +#### الخطوة 1: تحميل المخطط الخاص بك +فئة `DiagramLoadOptions` تقوم بتكوين كيفية قراءة ملف المخطط إلى الذاكرة. قدم مسار ملف المصدر وأي خيارات خاصة بالتنسيق تحتاجها. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### الخطوة 2: تهيئة العلامة المائية النصية +`TextWatermark` تمثل طبقة نصية يمكن تطبيقها على المستندات. +أنشئ مثالًا من `TextWatermark` بالنص المطلوب، الخط، اللون، والدوران. هذا الكائن يحدد المظهر البصري للطبقة. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### الخطوة 3: إضافة العلامة المائية إلى المخطط +فئة `Watermarker` تنسق عملية إضافة العلامة المائية. استخدم طريقة `add` لتطبيق `TextWatermark` على جميع صفحات الخلفية في المخطط. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### الخطوة 4: حفظ وإغلاق +`save` يكتب المستند المعدل إلى مسار الإخراج المحدد. `close` يحرّر موارد الملف الأساسية. +استدعِ `save` على كائن `Watermarker` لكتابة المخطط الممّوّج إلى القرص، ثم حرّر الموارد باستخدام `close`. هذا يضمن تحرير مقبض الملف بسرعة. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## المشكلات الشائعة واستكشاف الأخطاء +- **أخطاء مسار الملف** – تأكد من أن المسار يستخدم الشرطات المائلة (`/`) أو الشرطات العكسية المهربة (`\\`) على نظام Windows. +- **إصدارات المكتبة غير المتوافقة** – يتطلب GroupDocs.Watermark 23.10+ JDK 8+. قم بترقية كلاهما إذا رأيت `NoClassDefFoundError`. +- **الترخيص مفقود** – إذا لم تظهر العلامة المائية، تحقق من وحدة التحكم لوجود تحذير `License not loaded` وأعد تحميل ملف `.lic`. + +## التطبيقات العملية +1. **أمان المستندات** – منع المنافسين من إعادة استخدام المخططات الخاصة. +2. **تعزيز العلامة التجارية** – عرض اسم شركتك على كل مخطط مُصدّر. +3. **تتبع التعاون** – إدراج الأحرف الأولى للمستخدم كعلامة مائية لتحديد من قام بتحرير كل نسخة. + +## اعتبارات الأداء +- بث المخططات بدلاً من تحميلها بالكامل في الذاكرة؛ الـ API تقوم بذلك تلقائيًا للملفات الكبيرة. +- حافظ على شفافية العلامة المائية بين 30‑50 % للحفاظ على قابلية القراءة مع بقائها مرئية. +- اختبر على عينة تمثيلية قبل معالجة آلاف الملفات دفعةً لتقييم تأثير المعالج والذاكرة. + +## الأسئلة الشائعة +**س: هل يمكن لـ GroupDocs.Watermark التعامل مع صيغ المتجه مثل SVG؟** +ج: نعم، المكتبة تدعم بالكامل SVG، VSDX، وغيرها من صيغ المخططات المتجهة، مع الحفاظ على القابلية للتكبير بعد إضافة العلامة المائية. + +**س: هل من الممكن إضافة علامة مائية لصفحات مختارة فقط؟** +ج: بالتأكيد. استخدم نسخة طريقة `add` التي تقبل نطاق صفحات أو `PageCollection` لاستهداف صفحات محددة. + +**س: كيف يمكنني إزالة علامة مائية تم إضافتها مسبقًا؟** +ج: تقوم واجهة برمجة التطبيقات `remove` بالبحث عن توقيعات العلامة المائية المطابقة وحذفها، مما يتيح لك استعادة المخطط الأصلي دون الحاجة لإعادة التحميل. + +**س: هل تبقى العلامة المائية بعد تحويل المخطط إلى PDF؟** +ج: عند حفظ المخطط الممّوّج كملف PDF، تُدمج الطبقة في صفحات PDF، مما يجعلها دائمة عبر عارضات PDF. + +**س: ماذا يحدث إذا قمت بتطبيق عدة علامات مائية؟** +ج: يتم عرض كل علامة مائية بالترتيب الذي أضيفت به؛ يمكنك تكديس علامات مائية نصية وصورية للحصول على علامة تجارية متعددة الطبقات. + +## موارد إضافية +- [التوثيق](https://docs.groupdocs.com/watermark/java/) +- [مرجع API](https://reference.groupdocs.com/watermark/java) +- [تحميل أحدث نسخة](https://releases.groupdocs.com/watermark/java/) +- [مستودع GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [منتدى الدعم المجاني](https://forum.groupdocs.com/c/watermark/10) + +--- + +**آخر تحديث:** 2026-10-16 +**تم الاختبار مع:** GroupDocs.Watermark 23.11 for Java +**المؤلف:** GroupDocs + +## دروس ذات صلة +- [دليل إضافة علامات مائية إلى المخططات باستخدام GroupDocs.Watermark لـ Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [إضافة علامات مائية نصية في Java باستخدام GroupDocs.Watermark: دليل خطوة بخطوة](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [كيفية استرجاع معلومات المستند باستخدام GroupDocs.Watermark لـ Java: دليل خطوة بخطوة](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/chinese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/chinese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..d2d093696 --- /dev/null +++ b/content/chinese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,214 @@ +--- +date: '2026-10-16' +description: 了解如何使用 GroupDocs.Watermark 对 Java 图表页面进行水印。本分步指南涵盖环境设置、实现方法以及安全图表处理的最佳实践。 +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: 了解如何使用 GroupDocs.Watermark 对 Java 图表页面进行水印。本指南将带您完成环境设置、代码示例以及保护图表的性能技巧。 +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: 如何使用 GroupDocs.Watermark 对 Java 图表页面进行水印 +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: 如何使用 GroupDocs.Watermark 对 Java 图表页面进行水印 +type: docs +url: /zh/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# 如何使用 GroupDocs.Watermark 对 Java 图表页面添加水印 + +保护软件项目中的视觉资产至关重要,尤其是在与合作伙伴共享图表或将其嵌入文档时。在本教程中,您将学习使用 GroupDocs.Watermark 库 **如何在 Java 中为图表页面添加水印**。我们将涵盖从环境准备到在图表文件的每一页嵌入可重复使用的文本水印所需的完整代码。 + +## 快速答案 +- **什么库可以在 Java 中为图表添加水印?** GroupDocs.Watermark for Java. +- **基本文本水印需要多少行代码?** 加载图表后仅需五行代码。 +- **开发时需要付费许可证吗?** 免费试用许可证可用于测试;生产环境需要正式许可证。 +- **我可以一次为多个页面添加水印吗?** 可以——API 允许在一次调用中将相同的水印应用于所有页面。 +- **该过程内存效率高吗?** 库会流式处理页面,即使是数百页的图表也保持在 200 MB 以下的内存占用。 + +## 什么是 Java 图表页面水印? +短语 *watermark diagram pages java* 指的是使用 Java 代码在图表文件(如 Visio、SVG 或 PDF)的每一页嵌入半透明文本覆盖层的做法。此技术有助于标识所有权、防止未授权使用,并在不更改原始内容的情况下添加品牌标识。 + +## 前提条件 +- Java Development Kit (JDK) 8 或更高版本。 +- 如 IntelliJ IDEA 或 Eclipse 等 IDE。 +- 用于依赖管理的 Maven(或手动添加 JAR 的能力)。 +- 有效的 GroupDocs.Watermark 许可证文件(临时试用可用于测试)。 + +## 为 Java 设置 GroupDocs.Watermark +在 `pom.xml` 中添加 GroupDocs.Watermark 的 Maven 坐标。此单一依赖会拉取所有必需的二进制文件。 + +`pom.xml` 条目如下所示: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +如果您更喜欢手动安装,请从官方发布页面 [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) 下载最新的 JAR 包。 + +### 获取许可证 +从 GroupDocs 门户 [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/) 获取临时试用许可证。获取 `.lic` 文件后,按如下方式加载它。 + +`License` 类加载您的 GroupDocs.Watermark 许可证文件,以解锁全部功能。 + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## 实施指南 +下面是逐步演示,向图表的每一页添加自定义文本水印。 + +### 如何向图表页面添加文本水印? +加载图表,创建 `TextWatermark` 对象,将其应用于所有页面,最后保存结果。整个过程仅需四个逻辑步骤。 + +#### 步骤 1:加载图表 +`DiagramLoadOptions` 类用于配置图表文件如何读取到内存中。提供源文件路径以及所需的任何特定格式选项。 + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### 步骤 2:初始化文本水印 +`TextWatermark` 表示可以应用于文档的文本覆盖层。 +使用所需的文本、字体、颜色和旋转角度创建 `TextWatermark` 实例。该对象定义了覆盖层的视觉外观。 + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### 步骤 3:将水印添加到图表 +`Watermarker` 类负责水印操作的协调。使用 `add` 方法将 `TextWatermark` 应用于图表的所有背景页面。 + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### 步骤 4:保存并关闭 +`save` 将修改后的文档写入指定的输出路径。`close` 释放底层文件资源。 +在 `Watermarker` 实例上调用 `save` 将带水印的图表写入磁盘,然后使用 `close` 释放资源。这可确保文件句柄及时释放。 + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## 常见问题与故障排除 +- **文件路径错误** – 确认路径在 Windows 上使用正斜杠 (`/`) 或转义的反斜杠 (`\\`)。 +- **不兼容的库版本** – GroupDocs.Watermark 23.10+ 需要 JDK 8+。如果出现 `NoClassDefFoundError`,请同时升级两者。 +- **缺少许可证** – 如果水印未出现,请检查控制台是否有 `License not loaded` 警告,并重新加载 `.lic` 文件。 + +## 实际应用 +1. **文档安全** – 防止竞争对手重新使用专有流程图。 +2. **品牌强化** – 在每个导出的图表上显示公司名称。 +3. **协作追踪** – 插入用户首字母作为水印,以识别谁编辑了每个版本。 + +## 性能考虑因素 +- 流式处理图表,而不是将其完整加载到内存中;API 会自动对大文件进行流式处理。 +- 将水印不透明度保持在 30‑50 % 之间,以在保持可读性的同时仍然可见。 +- 在批量处理数千个文件之前,使用具有代表性的样本进行测试,以评估 CPU 和内存的影响。 + +## 常见问题 +**Q: GroupDocs.Watermark 能处理像 SVG 这样的矢量格式吗?** +A: 是的,库完全支持 SVG、VSDX 以及其他矢量图表格式,水印后仍保持可伸缩性。 + +**Q: 能只对选定的页面添加水印吗?** +A: 当然。使用接受页面范围或 `PageCollection` 的 `add` 方法重载来定位特定页面。 + +**Q: 如何移除之前添加的水印?** +A: `remove` API 会扫描匹配的水印签名并将其删除,允许您在不重新上传的情况下恢复原始图表。 + +**Q: 水印在转换为 PDF 后会保留吗?** +A: 当您将带水印的图表保存为 PDF 时,覆盖层会被烘焙进 PDF 页面,因而在所有查看器中都是永久的。 + +**Q: 如果我应用多个水印会怎样?** +A: 每个水印按照添加顺序渲染;您可以叠加文本和图像水印,实现分层品牌效果。 + +## 其他资源 +- [文档](https://docs.groupdocs.com/watermark/java/) +- [API 参考](https://reference.groupdocs.com/watermark/java) +- [下载最新版本](https://releases.groupdocs.com/watermark/java/) +- [GitHub 仓库](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [免费支持论坛](https://forum.groupdocs.com/c/watermark/10) + +--- + +**最后更新:** 2026-10-16 +**测试环境:** GroupDocs.Watermark 23.11 for Java +**作者:** GroupDocs + +## 相关教程 +- [使用 GroupDocs.Watermark for Java 为图表添加水印的指南](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [在 Java 中使用 GroupDocs.Watermark 添加文本水印:分步指南](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [使用 GroupDocs.Watermark for Java 检索文档信息的分步指南](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/czech/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/czech/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..9e9529607 --- /dev/null +++ b/content/czech/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Naučte se, jak vodoznakovat stránky diagramů v Java s GroupDocs.Watermark. + Tento krok‑za‑krokem průvodce pokrývá nastavení, implementaci a osvědčené postupy + pro bezpečnou správu diagramů. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Naučte se, jak vodoznakovat stránky diagramů v Java s GroupDocs.Watermark. + Tento průvodce vás provede nastavením, ukázkami kódu a tipy na výkon pro ochranu + vašich diagramů. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Jak vodoznakovat stránky diagramů v Java pomocí GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Jak vodoznakovat stránky diagramů v Java pomocí GroupDocs.Watermark +type: docs +url: /cs/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Jak vkládat vodoznak na stránky diagramu v Java pomocí GroupDocs.Watermark + +Ochrana vizuálních aktiv ve vašich softwarových projektech je nezbytná, zejména když sdílíte diagramy s partnery nebo je vkládáte do dokumentace. V tomto tutoriálu se naučíte **jak v Java vkládat vodoznak na stránky diagramu** pomocí knihovny GroupDocs.Watermark. Pokryjeme vše od přípravy prostředí až po přesný kód potřebný k vložení opakovaně použitelného textového vodoznaku na každou stránku souboru diagramu. + +## Rychlé odpovědi +- **Jaká knihovna přidává vodoznaky do diagramů v Java?** GroupDocs.Watermark for Java. +- **Kolik řádků kódu je potřeba pro základní textový vodoznak?** Pouze pět řádků po načtení diagramu. +- **Potřebuji placenou licenci pro vývoj?** Bezplatná zkušební licence funguje pro testování; plná licence je vyžadována pro produkci. +- **Mohu vodoznakovat více stránek najednou?** Ano – API vám umožní použít stejný vodoznak na všechny stránky jedním voláním. +- **Je proces paměťově efektivní?** Knihovna streamuje stránky, takže i diagramy se stovkami stránek zůstávají pod 200 MB RAM. + +## Co je vodoznak na stránkách diagramu v Java? +Fráze *watermark diagram pages java* odkazuje na praxi vkládání poloprůhledného textového překryvu na každou stránku souboru diagramu (např. Visio, SVG nebo PDF) pomocí Java kódu. Tato technika pomáhá identifikovat vlastnictví, zabránit neoprávněnému použití a přidat značku bez změny původního obsahu. + +## Požadavky +- Java Development Kit (JDK) 8 nebo novější. +- IDE, jako je IntelliJ IDEA nebo Eclipse. +- Maven pro správu závislostí (nebo možnost přidat JAR soubory ručně). +- Platný licenční soubor GroupDocs.Watermark (dočasná zkušební licence funguje pro testování). + +## Nastavení GroupDocs.Watermark pro Java +Přidejte Maven koordinátu pro GroupDocs.Watermark do vašeho `pom.xml`. Tato jediná závislost stáhne všechny potřebné binární soubory. + +Záznam v `pom.xml` vypadá takto: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Pokud dáváte přednost ruční instalaci, stáhněte nejnovější JAR soubory z oficiální stránky vydání [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Získání licence +Získejte dočasnou zkušební licenci z portálu GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Po obdržení souboru `.lic` jej načtěte, jak je ukázáno níže. + +Třída `License` načte váš licenční soubor GroupDocs.Watermark a odemkne plnou funkčnost. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Průvodce implementací +Níže je podrobný průvodce, který přidá vlastní textový vodoznak na každou stránku diagramu. + +### Jak přidat textový vodoznak na stránky diagramu? +Načtěte diagram, vytvořte objekt `TextWatermark`, aplikujte jej na všechny stránky a nakonec výsledek uložte. Celý proces vyžaduje pouze čtyři logické kroky. + +#### Krok 1: načtěte svůj diagram +Třída `DiagramLoadOptions` konfiguruje, jak je soubor diagramu načten do paměti. Zadejte cestu ke zdrojovému souboru a případné formátově specifické možnosti, které potřebujete. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Krok 2: inicializujte textový vodoznak +`TextWatermark` představuje textový překrytí, které lze aplikovat na dokumenty. +Vytvořte instanci `TextWatermark` s požadovaným textem, fontem, barvou a rotací. Tento objekt definuje vizuální vzhled překrytí. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Krok 3: přidejte vodoznak do diagramu +Třída `Watermarker` řídí operaci vodoznakování. Použijte metodu `add` k aplikaci `TextWatermark` na všechny pozadí stránky diagramu. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Krok 4: uložte a zavřete +`save` zapíše upravený dokument na zadanou výstupní cestu. `close` uvolní podkladové souborové zdroje. +Zavolejte `save` na instanci `Watermarker`, aby se vodoznakovaný diagram uložil na disk, a poté uvolněte zdroje pomocí `close`. Tím se zajistí rychlé uvolnění souborového handle. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Časté problémy a řešení +- **Chyby v cestě k souboru** – Ověřte, že cesta používá lomítka (`/`) nebo escapované zpětné lomítka (`\\`) ve Windows. +- **Nekompatibilní verze knihovny** – GroupDocs.Watermark 23.10+ vyžaduje JDK 8+. Aktualizujte obojí, pokud se objeví `NoClassDefFoundError`. +- **Chybějící licence** – Pokud se vodoznak nezobrazí, zkontrolujte konzoli na varování `License not loaded` a znovu načtěte soubor `.lic`. + +## Praktické aplikace +1. **Bezpečnost dokumentů** – Zabránit konkurenci v opětovném použití proprietárních vývojových diagramů. +2. **Posílení značky** – Zobrazit název vaší společnosti na každém exportovaném diagramu. +3. **Sledování spolupráce** – Vložit iniciály uživatele jako vodoznak pro identifikaci, kdo upravil kterou verzi. + +## Úvahy o výkonu +- Streamujte diagramy místo jejich úplného načtení do paměti; API to provádí automaticky pro velké soubory. +- Udržujte neprůhlednost vodoznaku mezi 30‑50 % pro zachování čitelnosti a zároveň viditelnost. +- Otestujte na reprezentativním vzorku před dávkovým zpracováním tisíců souborů, abyste odhadli dopad na CPU a paměť. + +## Často kladené otázky + +**Q: Dokáže GroupDocs.Watermark pracovat s vektorovými formáty jako SVG?** +A: Ano, knihovna plně podporuje SVG, VSDX a další vektorové formáty diagramů, zachovávající škálovatelnost po vodoznakování. + +**Q: Je možné vodoznakovat pouze vybrané stránky?** +A: Rozhodně. Použijte přetíženou metodu `add`, která přijímá rozsah stránek nebo `PageCollection` pro cílení konkrétních stránek. + +**Q: Jak odebrat vodoznak, který byl dříve přidán?** +A: API `remove` prohledá odpovídající podpisy vodoznaku a odstraní je, což vám umožní obnovit původní diagram bez nutnosti opětovného nahrání. + +**Q: Přetrvá vodoznak po konverzi do PDF?** +A: Když uložíte vodoznakovaný diagram jako PDF, překrytí je zakomponováno do stránek PDF, což ho činí trvalým napříč prohlížeči. + +**Q: Co se stane, když použiji více vodoznaků?** +A: Každý vodoznak je vykreslen v pořadí, v jakém byl přidán; můžete vrstvit textové a obrazové vodoznaky pro víceúrovňové značení. + +## Další zdroje +- [Dokumentace](https://docs.groupdocs.com/watermark/java/) +- [Reference API](https://reference.groupdocs.com/watermark/java) +- [Stáhnout nejnovější verzi](https://releases.groupdocs.com/watermark/java/) +- [Repozitář na GitHubu](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Bezplatné fórum podpory](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Poslední aktualizace:** 2026-10-16 +**Testováno s:** GroupDocs.Watermark 23.11 for Java +**Autor:** GroupDocs + +--- + +## Související tutoriály + +- [Průvodce přidáváním vodoznaků do diagramů pomocí GroupDocs.Watermark pro Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Přidání textových vodoznaků v Java pomocí GroupDocs.Watermark: krok za krokem](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Jak získat informace o dokumentu pomocí GroupDocs.Watermark pro Java: krok za krokem](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/dutch/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/dutch/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..174bbc0bb --- /dev/null +++ b/content/dutch/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Leer hoe je diagrampagina's watermerkt in Java met GroupDocs.Watermark. + Deze stapsgewijze gids behandelt installatie, implementatie en best practices voor + veilige diagramverwerking. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Leer hoe je diagrampagina's watermerkt in Java met GroupDocs.Watermark. + Deze gids leidt je door de installatie, codevoorbeelden en prestatietips voor het + beschermen van je diagrammen. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Hoe diagrampagina's watermerken in Java met GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Hoe diagrampagina's watermerken in Java met GroupDocs.Watermark +type: docs +url: /nl/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Hoe diagrampagina's watermerken in Java met GroupDocs.Watermark + +Het beschermen van de visuele assets in uw softwareprojecten is essentieel, vooral wanneer u diagrammen deelt met partners of deze in documentatie opneemt. In deze tutorial leert u **hoe diagrampagina's watermerken in Java** met behulp van de GroupDocs.Watermark-bibliotheek. We behandelen alles, van het voorbereiden van de omgeving tot de exacte code die nodig is om een herbruikbare tekstwatermark op elke pagina van een diagrambestand toe te voegen. + +## Snelle antwoorden +- **Welke bibliotheek voegt watermarks toe aan diagrammen in Java?** GroupDocs.Watermark for Java. +- **Hoeveel regels code zijn nodig voor een eenvoudige tekstwatermark?** Slechts vijf regels nadat het diagram is geladen. +- **Heb ik een betaalde licentie nodig voor ontwikkeling?** Een gratis proeflicentie werkt voor testen; een volledige licentie is vereist voor productie. +- **Kan ik meerdere pagina's tegelijk watermerken?** Ja – de API laat u dezelfde watermark toepassen op alle pagina's in één oproep. +- **Is het proces geheugen‑efficiënt?** De bibliotheek streamt pagina's, zodat zelfs diagrammen met honderden pagina's onder de 200 MB RAM blijven. + +## Wat is watermark diagram pages java? +De uitdrukking *watermark diagram pages java* verwijst naar de praktijk van het insluiten van een semi‑transparante tekstoverlay op elke pagina van een diagrambestand (zoals Visio, SVG of PDF) met Java‑code. Deze techniek helpt eigendom te identificeren, ongeautoriseerd hergebruik te voorkomen en branding toe te voegen zonder de originele inhoud te wijzigen. + +## Vereisten +- Java Development Kit (JDK) 8 of nieuwer. +- Een IDE zoals IntelliJ IDEA of Eclipse. +- Maven voor afhankelijkheidsbeheer (of de mogelijkheid om JAR‑bestanden handmatig toe te voegen). +- Een geldig GroupDocs.Watermark‑licentiebestand (een tijdelijke proeflicentie werkt voor testen). + +## GroupDocs.Watermark voor Java configureren +Voeg de Maven‑coördinaat voor GroupDocs.Watermark toe aan uw `pom.xml`. Deze enkele afhankelijkheid haalt alle benodigde binaries op. + +De `pom.xml`‑invoer ziet er als volgt uit: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Als u de handmatige installatie verkiest, download dan de nieuwste JAR‑bestanden van de officiële release‑pagina [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Licentie‑acquisitie +Verkrijg een tijdelijke proeflicentie via het GroupDocs‑portaal [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Nadat u het `.lic`‑bestand heeft ontvangen, laadt u het zoals hieronder weergegeven. + +De `License`‑klasse laadt uw GroupDocs.Watermark‑licentiebestand om de volledige functionaliteit te ontgrendelen. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Implementatie‑gids +Hieronder vindt u een stapsgewijze walkthrough die een aangepaste tekstwatermark toevoegt aan elke pagina van een diagram. + +### Hoe een tekstwatermark toevoegen aan diagrampagina's? +Laad het diagram, maak een `TextWatermark`‑object aan, pas het toe op alle pagina's en sla tenslotte het resultaat op. Het volledige proces vereist slechts vier logische stappen. + +#### Stap 1: laad uw diagram +De `DiagramLoadOptions`‑klasse configureert hoe een diagrambestand in het geheugen wordt gelezen. Geef het bronbestandspad en eventuele formaat‑specifieke opties die u nodig heeft. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Stap 2: initialiseert de tekstwatermark +`TextWatermark` vertegenwoordigt een tekstoverlay die op documenten kan worden toegepast. +Maak een `TextWatermark`‑instantie met de gewenste tekst, lettertype, kleur en rotatie. Dit object bepaalt het visuele uiterlijk van de overlay. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Stap 3: voeg de watermark toe aan het diagram +De `Watermarker`‑klasse orkestreert de watermerk‑bewerking. Gebruik de `add`‑methode om de `TextWatermark` toe te passen op alle achtergrondpagina's van het diagram. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Stap 4: opslaan en sluiten +`save` schrijft het gewijzigde document naar het opgegeven uitvoerpad. `close` vrijgeeft de onderliggende bestandsbronnen. +Roep `save` aan op de `Watermarker`‑instantie om het watergemerkte diagram naar schijf te schrijven, en maak vervolgens de bronnen vrij met `close`. Dit zorgt ervoor dat de bestands‑handle snel wordt vrijgegeven. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Veelvoorkomende problemen en foutopsporing +- **Bestandspad‑fouten** – Controleer of het pad schuine strepen (`/`) of ge‑escaped backslashes (`\\`) op Windows gebruikt. +- **Incompatibele bibliotheekversies** – GroupDocs.Watermark 23.10+ vereist JDK 8+. Upgrade beide indien u `NoClassDefFoundError` ziet. +- **Ontbrekende licentie** – Als de watermark niet verschijnt, controleer dan de console op een `License not loaded`‑waarschuwing en laad het `.lic`‑bestand opnieuw. + +## Praktische toepassingen +1. **Documentbeveiliging** – Voorkom dat concurrenten propriëtaire flowcharts hergebruiken. +2. **Merkversterking** – Toon uw bedrijfsnaam op elk geëxporteerd diagram. +3. **Samenwerkings‑tracking** – Voeg gebruikersinitialen toe als watermark om te identificeren wie elke versie heeft bewerkt. + +## Prestatie‑overwegingen +- Stream diagrammen in plaats van ze volledig in het geheugen te laden; de API doet dit automatisch voor grote bestanden. +- Houd de opacity van de watermark tussen 30‑50 % om leesbaarheid te behouden terwijl deze nog zichtbaar is. +- Test met een representatieve steekproef voordat u duizenden bestanden in batch verwerkt om de CPU‑ en geheugenimpact te beoordelen. + +## Veelgestelde vragen + +**Q: Kan GroupDocs.Watermark vectorformaten zoals SVG aan?** +A: Ja, de bibliotheek ondersteunt SVG, VSDX en andere vector‑diagramformaten volledig, en behoudt schaalbaarheid na het watermerken. + +**Q: Is het mogelijk om alleen geselecteerde pagina's te watermerken?** +A: Absoluut. Gebruik de `add`‑method overload die een paginabereik of een `PageCollection` accepteert om specifieke pagina's te targeten. + +**Q: Hoe verwijder ik een watermark die eerder is toegevoegd?** +A: De `remove`‑API scant op overeenkomende watermark‑handtekeningen en verwijdert ze, waardoor u het originele diagram kunt herstellen zonder opnieuw te uploaden. + +**Q: Overleeft de watermark PDF-conversie?** +A: Wanneer u het watergemerkte diagram opslaat als PDF, wordt de overlay in de PDF‑pagina's ingebakken, waardoor deze permanent is in alle viewers. + +**Q: Wat gebeurt er als ik meerdere watermarks toepas?** +A: Elke watermark wordt gerenderd in de volgorde van toevoegen; u kunt tekst‑ en afbeelding‑watermarks stapelen voor gelaagde branding. + +## Aanvullende bronnen +- [Documentatie](https://docs.groupdocs.com/watermark/java/) +- [API‑referentie](https://reference.groupdocs.com/watermark/java) +- [Download nieuwste versie](https://releases.groupdocs.com/watermark/java/) +- [GitHub‑repository](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Gratis ondersteuningsforum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Laatst bijgewerkt:** 2026-10-16 +**Getest met:** GroupDocs.Watermark 23.11 for Java +**Auteur:** GroupDocs + +## Gerelateerde tutorials + +- [Gids voor het toevoegen van watermarks aan diagrammen met GroupDocs.Watermark voor Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Tekstwatermarks toevoegen in Java met GroupDocs.Watermark: Een stapsgewijze gids](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Hoe documentinformatie op te halen met GroupDocs.Watermark voor Java: Een stapsgewijze gids](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md index bec25589b..59ec6dd04 100644 --- a/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md +++ b/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -1,37 +1,101 @@ --- -title: "How to Add Text Watermarks to Diagrams Using GroupDocs.Watermark in Java" -description: "Learn how to add text watermarks to diagrams using GroupDocs.Watermark for Java. This guide covers setup, implementation, and practical applications." -date: "2025-05-15" -weight: 1 -url: "/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/" +date: '2026-10-16' +description: Learn how to watermark diagram pages java with GroupDocs.Watermark. This + step‑by‑step guide covers setup, implementation, and best practices for secure diagram + handling. +images: +- /java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/og-image.png keywords: -- text watermarks in Java -- add text watermark to diagram -- GroupDocs Watermark for Java setup +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This guide walks you through setup, code snippets, and performance tips for protecting + your diagrams. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: How to watermark diagram pages java using GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: How to watermark diagram pages java using GroupDocs.Watermark type: docs +url: /java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 --- -# How to Add Text Watermarks to Diagrams Using GroupDocs.Watermark in Java -## Introduction -In the digital age, protecting your intellectual property is crucial. Whether you're sharing diagrams across platforms or collaborating on sensitive projects, ensuring that your work remains identifiable and secure can be challenging. This tutorial guides you through adding text watermarks to diagram pages using **GroupDocs.Watermark for Java**. By following these steps, you'll safeguard your content while maintaining professionalism. -### What You'll Learn: -- How to add text watermarks to diagrams in Java -- The benefits and features of GroupDocs.Watermark for Java -- Step-by-step implementation with code examples +# How to watermark diagram pages java using GroupDocs.Watermark + +Protecting the visual assets in your software projects is essential, especially when you share diagrams with partners or embed them in documentation. In this tutorial you’ll learn **how to watermark diagram pages java** using the GroupDocs.Watermark library. We’ll cover everything from environment preparation to the exact code needed to embed a reusable text watermark on every page of a diagram file. + +## Quick answers +- **What library adds watermarks to diagrams in Java?** GroupDocs.Watermark for Java. +- **How many lines of code are needed for a basic text watermark?** Only five lines after the diagram is loaded. +- **Do I need a paid license for development?** A free trial license works for testing; a full license is required for production. +- **Can I watermark multiple pages at once?** Yes – the API lets you apply the same watermark to all pages in a single call. +- **Is the process memory‑efficient?** The library streams pages, so even multi‑hundred‑page diagrams stay under 200 MB of RAM. -Ready to enhance document security? Let's get started by ensuring you have everything you need! +## What is watermark diagram pages java? +The phrase *watermark diagram pages java* refers to the practice of embedding a semi‑transparent text overlay onto each page of a diagram file (such as Visio, SVG, or PDF) using Java code. This technique helps identify ownership, prevent unauthorized reuse, and add branding without altering the original content. ## Prerequisites -Before we begin, ensure you have the following: -- **Java Development Kit (JDK)**: Version 8 or higher. -- **Integrated Development Environment (IDE)** like IntelliJ IDEA or Eclipse. -- Basic understanding of Java programming. +- Java Development Kit (JDK) 8 or newer. +- An IDE such as IntelliJ IDEA or Eclipse. +- Maven for dependency management (or the ability to add JARs manually). +- A valid GroupDocs.Watermark license file (temporary trial works for testing). -### Required Libraries and Dependencies -We'll be using GroupDocs.Watermark for Java, which can be easily integrated into your project via Maven. Here's how you can set it up: +## Setting up GroupDocs.Watermark for Java +Add the Maven coordinate for GroupDocs.Watermark to your `pom.xml`. This single dependency pulls in all required binaries. + +The `pom.xml` entry looks like this: -## Setting Up GroupDocs.Watermark for Java -To begin with, include the following in your `pom.xml` file if you're using Maven: ```xml @@ -49,93 +113,112 @@ To begin with, include the following in your `pom.xml` file if you're using Mave ``` -If you prefer to download directly, visit [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) and follow the instructions. -### License Acquisition -You can start with a free trial by downloading a temporary license from [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). For extended use, consider purchasing a full license. Once you have your license file, simply load it using: +If you prefer manual installation, download the latest JARs from the official release page [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### License acquisition +Obtain a temporary trial license from the GroupDocs portal [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). After you receive the `.lic` file, load it as shown below. + +The `License` class loads your GroupDocs.Watermark license file to unlock full functionality. + ```java License license = new License(); license.setLicense("path/to/license/file"); ``` -## Implementation Guide -Now, let's dive into the implementation process. +## Implementation guide +Below is a step‑by‑step walkthrough that adds a custom text watermark to every page of a diagram. + +### How to add a text watermark to diagram pages? +Load the diagram, create a `TextWatermark` object, apply it to all pages, and finally save the result. The entire process requires only four logical steps. + +#### Step 1: load your diagram +The `DiagramLoadOptions` class configures how a diagram file is read into memory. Provide the source file path and any format‑specific options you need. -### Adding Text Watermarks to Diagram Pages -#### Step 1: Load Your Diagram -First, load the diagram file using `DiagramLoadOptions`: ```java String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); ``` -Here, `inputFilePath` is your source diagram file path. -#### Step 2: Initialize the Text Watermark -Create a `TextWatermark` object with custom text and font settings: +#### Step 2: initialize the text watermark +`TextWatermark` represents a text overlay that can be applied to documents. +Create a `TextWatermark` instance with the desired text, font, color, and rotation. This object defines the visual appearance of the overlay. + ```java TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); textWatermark.setColor(Color.getBlue()); textWatermark.setBackground(false); textWatermark.setRotationAngle(-45); ``` -This snippet sets the watermark text, font, color, and rotation. -#### Step 3: Add Watermark to Diagram -Next, specify where you want your watermark to appear: +#### Step 3: add the watermark to the diagram +The `Watermarker` class orchestrates the watermarking operation. Use the `add` method to apply the `TextWatermark` to all background pages of the diagram. + ```java DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); options.setPlacement(DiagramWatermarkPlacementType.Background); watermarker.add(textWatermark, options); ``` -This places the watermark on all background pages of the diagram. -#### Step 4: Save and Close -Finally, save the watermarked diagram and close the `Watermarker`: +#### Step 4: save and close +`save` writes the modified document to the specified output path. `close` releases the underlying file resources. +Call `save` on the `Watermarker` instance to write the watermarked diagram to disk, then release resources with `close`. This ensures the file handle is released promptly. + ```java String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; watermarker.save(outputFilePath); watermarker.close(); ``` -### Troubleshooting Tips -- **File Path Issues**: Ensure your file paths are correct and accessible. -- **Library Versions**: Check that you're using compatible versions of Java and GroupDocs.Watermark. - -## Practical Applications -Text watermarks can be invaluable in several scenarios: -1. **Document Security**: Protect diagrams shared online from unauthorized use. -2. **Branding**: Add company logos or names to documents for branding purposes. -3. **Collaboration**: Mark diagrams with user initials during collaborative projects to track contributions. - -## Performance Considerations -- Use memory efficiently by closing resources promptly after use. -- Optimize the watermark's size and complexity to ensure quick processing times. -- Always test on sample files before applying changes to large batches. - -## Conclusion -By now, you should have a solid understanding of how to add text watermarks to diagram pages using GroupDocs.Watermark for Java. This skill not only enhances document security but also provides branding opportunities across your digital content. - -### Next Steps -- Explore other watermarking features offered by GroupDocs. -- Experiment with different watermark styles and placements. - -Ready to put this knowledge into action? Start experimenting and see how watermarks can enhance your projects! - -## FAQ Section -1. **Can I use GroupDocs.Watermark for other file formats?** - - Yes, it supports a wide range of document types beyond diagrams. -2. **Is there a limit to the number of watermarks I can add?** - - No specific limit exists, but consider performance impacts with large numbers. -3. **How do I remove a watermark from a diagram?** - - GroupDocs.Watermark provides tools for detecting and removing existing watermarks. -4. **Can text watermarks be added to all pages or selected ones only?** - - You can configure settings to apply watermarks selectively. -5. **What should I do if the watermark doesn't appear as expected?** - - Verify your placement and styling options, and consult the API documentation for troubleshooting tips. - -## Resources +## Common issues and troubleshooting +- **File path errors** – Verify that the path uses forward slashes (`/`) or escaped backslashes (`\\`) on Windows. +- **Incompatible library versions** – GroupDocs.Watermark 23.10+ requires JDK 8+. Upgrade both if you see `NoClassDefFoundError`. +- **Missing license** – If the watermark does not appear, check the console for a `License not loaded` warning and re‑load the `.lic` file. + +## Practical applications +1. **Document security** – Prevent competitors from re‑using proprietary flowcharts. +2. **Brand reinforcement** – Display your company name on every exported diagram. +3. **Collaboration tracking** – Insert user initials as a watermark to identify who edited each version. + +## Performance considerations +- Stream diagrams instead of loading them fully into memory; the API does this automatically for large files. +- Keep watermark opacity between 30‑50 % to maintain readability while still being visible. +- Test with a representative sample before batch‑processing thousands of files to gauge CPU and memory impact. + +## Frequently asked questions + +**Q: Can GroupDocs.Watermark handle vector formats like SVG?** +A: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, preserving scalability after watermarking. + +**Q: Is it possible to watermark only selected pages?** +A: Absolutely. Use the `add` method overload that accepts a page range or a `PageCollection` to target specific pages. + +**Q: How do I remove a watermark that was previously added?** +A: The `remove` API scans for matching watermark signatures and deletes them, allowing you to restore the original diagram without re‑uploading. + +**Q: Does the watermark survive PDF conversion?** +A: When you save the watermarked diagram as PDF, the overlay is baked into the PDF pages, making it permanent across viewers. + +**Q: What happens if I apply multiple watermarks?** +A: Each watermark is rendered in the order added; you can stack text and image watermarks for layered branding. + +## Additional resources - [Documentation](https://docs.groupdocs.com/watermark/java/) - [API Reference](https://reference.groupdocs.com/watermark/java) - [Download Latest Version](https://releases.groupdocs.com/watermark/java/) - [GitHub Repository](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) - [Free Support Forum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Last Updated:** 2026-10-16 +**Tested With:** GroupDocs.Watermark 23.11 for Java +**Author:** GroupDocs + +--- + +## Related Tutorials + +- [Guide to Adding Watermarks to Diagrams Using GroupDocs.Watermark for Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Add Text Watermarks in Java Using GroupDocs.Watermark: A Step-by-Step Guide](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [How to Retrieve Document Information Using GroupDocs.Watermark for Java: A Step-by-Step Guide](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/og-image.png b/content/english/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..fc58fff30ade1ad045331deffd3133f153017256 GIT binary patch literal 51720 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 X`p@83FPee7I;O0k{-i+emCyeLH;euG literal 0 HcmV?d00001 diff --git a/content/french/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/french/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..3bfe3bd6e --- /dev/null +++ b/content/french/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Apprenez comment ajouter un filigrane aux pages de diagramme java avec + GroupDocs.Watermark. Ce guide étape par étape couvre la configuration, l'implémentation + et les meilleures pratiques pour une gestion sécurisée des diagrammes. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Apprenez comment ajouter un filigrane aux pages de diagramme java + avec GroupDocs.Watermark. Ce guide vous accompagne à travers la configuration, des + extraits de code et des conseils de performance pour protéger vos diagrammes. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Comment ajouter un filigrane aux pages de diagramme java avec GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Comment ajouter un filigrane aux pages de diagramme java avec GroupDocs.Watermark +type: docs +url: /fr/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Comment ajouter un filigrane aux pages de diagramme java avec GroupDocs.Watermark + +Protéger les actifs visuels de vos projets logiciels est essentiel, surtout lorsque vous partagez des diagrammes avec des partenaires ou les intégrez dans la documentation. Dans ce tutoriel, vous apprendrez **comment ajouter un filigrane aux pages de diagramme java** en utilisant la bibliothèque GroupDocs.Watermark. Nous couvrirons tout, de la préparation de l’environnement au code exact nécessaire pour intégrer un filigrane texte réutilisable sur chaque page d’un fichier de diagramme. + +## Réponses rapides +- **Quelle bibliothèque ajoute des filigranes aux diagrammes en Java ?** GroupDocs.Watermark pour Java. +- **Combien de lignes de code sont nécessaires pour un filigrane texte de base ?** Seulement cinq lignes après le chargement du diagramme. +- **Ai‑je besoin d’une licence payante pour le développement ?** Une licence d’essai gratuite suffit pour les tests ; une licence complète est requise pour la production. +- **Puis‑je appliquer un filigrane à plusieurs pages en même temps ?** Oui – l’API vous permet d’appliquer le même filigrane à toutes les pages en un seul appel. +- **Le processus est‑il efficace en mémoire ?** La bibliothèque diffuse les pages, de sorte que même les diagrammes de plusieurs centaines de pages restent sous 200 Mo de RAM. + +## Qu’est‑ce que watermark diagram pages java ? +L’expression *watermark diagram pages java* désigne la pratique d’insérer une superposition de texte semi‑transparent sur chaque page d’un fichier de diagramme (tel que Visio, SVG ou PDF) à l’aide de code Java. Cette technique aide à identifier la propriété, à empêcher la réutilisation non autorisée et à ajouter une marque sans modifier le contenu original. + +## Prérequis +- Java Development Kit (JDK) 8 ou version ultérieure. +- Un IDE tel qu’IntelliJ IDEA ou Eclipse. +- Maven pour la gestion des dépendances (ou la possibilité d’ajouter les JARs manuellement). +- Un fichier de licence valide GroupDocs.Watermark (une licence d’essai temporaire suffit pour les tests). + +## Configuration de GroupDocs.Watermark pour Java +Ajoutez la coordonnée Maven de GroupDocs.Watermark à votre `pom.xml`. Cette dépendance unique récupère tous les binaires requis. + +L’entrée `pom.xml` ressemble à ceci : + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Si vous préférez une installation manuelle, téléchargez les derniers JARs depuis la page officielle des versions [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Acquisition de licence +Obtenez une licence d’essai temporaire depuis le portail GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Après avoir reçu le fichier `.lic`, chargez‑le comme indiqué ci‑dessous. + +La classe `License` charge votre fichier de licence GroupDocs.Watermark pour débloquer toutes les fonctionnalités. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Guide d’implémentation +Voici un déroulement étape par étape qui ajoute un filigrane texte personnalisé à chaque page d’un diagramme. + +### Comment ajouter un filigrane texte aux pages de diagramme ? +Chargez le diagramme, créez un objet `TextWatermark`, appliquez‑le à toutes les pages, puis enregistrez le résultat. Le processus complet ne nécessite que quatre étapes logiques. + +#### Étape 1 : charger votre diagramme +La classe `DiagramLoadOptions` configure la façon dont un fichier de diagramme est lu en mémoire. Fournissez le chemin du fichier source et les options spécifiques au format dont vous avez besoin. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Étape 2 : initialiser le filigrane texte +`TextWatermark` représente une superposition de texte pouvant être appliquée aux documents. +Créez une instance `TextWatermark` avec le texte souhaité, la police, la couleur et la rotation. Cet objet définit l’apparence visuelle de la superposition. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Étape 3 : ajouter le filigrane au diagramme +La classe `Watermarker` orchestre l’opération de filigrane. Utilisez la méthode `add` pour appliquer le `TextWatermark` à toutes les pages d’arrière‑plan du diagramme. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Étape 4 : enregistrer et fermer +`save` écrit le document modifié vers le chemin de sortie spécifié. `close` libère les ressources de fichier sous‑jacentes. +Appelez `save` sur l’instance `Watermarker` pour écrire le diagramme filigrané sur le disque, puis libérez les ressources avec `close`. Cela garantit que le handle de fichier est libéré rapidement. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Problèmes courants et dépannage +- **Erreurs de chemin de fichier** – Vérifiez que le chemin utilise des barres obliques (`/`) ou des barres obliques inverses échappées (`\\`) sous Windows. +- **Versions de bibliothèque incompatibles** – GroupDocs.Watermark 23.10+ nécessite JDK 8+. Mettez à jour les deux si vous voyez `NoClassDefFoundError`. +- **Licence manquante** – Si le filigrane n’apparaît pas, consultez la console pour un avertissement `License not loaded` et rechargez le fichier `.lic`. + +## Applications pratiques +1. **Sécurité des documents** – Empêchez les concurrents de réutiliser vos organigrammes propriétaires. +2. **Renforcement de la marque** – Affichez le nom de votre société sur chaque diagramme exporté. +3. **Suivi de la collaboration** – Insérez les initiales de l’utilisateur comme filigrane pour identifier qui a modifié chaque version. + +## Considérations de performance +- Diffusez les diagrammes au lieu de les charger entièrement en mémoire ; l’API le fait automatiquement pour les gros fichiers. +- Gardez l’opacité du filigrane entre 30 % et 50 % pour conserver la lisibilité tout en restant visible. +- Testez avec un échantillon représentatif avant de traiter par lots des milliers de fichiers afin d’évaluer l’impact sur le CPU et la mémoire. + +## Questions fréquentes + +**Q : GroupDocs.Watermark peut‑il gérer les formats vectoriels comme SVG ?** +R : Oui, la bibliothèque prend en charge SVG, VSDX et d’autres formats de diagrammes vectoriels, en conservant la scalabilité après le filigrane. + +**Q : Est‑il possible de filigraner uniquement des pages sélectionnées ?** +R : Absolument. Utilisez la surcharge de la méthode `add` qui accepte une plage de pages ou un `PageCollection` pour cibler des pages spécifiques. + +**Q : Comment supprimer un filigrane ajouté précédemment ?** +R : L’API `remove` recherche les signatures de filigrane correspondantes et les supprime, vous permettant de restaurer le diagramme original sans le re‑téléverser. + +**Q : Le filigrane survit‑il à la conversion PDF ?** +R : Lors de l’enregistrement du diagramme filigrané au format PDF, la superposition est intégrée aux pages PDF, la rendant permanente quel que soit le visualiseur. + +**Q : Que se passe‑t‑il si j’applique plusieurs filigranes ?** +R : Chaque filigrane est rendu dans l’ordre d’ajout ; vous pouvez empiler des filigranes texte et image pour un branding en couches. + +## Ressources supplémentaires +- [Documentation](https://docs.groupdocs.com/watermark/java/) +- [Référence API](https://reference.groupdocs.com/watermark/java) +- [Télécharger la dernière version](https://releases.groupdocs.com/watermark/java/) +- [Dépôt GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Forum d’assistance gratuit](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Dernière mise à jour :** 2026-10-16 +**Testé avec :** GroupDocs.Watermark 23.11 pour Java +**Auteur :** GroupDocs + +--- + +## Tutoriels associés + +- [Guide d’ajout de filigranes aux diagrammes avec GroupDocs.Watermark pour Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Ajouter des filigranes texte en Java avec GroupDocs.Watermark : guide étape par étape](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Comment récupérer les informations d’un document avec GroupDocs.Watermark pour Java : guide étape par étape](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/german/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/german/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..15cabadff --- /dev/null +++ b/content/german/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Erfahren Sie, wie Sie Diagrammseiten java mit GroupDocs.Watermark versehen. + Dieser Schritt‑für‑Schritt‑Leitfaden behandelt Einrichtung, Implementierung und + bewährte Methoden für die sichere Handhabung von Diagrammen. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Erfahren Sie, wie Sie Diagrammseiten java mit GroupDocs.Watermark + versehen. Dieser Leitfaden führt Sie durch die Einrichtung, Code‑Beispiele und Performance‑Tipps + zum Schutz Ihrer Diagramme. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Wie man Diagrammseiten java mit GroupDocs.Watermark versieht +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Wie man Diagrammseiten java mit GroupDocs.Watermark versieht +type: docs +url: /de/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Wie man Diagrammseiten in Java mit GroupDocs.Watermark versieht + +Der Schutz der visuellen Assets in Ihren Softwareprojekten ist essenziell, besonders wenn Sie Diagramme mit Partnern teilen oder sie in Dokumentationen einbetten. In diesem Tutorial lernen Sie **wie man Diagrammseiten in Java mit einem Wasserzeichen versieht** mithilfe der GroupDocs.Watermark-Bibliothek. Wir behandeln alles von der Vorbereitung der Umgebung bis zum genauen Code, der erforderlich ist, um ein wiederverwendbares Textwasserzeichen auf jeder Seite einer Diagrammdatei einzubetten. + +## Schnelle Antworten +- **Welche Bibliothek fügt Wasserzeichen zu Diagrammen in Java hinzu?** GroupDocs.Watermark für Java. +- **Wie viele Codezeilen werden für ein einfaches Textwasserzeichen benötigt?** Nur fünf Zeilen nach dem Laden des Diagramms. +- **Benötige ich eine kostenpflichtige Lizenz für die Entwicklung?** Eine kostenlose Testlizenz funktioniert für Tests; für die Produktion ist eine Volllizenz erforderlich. +- **Kann ich mehrere Seiten gleichzeitig mit einem Wasserzeichen versehen?** Ja – die API ermöglicht es, dasselbe Wasserzeichen in einem Aufruf auf alle Seiten anzuwenden. +- **Ist der Vorgang speichereffizient?** Die Bibliothek streamt Seiten, sodass selbst Diagramme mit mehreren hundert Seiten unter 200 MB RAM bleiben. + +## Was bedeutet „watermark diagram pages java“? +Der Ausdruck *watermark diagram pages java* bezieht sich auf die Praxis, ein halbtransparentes Text-Overlay auf jede Seite einer Diagrammdatei (wie Visio, SVG oder PDF) mittels Java‑Code einzufügen. Diese Technik hilft, Eigentum zu kennzeichnen, unbefugte Wiederverwendung zu verhindern und Branding hinzuzufügen, ohne den Originalinhalt zu verändern. + +## Voraussetzungen +- Java Development Kit (JDK) 8 oder neuer. +- Eine IDE wie IntelliJ IDEA oder Eclipse. +- Maven für das Abhängigkeitsmanagement (oder die Möglichkeit, JARs manuell hinzuzufügen). +- Eine gültige GroupDocs.Watermark-Lizenzdatei (eine temporäre Testlizenz funktioniert für Tests). + +## Einrichtung von GroupDocs.Watermark für Java +Fügen Sie die Maven-Koordinate für GroupDocs.Watermark zu Ihrer `pom.xml` hinzu. Diese einzelne Abhängigkeit zieht alle erforderlichen Binärdateien nach. + +Der `pom.xml`‑Eintrag sieht folgendermaßen aus: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Wenn Sie eine manuelle Installation bevorzugen, laden Sie die neuesten JARs von der offiziellen Release‑Seite [GroupDocs.Watermark für Java Versionen](https://releases.groupdocs.com/watermark/java/). + +### Lizenzbeschaffung +Erhalten Sie eine temporäre Testlizenz über das GroupDocs‑Portal [GroupDocs.Testlizenzierung](https://purchase.groupdocs.com/temporary-license/). Nachdem Sie die `.lic`‑Datei erhalten haben, laden Sie sie wie unten gezeigt. + +Die Klasse `License` lädt Ihre GroupDocs.Watermark‑Lizenzdatei, um die volle Funktionalität freizuschalten. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Implementierungsanleitung +Im Folgenden finden Sie eine Schritt‑für‑Schritt‑Anleitung, die ein benutzerdefiniertes Textwasserzeichen zu jeder Seite eines Diagramms hinzufügt. + +### Wie fügt man ein Textwasserzeichen zu Diagrammseiten hinzu? +Laden Sie das Diagramm, erstellen Sie ein `TextWatermark`‑Objekt, wenden Sie es auf alle Seiten an und speichern Sie schließlich das Ergebnis. Der gesamte Vorgang erfordert nur vier logische Schritte. + +#### Schritt 1: Diagramm laden +Die Klasse `DiagramLoadOptions` konfiguriert, wie eine Diagrammdatei in den Speicher geladen wird. Geben Sie den Quelldateipfad und alle format‑spezifischen Optionen an, die Sie benötigen. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Schritt 2: Textwasserzeichen initialisieren +`TextWatermark` stellt ein Text‑Overlay dar, das auf Dokumente angewendet werden kann. +Erstellen Sie eine `TextWatermark`‑Instanz mit dem gewünschten Text, Schriftart, Farbe und Rotation. Dieses Objekt definiert das visuelle Erscheinungsbild des Overlays. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Schritt 3: Wasserzeichen zum Diagramm hinzufügen +Die Klasse `Watermarker` steuert den Wasserzeichen‑Vorgang. Verwenden Sie die Methode `add`, um das `TextWatermark` auf alle Hintergrundseiten des Diagramms anzuwenden. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Schritt 4: Speichern und schließen +`save` schreibt das modifizierte Dokument in den angegebenen Ausgabepfad. `close` gibt die zugrunde liegenden Dateiresourcen frei. +Rufen Sie `save` auf der `Watermarker`‑Instanz auf, um das wassergezeichnete Diagramm auf die Festplatte zu schreiben, und geben Sie anschließend die Ressourcen mit `close` frei. Dadurch wird der Dateihandle umgehend freigegeben. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Häufige Probleme und Fehlersuche +- **Dateipfad‑Fehler** – Stellen Sie sicher, dass der Pfad Vorwärtsschrägstriche (`/`) oder escapte Rückwärtsschrägstriche (`\\`) unter Windows verwendet. +- **Inkompatible Bibliotheksversionen** – GroupDocs.Watermark 23.10+ erfordert JDK 8+. Aktualisieren Sie beide, wenn Sie `NoClassDefFoundError` sehen. +- **Fehlende Lizenz** – Wenn das Wasserzeichen nicht erscheint, prüfen Sie die Konsole auf eine `License not loaded`‑Warnung und laden Sie die `.lic`‑Datei erneut. + +## Praktische Anwendungen +1. **Dokumentensicherheit** – Verhindern Sie, dass Wettbewerber proprietäre Flussdiagramme wiederverwenden. +2. **Markenverstärkung** – Zeigen Sie Ihren Firmennamen auf jedem exportierten Diagramm an. +3. **Zusammenarbeits‑Nachverfolgung** – Fügen Sie Benutzerinitialen als Wasserzeichen ein, um zu identifizieren, wer jede Version bearbeitet hat. + +## Leistungsüberlegungen +- Streamen Sie Diagramme, anstatt sie vollständig in den Speicher zu laden; die API erledigt dies automatisch für große Dateien. +- Halten Sie die Wasserzeichen‑Deckkraft zwischen 30‑50 %, um Lesbarkeit zu gewährleisten und gleichzeitig sichtbar zu bleiben. +- Testen Sie mit einer repräsentativen Stichprobe, bevor Sie Tausende von Dateien stapelweise verarbeiten, um die CPU‑ und Speicherbelastung abzuschätzen. + +## Häufig gestellte Fragen + +**Q: Kann GroupDocs.Watermark Vektorformate wie SVG verarbeiten?** +A: Ja, die Bibliothek unterstützt SVG, VSDX und andere Vektor‑Diagrammformate vollständig und bewahrt die Skalierbarkeit nach dem Wasserzeichen. + +**Q: Ist es möglich, nur ausgewählte Seiten zu wasserzeichnen?** +A: Absolut. Verwenden Sie die überladene `add`‑Methode, die einen Seitenbereich oder eine `PageCollection` akzeptiert, um bestimmte Seiten zu adressieren. + +**Q: Wie entferne ich ein zuvor hinzugefügtes Wasserzeichen?** +A: Die `remove`‑API durchsucht nach passenden Wasserzeichen‑Signaturen und löscht sie, sodass Sie das Originaldiagramm ohne erneutes Hochladen wiederherstellen können. + +**Q: Bleibt das Wasserzeichen bei der PDF-Konvertierung erhalten?** +A: Wenn Sie das wassergezeichnete Diagramm als PDF speichern, wird das Overlay in die PDF‑Seiten eingebettet und bleibt in allen Betrachtern dauerhaft erhalten. + +**Q: Was passiert, wenn ich mehrere Wasserzeichen anwende?** +A: Jedes Wasserzeichen wird in der Reihenfolge seiner Hinzufügung gerendert; Sie können Text‑ und Bildwasserzeichen stapeln für ein geschichtetes Branding. + +## Zusätzliche Ressourcen +- [Dokumentation](https://docs.groupdocs.com/watermark/java/) +- [API‑Referenz](https://reference.groupdocs.com/watermark/java) +- [Neueste Version herunterladen](https://releases.groupdocs.com/watermark/java/) +- [GitHub‑Repository](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Kostenloses Support‑Forum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Zuletzt aktualisiert:** 2026-10-16 +**Getestet mit:** GroupDocs.Watermark 23.11 for Java +**Autor:** GroupDocs + +## Verwandte Tutorials + +- [Leitfaden zum Hinzufügen von Wasserzeichen zu Diagrammen mit GroupDocs.Watermark für Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Textwasserzeichen in Java mit GroupDocs.Watermark hinzufügen: Eine Schritt‑für‑Schritt‑Anleitung](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Wie man Dokumentinformationen mit GroupDocs.Watermark für Java abruft: Eine Schritt‑für‑Schritt‑Anleitung](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/greek/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/greek/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..e582d4329 --- /dev/null +++ b/content/greek/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Μάθετε πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java με + το GroupDocs.Watermark. Αυτός ο οδηγός βήμα-βήμα καλύπτει τη ρύθμιση, την υλοποίηση + και τις βέλτιστες πρακτικές για ασφαλή διαχείριση διαγραμμάτων. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Μάθετε πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java + με το GroupDocs.Watermark. Αυτός ο οδηγός βήμα-βήμα καλύπτει τη ρύθμιση, την υλοποίηση + και τις βέλτιστες πρακτικές για ασφαλή διαχείριση διαγραμμάτων. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java χρησιμοποιώντας + το GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java χρησιμοποιώντας + το GroupDocs.Watermark +type: docs +url: /el/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java χρησιμοποιώντας το GroupDocs.Watermark + +Η προστασία των οπτικών περιουσιακών στοιχείων στα λογισμικά σας έργα είναι ουσιώδης, ειδικά όταν μοιράζεστε διαγράμματα με συνεργάτες ή τα ενσωματώνετε σε τεκμηρίωση. Σε αυτό το σεμινάριο θα μάθετε **πώς να προσθέσετε υδατογράφημα σε σελίδες διαγράμματος java** χρησιμοποιώντας τη βιβλιοθήκη GroupDocs.Watermark. Θα καλύψουμε τα πάντα, από την προετοιμασία του περιβάλλοντος μέχρι τον ακριβή κώδικα που χρειάζεται για την ενσωμάτωση ενός επαναχρησιμοποιήσιμου κειμενικού υδατογραφήματος σε κάθε σελίδα ενός αρχείου διαγράμματος. + +## Σύντομες απαντήσεις +- **Ποια βιβλιοθήκη προσθέτει υδατογραφήματα σε διαγράμματα σε Java;** GroupDocs.Watermark for Java. +- **Πόσες γραμμές κώδικα χρειάζονται για ένα βασικό κειμενικό υδατογράφημα;** Μόνο πέντε γραμμές μετά τη φόρτωση του διαγράμματος. +- **Χρειάζομαι πληρωμένη άδεια για ανάπτυξη;** Μια δωρεάν δοκιμαστική άδεια λειτουργεί για δοκιμές· απαιτείται πλήρης άδεια για παραγωγή. +- **Μπορώ να προσθέσω υδατογράφημα σε πολλαπλές σελίδες ταυτόχρονα;** Ναι – το API σας επιτρέπει να εφαρμόσετε το ίδιο υδατογράφημα σε όλες τις σελίδες με μία κλήση. +- **Είναι η διαδικασία αποδοτική στη μνήμη;** Η βιβλιοθήκη μεταδίδει (stream) τις σελίδες, έτσι ακόμη και διαγράμματα με εκατοντάδες σελίδες παραμένουν κάτω από 200 MB RAM. + +## Τι είναι το watermark diagram pages java; +Η φράση *watermark diagram pages java* αναφέρεται στην πρακτική ενσωμάτωσης μιας ημιδιαφανούς επικάλυψης κειμένου πάνω σε κάθε σελίδα ενός αρχείου διαγράμματος (όπως Visio, SVG ή PDF) χρησιμοποιώντας κώδικα Java. Αυτή η τεχνική βοηθά στον προσδιορισμό ιδιοκτησίας, στην αποτροπή μη εξουσιοδοτημένης επαναχρησιμοποίησης και στην προσθήκη branding χωρίς να αλλάζει το αρχικό περιεχόμενο. + +## Προαπαιτούμενα +- Java Development Kit (JDK) 8 ή νεότερο. +- Ένα IDE όπως το IntelliJ IDEA ή το Eclipse. +- Maven για διαχείριση εξαρτήσεων (ή η δυνατότητα προσθήκης JARs χειροκίνητα). +- Ένα έγκυρο αρχείο άδειας GroupDocs.Watermark (η προσωρινή δοκιμαστική άδεια λειτουργεί για δοκιμές). + +## Ρύθμιση του GroupDocs.Watermark για Java +Προσθέστε το Maven coordinate για το GroupDocs.Watermark στο `pom.xml`. Αυτή η μοναδική εξάρτηση φέρνει όλα τα απαιτούμενα binaries. + +Η καταχώρηση στο `pom.xml` έχει ως εξής: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Αν προτιμάτε χειροκίνητη εγκατάσταση, κατεβάστε τα πιο πρόσφατα JARs από τη σελίδα κυκλοφορίας [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Απόκτηση άδειας +Αποκτήστε μια προσωρινή δοκιμαστική άδεια από το portal GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Αφού λάβετε το αρχείο `.lic`, φορτώστε το όπως φαίνεται παρακάτω. + +Η κλάση `License` φορτώνει το αρχείο άδειας GroupDocs.Watermark για να ξεκλειδώσει τη πλήρη λειτουργικότητα. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Οδηγός υλοποίησης +Παρακάτω υπάρχει ένας βήμα‑βήμα οδηγός που προσθέτει ένα προσαρμοσμένο κειμενικό υδατογράφημα σε κάθε σελίδα ενός διαγράμματος. + +### Πώς να προσθέσετε υδατογράφημα κειμένου σε σελίδες διαγράμματος; +Φορτώστε το διάγραμμά σας, δημιουργήστε ένα αντικείμενο `TextWatermark`, εφαρμόστε το σε όλες τις σελίδες και, τέλος, αποθηκεύστε το αποτέλεσμα. Η ολόκληρη διαδικασία απαιτεί μόνο τέσσερα λογικά βήματα. + +#### Βήμα 1: φορτώστε το διάγραμμά σας +Η κλάση `DiagramLoadOptions` ρυθμίζει πώς ένα αρχείο διαγράμματος διαβάζεται στη μνήμη. Παρέχετε τη διαδρομή του αρχείου προέλευσης και τυχόν επιλογές ειδικές για τη μορφή που χρειάζεστε. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Βήμα 2: αρχικοποιήστε το υδατογράφημα κειμένου +`TextWatermark` αντιπροσωπεύει μια επικάλυψη κειμένου που μπορεί να εφαρμοστεί σε έγγραφα. +Δημιουργήστε μια παρουσία `TextWatermark` με το επιθυμητό κείμενο, γραμματοσειρά, χρώμα και περιστροφή. Αυτό το αντικείμενο ορίζει την οπτική εμφάνιση της επικάλυψης. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Βήμα 3: προσθέστε το υδατογράφημα στο διάγραμμα +Η κλάση `Watermarker` οργανώνει τη λειτουργία υδατογράφησης. Χρησιμοποιήστε τη μέθοδο `add` για να εφαρμόσετε το `TextWatermark` σε όλες τις σελίδες φόντου του διαγράμματος. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Βήμα 4: αποθήκευση και κλείσιμο +`save` γράφει το τροποποιημένο έγγραφο στη συγκεκριμένη διαδρομή εξόδου. `close` απελευθερώνει τους υποκείμενους πόρους αρχείου. +Καλέστε `save` στην παρουσία `Watermarker` για να γράψετε το υδατογραφημένο διάγραμμα στο δίσκο, στη συνέχεια απελευθερώστε τους πόρους με `close`. Αυτό εξασφαλίζει ότι το αρχείο κλείνει άμεσα. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Συχνά προβλήματα και αντιμετώπιση +- **Σφάλματα διαδρομής αρχείου** – Βεβαιωθείτε ότι η διαδρομή χρησιμοποιεί μπροστινές κάθετες (`/`) ή διαφύλακτες ανάστροφες κάθετες (`\\`) στα Windows. +- **Ασυμβατές εκδόσεις βιβλιοθήκης** – Το GroupDocs.Watermark 23.10+ απαιτεί JDK 8+. Αναβαθμίστε και τα δύο αν δείτε `NoClassDefFoundError`. +- **Έλλειψη άδειας** – Αν το υδατογράφημα δεν εμφανίζεται, ελέγξτε την κονσόλα για προειδοποίηση `License not loaded` και ξαναφορτώστε το αρχείο `.lic`. + +## Πρακτικές εφαρμογές +1. **Ασφάλεια εγγράφων** – Αποτρέψτε τους ανταγωνιστές από την επαναχρησιμοποίηση ιδιόκτητων διαγραμμάτων ροής. +2. **Ενίσχυση branding** – Εμφανίστε το όνομα της εταιρείας σας σε κάθε εξαγόμενο διάγραμμα. +3. **Παρακολούθηση συνεργασίας** – Εισάγετε τα αρχικά του χρήστη ως υδατογράφημα για να προσδιορίσετε ποιος επεξεργάστηκε κάθε έκδοση. + +## Σκέψεις απόδοσης +- Μεταδώστε (stream) τα διαγράμματα αντί να τα φορτώνετε πλήρως στη μνήμη· το API το κάνει αυτό αυτόματα για μεγάλα αρχεία. +- Κρατήστε τη διαφάνεια του υδατογραφήματος μεταξύ 30‑50 % για να διατηρείται η αναγνωσιμότητα ενώ παραμένει ορατό. +- Δοκιμάστε με ένα αντιπροσωπευτικό δείγμα πριν επεξεργαστείτε χιλιάδες αρχεία μαζικά, ώστε να εκτιμήσετε την επίδραση στην CPU και τη μνήμη. + +## Συχνές ερωτήσεις + +**Q: Μπορεί το GroupDocs.Watermark να διαχειριστεί διανυσματικές μορφές όπως SVG;** +A: Ναι, η βιβλιοθήκη υποστηρίζει πλήρως SVG, VSDX και άλλες διανυσματικές μορφές διαγράμματος, διατηρώντας την κλιμακωσιμότητα μετά την υδατογράφησή τους. + +**Q: Είναι δυνατόν να υδατογραφήσω μόνο επιλεγμένες σελίδες;** +A: Απόλυτα. Χρησιμοποιήστε την υπερφόρτωση της μεθόδου `add` που δέχεται εύρος σελίδων ή ένα `PageCollection` για να στοχεύσετε συγκεκριμένες σελίδες. + +**Q: Πώς αφαιρώ ένα υδατογράφημα που είχε προστεθεί προηγουμένως;** +A: Το API `remove` σαρώει για ταιριαστές υπογραφές υδατογραφήματος και τις διαγράφει, επιτρέποντάς σας να επαναφέρετε το αρχικό διάγραμμα χωρίς επαναφόρτωση. + +**Q: Παραμένει το υδατογράφημα μετά τη μετατροπή σε PDF;** +A: Όταν αποθηκεύετε το υδατογραφημένο διάγραμμα ως PDF, η επικάλυψη ενσωματώνεται (baked) στις σελίδες PDF, καθιστώντας το μόνιμο σε όλους τους προβολείς. + +**Q: Τι συμβαίνει αν εφαρμόσω πολλαπλά υδατογραφήματα;** +A: Κάθε υδατογράφημα αποδίδεται με τη σειρά που προστέθηκε· μπορείτε να στοιβάξετε κειμενικά και εικόνα υδατογραφήματα για πολυεπίπεδο branding. + +## Πρόσθετοι πόροι +- [Τεκμηρίωση](https://docs.groupdocs.com/watermark/java/) +- [Αναφορά API](https://reference.groupdocs.com/watermark/java) +- [Λήψη Τελευταίας Έκδοσης](https://releases.groupdocs.com/watermark/java/) +- [Αποθετήριο GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Δωρεάν Φόρουμ Υποστήριξης](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Τελευταία ενημέρωση:** 2026-10-16 +**Δοκιμή με:** GroupDocs.Watermark 23.11 for Java +**Συγγραφέας:** GroupDocs + +## Σχετικά Μαθήματα + +- [Οδηγός προσθήκης υδατογραφημάτων σε διαγράμματα χρησιμοποιώντας το GroupDocs.Watermark για Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Προσθήκη υδατογραφημάτων κειμένου σε Java χρησιμοποιώντας το GroupDocs.Watermark: Οδηγός βήμα-βήμα](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Πώς να ανακτήσετε πληροφορίες εγγράφου χρησιμοποιώντας το GroupDocs.Watermark για Java: Οδηγός βήμα-βήμα](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/hindi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/hindi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..994c19af9 --- /dev/null +++ b/content/hindi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: GroupDocs.Watermark के साथ java में डायग्राम पेजेज पर वॉटरमार्क लगाना + सीखें। यह step‑by‑step गाइड सेटअप, implementation, और secure diagram handling के + लिए best practices को कवर करता है। +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: GroupDocs.Watermark के साथ java में डायग्राम पेजेज पर वॉटरमार्क लगाना + सीखें। यह गाइड आपको setup, code snippets, और performance tips के माध्यम से आपके + डायग्राम को सुरक्षित रखने में मदद करता है। +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: GroupDocs.Watermark का उपयोग करके java में डायग्राम पेजेज पर वॉटरमार्क कैसे + लगाएँ +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: GroupDocs.Watermark का उपयोग करके java में डायग्राम पेजेज पर वॉटरमार्क कैसे + लगाएँ +type: docs +url: /hi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# GroupDocs.Watermark का उपयोग करके जावा में डायग्राम पेजेज पर वॉटरमार्क कैसे लगाएँ + +अपने सॉफ़्टवेयर प्रोजेक्ट्स में दृश्य संपत्तियों की सुरक्षा आवश्यक है, विशेष रूप से जब आप डायग्राम को साझेदारों के साथ साझा करते हैं या उन्हें दस्तावेज़ीकरण में एम्बेड करते हैं। इस ट्यूटोरियल में आप GroupDocs.Watermark लाइब्रेरी का उपयोग करके **जावा में डायग्राम पेजेज पर वॉटरमार्क कैसे लगाएँ** सीखेंगे। हम पर्यावरण की तैयारी से लेकर प्रत्येक डायग्राम फ़ाइल के हर पेज पर पुन: उपयोग योग्य टेक्स्ट वॉटरमार्क एम्बेड करने के लिए आवश्यक सटीक कोड तक सब कुछ कवर करेंगे। + +## त्वरित उत्तर +- **Java में डायग्राम पर वॉटरमार्क जोड़ने वाली लाइब्रेरी कौन सी है?** GroupDocs.Watermark for Java. +- **बेसिक टेक्स्ट वॉटरमार्क के लिए कितनी कोड लाइन्स चाहिए?** डायग्राम लोड होने के बाद केवल पाँच लाइन्स। +- **क्या विकास के लिए भुगतान लाइसेंस चाहिए?** परीक्षण के लिए एक फ्री ट्रायल लाइसेंस काम करता है; प्रोडक्शन के लिए पूर्ण लाइसेंस आवश्यक है। +- **क्या मैं एक साथ कई पेजेज पर वॉटरमार्क लगा सकता हूँ?** हाँ – API आपको एक ही कॉल में सभी पेजेज पर समान वॉटरमार्क लागू करने की अनुमति देता है। +- **क्या प्रक्रिया मेमोरी‑कुशल है?** लाइब्रेरी पेजेज को स्ट्रीम करती है, इसलिए सैकड़ों पेजेज वाले डायग्राम भी 200 MB RAM से कम रहते हैं। + +## जावा में डायग्राम पेजेज पर वॉटरमार्क क्या है? +वाक्यांश *watermark diagram pages java* का अर्थ है जावा कोड का उपयोग करके प्रत्येक डायग्राम फ़ाइल (जैसे Visio, SVG, या PDF) के हर पेज पर अर्ध‑पारदर्शी टेक्स्ट ओवरले एम्बेड करना। यह तकनीक स्वामित्व पहचानने, अनधिकृत पुनः उपयोग को रोकने, और मूल सामग्री को बदले बिना ब्रांडिंग जोड़ने में मदद करती है। + +## आवश्यकताएँ +- Java Development Kit (JDK) 8 या नया। +- IntelliJ IDEA या Eclipse जैसे IDE। +- निर्भरता प्रबंधन के लिए Maven (या मैन्युअली JAR जोड़ने की क्षमता)। +- एक वैध GroupDocs.Watermark लाइसेंस फ़ाइल (परीक्षण के लिए अस्थायी ट्रायल काम करता है)। + +## जावा के लिए GroupDocs.Watermark सेटअप +GroupDocs.Watermark के लिए Maven कोऑर्डिनेट को अपने `pom.xml` में जोड़ें। यह एकल निर्भरता सभी आवश्यक बाइनरीज़ को लाता है। + +`pom.xml` एंट्री इस प्रकार दिखती है: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +यदि आप मैन्युअल इंस्टॉलेशन पसंद करते हैं, तो आधिकारिक रिलीज़ पेज [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) से नवीनतम JARs डाउनलोड करें। + +### लाइसेंस प्राप्ति +GroupDocs पोर्टल [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/) से एक अस्थायी ट्रायल लाइसेंस प्राप्त करें। `.lic` फ़ाइल प्राप्त करने के बाद, नीचे दिखाए अनुसार इसे लोड करें। + +`License` क्लास आपके GroupDocs.Watermark लाइसेंस फ़ाइल को लोड करके पूरी कार्यक्षमता अनलॉक करता है। + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## कार्यान्वयन गाइड +नीचे एक चरण‑दर‑चरण walkthrough है जो एक कस्टम टेक्स्ट वॉटरमार्क को डायग्राम के हर पेज पर जोड़ता है। + +### डायग्राम पेजेज पर टेक्स्ट वॉटरमार्क कैसे जोड़ें? +डायग्राम लोड करें, एक `TextWatermark` ऑब्जेक्ट बनाएं, इसे सभी पेजेज पर लागू करें, और अंत में परिणाम सहेजें। पूरी प्रक्रिया में केवल चार तार्किक चरणों की आवश्यकता होती है। + +#### चरण 1: अपना डायग्राम लोड करें +`DiagramLoadOptions` क्लास यह कॉन्फ़िगर करता है कि डायग्राम फ़ाइल को मेमोरी में कैसे पढ़ा जाए। स्रोत फ़ाइल पाथ और आवश्यक किसी भी फ़ॉर्मेट‑विशिष्ट विकल्प प्रदान करें। + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### चरण 2: टेक्स्ट वॉटरमार्क को इनिशियलाइज़ करें +`TextWatermark` एक टेक्स्ट ओवरले का प्रतिनिधित्व करता है जिसे दस्तावेज़ों पर लागू किया जा सकता है। +इच्छित टेक्स्ट, फ़ॉन्ट, रंग, और रोटेशन के साथ एक `TextWatermark` इंस्टेंस बनाएं। यह ऑब्जेक्ट ओवरले की दृश्य उपस्थिति को परिभाषित करता है। + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### चरण 3: वॉटरमार्क को डायग्राम में जोड़ें +`Watermarker` क्लास वॉटरमार्किंग ऑपरेशन को समन्वित करता है। `add` मेथड का उपयोग करके `TextWatermark` को डायग्राम के सभी बैकग्राउंड पेजेज पर लागू करें। + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### चरण 4: सहेजें और बंद करें +`save` संशोधित दस्तावेज़ को निर्दिष्ट आउटपुट पाथ पर लिखता है। `close` अंतर्निहित फ़ाइल संसाधनों को रिलीज़ करता है। +`Watermarker` इंस्टेंस पर `save` कॉल करके वॉटरमार्केड डायग्राम को डिस्क पर लिखें, फिर `close` से संसाधन रिलीज़ करें। इससे फ़ाइल हैंडल तुरंत रिलीज़ हो जाता है। + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## सामान्य समस्याएँ और ट्रबलशूटिंग +- **फ़ाइल पाथ त्रुटियाँ** – सुनिश्चित करें कि पाथ फॉरवर्ड स्लैश (`/`) या विंडोज़ पर एस्केप्ड बैकस्लैश (`\\`) उपयोग करता है। +- **असंगत लाइब्रेरी संस्करण** – GroupDocs.Watermark 23.10+ को JDK 8+ की आवश्यकता होती है। यदि `NoClassDefFoundError` दिखे तो दोनों को अपग्रेड करें। +- **लाइसेंस गायब** – यदि वॉटरमार्क नहीं दिखता, तो कंसोल में `License not loaded` चेतावनी देखें और `.lic` फ़ाइल को पुनः‑लोड करें। + +## व्यावहारिक उपयोग +1. **दस्तावेज़ सुरक्षा** – प्रतिस्पर्धियों को स्वामित्व वाले फ्लोचार्ट्स को पुनः‑उपयोग करने से रोकें। +2. **ब्रांड सुदृढ़ीकरण** – प्रत्येक निर्यातित डायग्राम पर अपनी कंपनी का नाम दिखाएँ। +3. **सहयोग ट्रैकिंग** – प्रत्येक संस्करण को किसने संपादित किया, यह पहचानने के लिए उपयोगकर्ता के आद्याक्षर वॉटरमार्क के रूप में डालें। + +## प्रदर्शन विचार +- डायग्राम को पूरी तरह मेमोरी में लोड करने के बजाय स्ट्रीम करें; बड़े फ़ाइलों के लिए API यह स्वचालित रूप से करता है। +- वॉटरमार्क की अपारदर्शिता को 30‑50 % के बीच रखें ताकि पठनीयता बनी रहे और वह अभी भी दिखाई दे। +- हजारों फ़ाइलों को बैच‑प्रोसेस करने से पहले एक प्रतिनिधि नमूने के साथ परीक्षण करें ताकि CPU और मेमोरी प्रभाव का आकलन हो सके। + +## अक्सर पूछे जाने वाले प्रश्न + +**Q: क्या GroupDocs.Watermark वेक्टर फ़ॉर्मेट जैसे SVG को संभाल सकता है?** +A: हाँ, लाइब्रेरी पूरी तरह SVG, VSDX, और अन्य वेक्टर डायग्राम फ़ॉर्मेट्स को सपोर्ट करती है, वॉटरमार्किंग के बाद स्केलेबिलिटी बरकरार रहती है। + +**Q: क्या केवल चयनित पेजेज पर वॉटरमार्क लगाना संभव है?** +A: बिल्कुल। `add` मेथड के ओवरलोड का उपयोग करें जो पेज रेंज या `PageCollection` को स्वीकार करता है, ताकि विशिष्ट पेजेज को टार्गेट किया जा सके। + +**Q: पहले जोड़ा गया वॉटरमार्क कैसे हटाएँ?** +A: `remove` API मिलते‑जुलते वॉटरमार्क सिग्नेचर को स्कैन करता है और उन्हें हटाता है, जिससे आप मूल डायग्राम को पुनः‑अपलोड किए बिना पुनर्स्थापित कर सकते हैं। + +**Q: क्या वॉटरमार्क PDF रूपांतरण के बाद भी बना रहता है?** +A: जब आप वॉटरमार्केड डायग्राम को PDF के रूप में सहेजते हैं, तो ओवरले PDF पेजेज में बेक हो जाता है, जिससे यह सभी व्यूअर्स में स्थायी बन जाता है। + +**Q: यदि मैं कई वॉटरमार्क लागू करूँ तो क्या होता है?** +A: प्रत्येक वॉटरमार्क जोड़ने के क्रम में रेंडर होता है; आप लेयरड ब्रांडिंग के लिए टेक्स्ट और इमेज वॉटरमार्क को स्टैक कर सकते हैं। + +## अतिरिक्त संसाधन +- [दस्तावेज़ीकरण](https://docs.groupdocs.com/watermark/java/) +- [API रेफ़रेंस](https://reference.groupdocs.com/watermark/java) +- [नवीनतम संस्करण डाउनलोड करें](https://releases.groupdocs.com/watermark/java/) +- [GitHub रिपॉजिटरी](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [नि:शुल्क सपोर्ट फ़ोरम](https://forum.groupdocs.com/c/watermark/10) + +--- + +**अंतिम अपडेट:** 2026-10-16 +**परीक्षण किया गया:** GroupDocs.Watermark 23.11 for Java +**लेखक:** GroupDocs + +## संबंधित ट्यूटोरियल + +- [GroupDocs.Watermark for Java का उपयोग करके डायग्राम में वॉटरमार्क जोड़ने के लिए गाइड](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [GroupDocs.Watermark का उपयोग करके जावा में टेक्स्ट वॉटरमार्क जोड़ें: चरण‑दर‑चरण गाइड](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [GroupDocs.Watermark for Java का उपयोग करके दस्तावेज़ जानकारी प्राप्त करने का तरीका: चरण‑दर‑चरण गाइड](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/hongkong/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/hongkong/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..af717ceaf --- /dev/null +++ b/content/hongkong/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,218 @@ +--- +date: '2026-10-16' +description: 了解如何使用 GroupDocs.Watermark 為 Java 圖表頁面加上浮水印。本一步一步的指南涵蓋設定、實作以及安全的圖表處理最佳實踐。 +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: 了解如何使用 GroupDocs.Watermark 為 Java 圖表頁面加上浮水印。本指南將帶您完成設定、程式碼片段與效能技巧,保護您的圖表。 +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: 如何使用 GroupDocs.Watermark 為 Java 圖表頁面加上浮水印 +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: 如何使用 GroupDocs.Watermark 為 Java 圖表頁面加上浮水印 +type: docs +url: /zh-hant/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# 使用 GroupDocs.Watermark 為 Java 圖表頁面加上浮水印 + +保護軟件項目中的視覺資產至關重要,特別是在與合作夥伴共享圖表或將其嵌入文件時。在本教程中,您將學習如何使用 GroupDocs.Watermark 函式庫為 Java 圖表頁面加上浮水印。我們將涵蓋從環境準備到在圖表檔案的每一頁嵌入可重用文字浮水印的完整程式碼。 + +## 快速回答 +- **什麼函式庫可在 Java 中為圖表加上浮水印?** GroupDocs.Watermark for Java. +- **基本文字浮水印需要多少行程式碼?** 圖表載入後僅需五行程式碼。 +- **開發階段需要付費授權嗎?** 免費試用授權可用於測試;正式環境需購買完整授權。 +- **可以一次為多個頁面加上浮水印嗎?** 可以——API 允許在一次呼叫中將相同浮水印套用至所有頁面。 +- **此過程記憶體使用效率高嗎?** 函式庫會串流頁面,即使是上百頁的圖表也能保持在 200 MB 以下的記憶體佔用。 + +## 什麼是 Java 圖表頁面浮水印? +術語 *watermark diagram pages java* 指的是使用 Java 程式碼在圖表檔案(例如 Visio、SVG 或 PDF)的每一頁嵌入半透明文字覆蓋層的做法。此技術有助於辨識所有權、防止未經授權的再利用,並在不更改原始內容的情況下加入品牌標示。 + +## 前置條件 +- Java Development Kit (JDK) 8 或更新版本。 +- 如 IntelliJ IDEA 或 Eclipse 等整合開發環境 (IDE)。 +- 用於相依管理的 Maven(或手動加入 JAR 的能力)。 +- 有效的 GroupDocs.Watermark 授權檔案(臨時試用版可用於測試)。 + +## 為 Java 設定 GroupDocs.Watermark +在 `pom.xml` 中加入 GroupDocs.Watermark 的 Maven 坐標。此單一相依會自動下載所有必要的二進位檔。 + +`pom.xml` 條目如下所示: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +如果您偏好手動安裝,請從官方發佈頁面下載最新的 JAR 檔案 [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/)。 + +### 取得授權 +從 GroupDocs 入口網站取得臨時試用授權 [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/)。取得 `.lic` 檔案後,請如以下示範載入。 + +`License` 類別會載入您的 GroupDocs.Watermark 授權檔,以解鎖全部功能。 + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## 實作指南 +以下為逐步說明,將自訂文字浮水印加入圖表的每一頁。 + +### 如何為圖表頁面加入文字浮水印? +載入圖表,建立 `TextWatermark` 物件,套用至所有頁面,最後儲存結果。整個流程僅需四個邏輯步驟。 + +#### 步驟 1:載入圖表 +`DiagramLoadOptions` 類別用於設定圖表檔案的讀取方式。提供來源檔案路徑以及任何特定格式的選項。 + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### 步驟 2:初始化文字浮水印 +`TextWatermark` 代表可套用於文件的文字覆蓋層。 +建立一個包含所需文字、字型、顏色與旋轉角度的 `TextWatermark` 實例。此物件定義了覆蓋層的視覺外觀。 + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### 步驟 3:將浮水印加入圖表 +`Watermarker` 類別負責協調浮水印操作。使用 `add` 方法將 `TextWatermark` 套用至圖表的所有背景頁面。 + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### 步驟 4:儲存與關閉 +`save` 會將修改後的文件寫入指定的輸出路徑。`close` 釋放底層檔案資源。 +在 `Watermarker` 實例上呼叫 `save`,將加了浮水印的圖表寫入磁碟,然後使用 `close` 釋放資源,以確保檔案句柄及時關閉。 + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## 常見問題與故障排除 +- **檔案路徑錯誤** – 請確認路徑使用正斜線 (`/`) 或在 Windows 上使用跳脫的反斜線 (`\\`)。 +- **函式庫版本不相容** – GroupDocs.Watermark 23.10 以上版本需要 JDK 8+。若出現 `NoClassDefFoundError`,請同時升級。 +- **缺少授權** – 若浮水印未顯示,請檢查主控台是否有 `License not loaded` 警告,並重新載入 `.lic` 檔案。 + +## 實務應用 +1. **文件安全** – 防止競爭對手再利用專有流程圖。 +2. **品牌強化** – 在每個匯出的圖表上顯示公司名稱。 +3. **協作追蹤** – 插入使用者姓名縮寫作為浮水印,以辨識每個版本的編輯者。 + +## 效能考量 +- 以串流方式處理圖表,而非一次載入全部至記憶體;API 會自動對大型檔案採用此方式。 +- 將浮水印不透明度保持在 30‑50 % 之間,以兼顧可讀性與可見性。 +- 在批次處理數千個檔案前,先以具代表性的樣本測試,以評估 CPU 與記憶體的影響。 + +## 常見問答 + +**Q: GroupDocs.Watermark 能處理像 SVG 這樣的向量格式嗎?** +A: 能,函式庫完整支援 SVG、VSDX 以及其他向量圖表格式,且在加浮水印後仍保留可伸縮性。 + +**Q: 能只對選取的頁面加浮水印嗎?** +A: 當然可以。使用接受頁面範圍或 `PageCollection` 的 `add` 方法重載,即可針對特定頁面。 + +**Q: 如何移除先前加入的浮水印?** +A: `remove` API 會掃描符合的浮水印簽名並將其刪除,讓您在不重新上傳的情況下還原原始圖表。 + +**Q: 浮水印在轉換為 PDF 後會保留嗎?** +A: 當您將加了浮水印的圖表儲存為 PDF 時,覆蓋層會被寫入 PDF 頁面,於各種檢視器中皆為永久。 + +**Q: 若套用多個浮水印會發生什麼事?** +A: 每個浮水印會依加入的順序依次繪製;您可以堆疊文字與圖片浮水印,以實現分層品牌效果。 + +## 其他資源 +- [文件說明](https://docs.groupdocs.com/watermark/java/) +- [API 參考文件](https://reference.groupdocs.com/watermark/java) +- [下載最新版本](https://releases.groupdocs.com/watermark/java/) +- [GitHub 程式庫](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [免費支援論壇](https://forum.groupdocs.com/c/watermark/10) + +--- + +**最後更新:** 2026-10-16 +**測試環境:** GroupDocs.Watermark 23.11 for Java +**作者:** GroupDocs + +--- + +## 相關教學 + +- [使用 GroupDocs.Watermark for Java 為圖表加上浮水印的指南](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [在 Java 中使用 GroupDocs.Watermark 添加文字浮水印:步驟指南](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [如何使用 GroupDocs.Watermark for Java 取得文件資訊:步驟指南](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/hungarian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/hungarian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..8a5103806 --- /dev/null +++ b/content/hungarian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Ismerje meg, hogyan lehet vízjelezni a diagramoldalakat java-ban a GroupDocs.Watermark + segítségével. Ez a lépésről‑lépésre útmutató bemutatja a telepítést, a megvalósítást + és a legjobb gyakorlatokat a diagramok biztonságos kezelése érdekében. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Ismerje meg, hogyan lehet vízjelezni a diagramoldalakat java-ban a + GroupDocs.Watermark segítségével. Ez az útmutató végigvezet a telepítésen, kódrészleteken + és teljesítmény tippeken, hogy megvédje diagramjait. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Hogyan vízjelezzen diagramoldalakat java-ban a GroupDocs.Watermark segítségével +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Hogyan vízjelezzen diagramoldalakat java-ban a GroupDocs.Watermark segítségével +type: docs +url: /hu/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Hogyan lehet vízjelezni diagramoldalakat Java-ban a GroupDocs.Watermark használatával + +A vizuális eszközök védelme a szoftverprojektekben elengedhetetlen, különösen, ha diagramokat oszt meg partnerekkel vagy beágyazza őket a dokumentációba. Ebben az útmutatóban megtanulja, hogyan **hogyan lehet vízjelezni diagramoldalakat Java-ban** a GroupDocs.Watermark könyvtár segítségével. Mindent lefedünk a környezet előkészítésétől a pontos kódig, amely szükséges egy újrahasználható szöveges vízjel beágyazásához a diagramfájl minden oldalára. + +## Gyors válaszok +- **Melyik könyvtár ad vízjeleket a diagramokhoz Java-ban?** GroupDocs.Watermark for Java. +- **Hány sor kód szükséges egy alap szöveges vízjelhez?** Csak öt sor a diagram betöltése után. +- **Szükségem van fizetett licencre a fejlesztéshez?** Egy ingyenes próbalicenc elegendő a teszteléshez; a teljes licenc a termeléshez szükséges. +- **Lehet egyszerre több oldalt vízjelezni?** Igen – az API lehetővé teszi ugyanazon vízjel alkalmazását minden oldalra egyetlen hívásban. +- **Memóriahatékony a folyamat?** A könyvtár oldalakat streameli, így még több száz oldalas diagramok is 200 MB RAM alatt maradnak. + +## Mi a diagramoldalak Java-ban történő vízjelezése? +A *watermark diagram pages java* kifejezés arra a gyakorlatra utal, amikor egy félig átlátszó szöveges átfedést ágyazunk be egy diagramfájl (például Visio, SVG vagy PDF) minden oldalára Java kóddal. Ez a technika segít azonosítani a tulajdonjogot, megakadályozni az illetéktelen újrafelhasználást, és márkát hozzáadni anélkül, hogy megváltoztatná az eredeti tartalmat. + +## Előfeltételek +- Java Development Kit (JDK) 8 vagy újabb. +- Egy IDE, például IntelliJ IDEA vagy Eclipse. +- Maven a függőségkezeléshez (vagy a JAR-ok manuális hozzáadásának lehetősége). +- Érvényes GroupDocs.Watermark licencfájl (az ideiglenes próba működik a teszteléshez). + +## A GroupDocs.Watermark beállítása Java-hoz +Adja hozzá a GroupDocs.Watermark Maven koordinátáját a `pom.xml` fájlhoz. Ez az egyetlen függőség betölti az összes szükséges binárist. + +A `pom.xml` bejegyzés így néz ki: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Ha a manuális telepítést részesíti előnyben, töltse le a legújabb JAR-okat a hivatalos kiadási oldalról [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Licenc beszerzése +Szerezzen be egy ideiglenes próbalicencet a GroupDocs portálról [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Miután megkapta a `.lic` fájlt, töltse be az alább látható módon. + +A `License` osztály betölti a GroupDocs.Watermark licencfájlt a teljes funkcionalitás feloldásához. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Implementációs útmutató +Az alábbi lépésről‑lépésre útmutató egy egyedi szöveges vízjelet ad a diagram minden oldalához. + +### Hogyan adjon szöveges vízjelet a diagramoldalakhoz? +Töltse be a diagramot, hozza létre a `TextWatermark` objektumot, alkalmazza minden oldalra, és végül mentse az eredményt. A teljes folyamat csak négy logikai lépést igényel. + +#### 1. lépés: töltse be a diagramot +A `DiagramLoadOptions` osztály beállítja, hogyan olvassák be a diagramfájlt a memóriába. Adja meg a forrásfájl útvonalát és a szükséges formátumspecifikus opciókat. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### 2. lépés: inicializálja a szöveges vízjelet +`TextWatermark` egy szöveges átfedést képvisel, amely dokumentumokra alkalmazható. +Hozzon létre egy `TextWatermark` példányt a kívánt szöveggel, betűtípussal, színnel és forgatással. Ez az objektum határozza meg az átfedés vizuális megjelenését. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### 3. lépés: adja hozzá a vízjelet a diagramhoz +A `Watermarker` osztály irányítja a vízjelezési műveletet. Használja az `add` metódust a `TextWatermark` alkalmazásához a diagram összes háttéroldalára. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### 4. lépés: mentés és bezárás +`save` a módosított dokumentumot a megadott kimeneti útvonalra írja. `close` felszabadítja az alatta lévő fájl erőforrásokat. +Hívja meg a `save`-et a `Watermarker` példányon, hogy a vízjelezett diagramot lemezre írja, majd a `close`-al szabadítsa fel az erőforrásokat. Ez biztosítja, hogy a fájlkezelő gyorsan felszabaduljon. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Gyakori problémák és hibaelhárítás +- **Fájlútvonal hibák** – Ellenőrizze, hogy az útvonal előre perjeleket (`/`) vagy Windows-on escape-elt visszaperjeleket (`\\`) használ. +- **Nem kompatibilis könyvtárverziók** – A GroupDocs.Watermark 23.10+ JDK 8+ verziót igényel. Frissítse mindkettőt, ha `NoClassDefFoundError`-t lát. +- **Hiányzó licenc** – Ha a vízjel nem jelenik meg, ellenőrizze a konzolt egy `License not loaded` figyelmeztetésért, és töltse be újra a `.lic` fájlt. + +## Gyakorlati alkalmazások +1. **Dokumentumbiztonság** – Megakadályozza a versenytársakat a szabadalomvédett folyamatábrák újrafelhasználásában. +2. **Márka megerősítése** – A cég neve megjelenik minden exportált diagramon. +3. **Együttműködés nyomon követése** – Helyezze be a felhasználó kezdőbetűit vízjelként, hogy azonosítsa, ki szerkesztette az egyes verziókat. + +## Teljesítmény szempontok +- Streamelje a diagramokat a teljes memóriába betöltés helyett; az API ezt automatikusan végzi nagy fájlok esetén. +- Tartsa a vízjel átlátszóságát 30‑50 % között a olvashatóság megőrzése és a láthatóság biztosítása érdekében. +- Teszteljen egy reprezentatív mintával, mielőtt több ezer fájlt batch‑feldolgozna, hogy felmérje a CPU és memória hatását. + +## Gyakran ismételt kérdések + +**Q: Kezelheti a GroupDocs.Watermark a vektorformátumokat, például az SVG-t?** +A: Igen, a könyvtár teljes mértékben támogatja az SVG, VSDX és egyéb vektor diagramformátumokat, megőrizve a skálázhatóságot a vízjelezés után. + +**Q: Lehet csak kiválasztott oldalakat vízjelezni?** +A: Teljesen lehetséges. Használja az `add` metódus túlterhelését, amely oldalintervallumot vagy `PageCollection`-t fogad a konkrét oldalak célzásához. + +**Q: Hogyan távolíthatok el egy korábban hozzáadott vízjelet?** +A: A `remove` API keres a megfelelő vízjel aláírások után és törli azokat, lehetővé téve az eredeti diagram visszaállítását újrafeltöltés nélkül. + +**Q: Megmarad a vízjel PDF konverzió során?** +A: Amikor a vízjelezett diagramot PDF-ként menti, az átfedés beépül a PDF oldalakba, így állandó marad a különböző megjelenítőkben. + +**Q: Mi történik, ha több vízjelet alkalmazok?** +A: Minden vízjelet a hozzáadás sorrendjében renderelnek; szöveges és képes vízjeleket is egymásra rétegezhet a réteges márkaépítéshez. + +## További források +- [Dokumentáció](https://docs.groupdocs.com/watermark/java/) +- [API Referencia](https://reference.groupdocs.com/watermark/java) +- [Legújabb verzió letöltése](https://releases.groupdocs.com/watermark/java/) +- [GitHub tároló](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Ingyenes támogatási fórum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Utolsó frissítés:** 2026-10-16 +**Tesztelve ezzel:** GroupDocs.Watermark 23.11 for Java +**Szerző:** GroupDocs + +## Kapcsolódó útmutatók + +- [Útmutató a vízjelek hozzáadásához diagramokhoz a GroupDocs.Watermark for Java használatával](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Szöveges vízjelek hozzáadása Java-ban a GroupDocs.Watermark használatával: Lépésről‑lépésre útmutató](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Hogyan lehet dokumentuminformációkat lekérni a GroupDocs.Watermark for Java használatával: Lépésről‑lépésre útmutató](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/indonesian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/indonesian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..bbf62bc23 --- /dev/null +++ b/content/indonesian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Pelajari cara menambahkan watermark pada halaman diagram java dengan + GroupDocs.Watermark. Panduan langkah demi langkah ini mencakup penyiapan, implementasi, + dan praktik terbaik untuk penanganan diagram yang aman. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Pelajari cara menambahkan watermark pada halaman diagram java dengan + GroupDocs.Watermark. Panduan ini memandu Anda melalui penyiapan, contoh kode, dan + tips kinerja untuk melindungi diagram Anda. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Cara menambahkan watermark pada halaman diagram java menggunakan GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Cara menambahkan watermark pada halaman diagram java menggunakan GroupDocs.Watermark +type: docs +url: /id/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Cara menambahkan watermark pada halaman diagram java menggunakan GroupDocs.Watermark + +Melindungi aset visual dalam proyek perangkat lunak Anda sangat penting, terutama ketika Anda berbagi diagram dengan mitra atau menyematkannya dalam dokumentasi. Dalam tutorial ini Anda akan belajar **cara menambahkan watermark pada halaman diagram java** menggunakan pustaka GroupDocs.Watermark. Kami akan membahas semuanya mulai dari persiapan lingkungan hingga kode tepat yang diperlukan untuk menyematkan watermark teks yang dapat digunakan kembali pada setiap halaman file diagram. + +## Jawaban Cepat +- **Perpustakaan apa yang menambahkan watermark ke diagram di Java?** GroupDocs.Watermark for Java. +- **Berapa baris kode yang dibutuhkan untuk watermark teks dasar?** Hanya lima baris setelah diagram dimuat. +- **Apakah saya memerlukan lisensi berbayar untuk pengembangan?** Lisensi percobaan gratis cukup untuk pengujian; lisensi penuh diperlukan untuk produksi. +- **Bisakah saya menambahkan watermark ke beberapa halaman sekaligus?** Ya – API memungkinkan Anda menerapkan watermark yang sama ke semua halaman dalam satu panggilan. +- **Apakah prosesnya efisien memori?** Perpustakaan mem‑stream halaman, sehingga diagram dengan ratusan halaman tetap di bawah 200 MB RAM. + +## Apa itu watermark diagram pages java? +Frasa *watermark diagram pages java* mengacu pada praktik menyematkan lapisan teks semi‑transparan pada setiap halaman file diagram (seperti Visio, SVG, atau PDF) menggunakan kode Java. Teknik ini membantu mengidentifikasi kepemilikan, mencegah penggunaan tidak sah, dan menambahkan branding tanpa mengubah konten asli. + +## Prasyarat +- Java Development Kit (JDK) 8 atau yang lebih baru. +- Sebuah IDE seperti IntelliJ IDEA atau Eclipse. +- Maven untuk manajemen dependensi (atau kemampuan menambahkan JAR secara manual). +- File lisensi GroupDocs.Watermark yang valid (lisensi percobaan sementara dapat digunakan untuk pengujian). + +## Menyiapkan GroupDocs.Watermark untuk Java +Tambahkan koordinat Maven untuk GroupDocs.Watermark ke `pom.xml` Anda. Dependensi tunggal ini akan mengunduh semua binary yang diperlukan. + +Entri `pom.xml` terlihat seperti ini: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Jika Anda lebih suka instalasi manual, unduh JAR terbaru dari halaman rilis resmi [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Akuisisi Lisensi +Dapatkan lisensi percobaan sementara dari portal GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Setelah Anda menerima file `.lic`, muatlah seperti yang ditunjukkan di bawah. + +Kelas `License` memuat file lisensi GroupDocs.Watermark Anda untuk membuka semua fungsionalitas. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Panduan Implementasi +Berikut adalah panduan langkah demi langkah yang menambahkan watermark teks khusus ke setiap halaman diagram. + +### Cara menambahkan watermark teks ke halaman diagram? +Muat diagram, buat objek `TextWatermark`, terapkan ke semua halaman, dan akhirnya simpan hasilnya. Seluruh proses hanya memerlukan empat langkah logis. + +#### Langkah 1: muat diagram Anda +Kelas `DiagramLoadOptions` mengonfigurasi cara file diagram dibaca ke memori. Berikan jalur file sumber dan opsi spesifik format yang Anda perlukan. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Langkah 2: inisialisasi watermark teks +`TextWatermark` mewakili lapisan teks yang dapat diterapkan pada dokumen. +Buat instance `TextWatermark` dengan teks, font, warna, dan rotasi yang diinginkan. Objek ini menentukan tampilan visual lapisan tersebut. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Langkah 3: tambahkan watermark ke diagram +Kelas `Watermarker` mengatur operasi watermarking. Gunakan metode `add` untuk menerapkan `TextWatermark` ke semua halaman latar belakang diagram. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Langkah 4: simpan dan tutup +`save` menulis dokumen yang telah dimodifikasi ke jalur output yang ditentukan. `close` melepaskan sumber daya file yang mendasarinya. +Panggil `save` pada instance `Watermarker` untuk menulis diagram ber‑watermark ke disk, kemudian lepaskan sumber daya dengan `close`. Ini memastikan handle file dilepaskan dengan cepat. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Masalah Umum dan Pemecahan Masalah +- **Kesalahan jalur file** – Pastikan jalur menggunakan garis miring maju (`/`) atau backslash yang di‑escape (`\\`) pada Windows. +- **Versi perpustakaan tidak kompatibel** – GroupDocs.Watermark 23.10+ memerlukan JDK 8+. Tingkatkan keduanya jika Anda melihat `NoClassDefFoundError`. +- **Lisensi hilang** – Jika watermark tidak muncul, periksa konsol untuk peringatan `License not loaded` dan muat ulang file `.lic`. + +## Aplikasi Praktis +1. **Keamanan dokumen** – Mencegah kompetitor menggunakan kembali flowchart milik perusahaan. +2. **Penguatan merek** – Tampilkan nama perusahaan Anda pada setiap diagram yang diekspor. +3. **Pelacakan kolaborasi** – Sisipkan inisial pengguna sebagai watermark untuk mengidentifikasi siapa yang mengedit setiap versi. + +## Pertimbangan Kinerja +- Stream diagram alih-alih memuatnya sepenuhnya ke memori; API melakukan ini secara otomatis untuk file besar. +- Jaga opacity watermark antara 30‑50 % untuk mempertahankan keterbacaan sambil tetap terlihat. +- Uji dengan sampel representatif sebelum memproses ribuan file secara batch untuk mengukur dampak CPU dan memori. + +## Pertanyaan yang Sering Diajukan + +**Q: Apakah GroupDocs.Watermark dapat menangani format vektor seperti SVG?** +A: Ya, perpustakaan sepenuhnya mendukung SVG, VSDX, dan format diagram vektor lainnya, mempertahankan skalabilitas setelah watermarking. + +**Q: Apakah memungkinkan untuk menambahkan watermark hanya pada halaman tertentu?** +A: Tentu saja. Gunakan overload metode `add` yang menerima rentang halaman atau `PageCollection` untuk menargetkan halaman spesifik. + +**Q: Bagaimana cara menghapus watermark yang sebelumnya ditambahkan?** +A: API `remove` memindai tanda watermark yang cocok dan menghapusnya, memungkinkan Anda mengembalikan diagram asli tanpa mengunggah ulang. + +**Q: Apakah watermark tetap ada setelah konversi ke PDF?** +A: Saat Anda menyimpan diagram ber‑watermark sebagai PDF, lapisan tersebut tertanam ke halaman PDF, menjadikannya permanen di semua penampil. + +**Q: Apa yang terjadi jika saya menerapkan beberapa watermark?** +A: Setiap watermark dirender sesuai urutan penambahan; Anda dapat menumpuk watermark teks dan gambar untuk branding berlapis. + +## Sumber Daya Tambahan +- [Dokumentasi](https://docs.groupdocs.com/watermark/java/) +- [Referensi API](https://reference.groupdocs.com/watermark/java) +- [Unduh Versi Terbaru](https://releases.groupdocs.com/watermark/java/) +- [Repositori GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Forum Dukungan Gratis](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Terakhir Diperbarui:** 2026-10-16 +**Diuji Dengan:** GroupDocs.Watermark 23.11 for Java +**Penulis:** GroupDocs + +--- + +## Tutorial Terkait + +- [Panduan Menambahkan Watermark ke Diagram Menggunakan GroupDocs.Watermark untuk Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Menambahkan Watermark Teks di Java Menggunakan GroupDocs.Watermark: Panduan Langkah demi Langkah](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Cara Mengambil Informasi Dokumen Menggunakan GroupDocs.Watermark untuk Java: Panduan Langkah demi Langkah](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/italian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/italian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..c6da29f97 --- /dev/null +++ b/content/italian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Scopri come aggiungere filigrana alle pagine di diagrammi Java con GroupDocs.Watermark. + Questa guida passo‑passo copre l'installazione, l'implementazione e le migliori + pratiche per una gestione sicura dei diagrammi. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Scopri come aggiungere filigrana alle pagine di diagrammi Java con + GroupDocs.Watermark. Questa guida ti accompagna nella configurazione, fornisce snippet + di codice e consigli sulle prestazioni per proteggere i tuoi diagrammi. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Come aggiungere filigrana alle pagine di diagrammi Java con GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Come aggiungere filigrana alle pagine di diagrammi Java con GroupDocs.Watermark +type: docs +url: /it/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Come aggiungere filigrane alle pagine dei diagrammi java usando GroupDocs.Watermark + +Proteggere le risorse visive nei tuoi progetti software è fondamentale, soprattutto quando condividi diagrammi con partner o li incorpori nella documentazione. In questo tutorial imparerai **come aggiungere filigrane alle pagine dei diagrammi java** usando la libreria GroupDocs.Watermark. Copriremo tutto, dalla preparazione dell'ambiente al codice esatto necessario per inserire una filigrana di testo riutilizzabile su ogni pagina di un file diagramma. + +## Risposte rapide +- **Quale libreria aggiunge filigrane ai diagrammi in Java?** GroupDocs.Watermark for Java. +- **Quante righe di codice sono necessarie per una filigrana di testo di base?** Solo cinque righe dopo il caricamento del diagramma. +- **È necessaria una licenza a pagamento per lo sviluppo?** Una licenza di prova gratuita funziona per i test; è richiesta una licenza completa per la produzione. +- **Posso aggiungere filigrane a più pagine contemporaneamente?** Sì – l'API consente di applicare la stessa filigrana a tutte le pagine con una singola chiamata. +- **Il processo è efficiente in termini di memoria?** La libreria trasmette le pagine in streaming, quindi anche diagrammi con centinaia di pagine rimangono sotto i 200 MB di RAM. + +## Che cos'è watermark diagram pages java? +La frase *watermark diagram pages java* si riferisce alla pratica di inserire una sovrapposizione di testo semi‑trasparente su ogni pagina di un file diagramma (come Visio, SVG o PDF) usando codice Java. Questa tecnica aiuta a identificare la proprietà, prevenire l'uso non autorizzato e aggiungere branding senza alterare il contenuto originale. + +## Prerequisiti +- Java Development Kit (JDK) 8 o superiore. +- Un IDE come IntelliJ IDEA o Eclipse. +- Maven per la gestione delle dipendenze (o la possibilità di aggiungere JAR manualmente). +- Un file di licenza GroupDocs.Watermark valido (la prova temporanea funziona per i test). + +## Configurazione di GroupDocs.Watermark per Java +Aggiungi la coordinata Maven per GroupDocs.Watermark al tuo `pom.xml`. Questa singola dipendenza scarica tutti i binari necessari. + +L'entry di `pom.xml` appare così: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Se preferisci l'installazione manuale, scarica gli ultimi JAR dalla pagina ufficiale di rilascio [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Acquisizione della licenza +Ottieni una licenza di prova temporanea dal portale GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Dopo aver ricevuto il file `.lic`, caricalo come mostrato di seguito. + +La classe `License` carica il tuo file di licenza GroupDocs.Watermark per sbloccare tutte le funzionalità. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Guida all'implementazione +Di seguito trovi una guida passo‑passo che aggiunge una filigrana di testo personalizzata a ogni pagina di un diagramma. + +### Come aggiungere una filigrana di testo alle pagine del diagramma? +Carica il diagramma, crea un oggetto `TextWatermark`, applicalo a tutte le pagine e infine salva il risultato. L'intero processo richiede solo quattro passaggi logici. + +#### Passo 1: carica il tuo diagramma +La classe `DiagramLoadOptions` configura come un file diagramma viene letto in memoria. Fornisci il percorso del file sorgente e le eventuali opzioni specifiche del formato di cui hai bisogno. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Passo 2: inizializza la filigrana di testo +`TextWatermark` rappresenta una sovrapposizione di testo che può essere applicata ai documenti. +Crea un'istanza `TextWatermark` con il testo desiderato, il font, il colore e la rotazione. Questo oggetto definisce l'aspetto visivo della sovrapposizione. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Passo 3: aggiungi la filigrana al diagramma +La classe `Watermarker` orchestra l'operazione di filigranatura. Usa il metodo `add` per applicare il `TextWatermark` a tutte le pagine di sfondo del diagramma. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Passo 4: salva e chiudi +`save` scrive il documento modificato nel percorso di output specificato. `close` rilascia le risorse di file sottostanti. +Chiama `save` sull'istanza `Watermarker` per scrivere il diagramma con filigrana su disco, quindi rilascia le risorse con `close`. Questo garantisce che il handle del file venga rilasciato tempestivamente. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Problemi comuni e risoluzione +- **Errori nel percorso del file** – Verifica che il percorso utilizzi slash (`/`) o backslash escapati (`\\`) su Windows. +- **Versioni della libreria incompatibili** – GroupDocs.Watermark 23.10+ richiede JDK 8+. Aggiorna entrambi se vedi `NoClassDefFoundError`. +- **Licenza mancante** – Se la filigrana non appare, controlla la console per un avviso `License not loaded` e ricarica il file `.lic`. + +## Applicazioni pratiche +1. **Sicurezza dei documenti** – Impedire ai concorrenti di riutilizzare diagrammi proprietari. +2. **Rinforzo del brand** – Visualizza il nome della tua azienda su ogni diagramma esportato. +3. **Tracciamento della collaborazione** – Inserisci le iniziali dell'utente come filigrana per identificare chi ha modificato ogni versione. + +## Considerazioni sulle prestazioni +- Trasmetti i diagrammi in streaming invece di caricarli completamente in memoria; l'API lo fa automaticamente per file di grandi dimensioni. +- Mantieni l'opacità della filigrana tra 30‑50 % per preservare la leggibilità pur rimanendo visibile. +- Testa con un campione rappresentativo prima di elaborare in batch migliaia di file per valutare l'impatto su CPU e memoria. + +## Domande frequenti + +**Q: GroupDocs.Watermark può gestire formati vettoriali come SVG?** +A: Sì, la libreria supporta pienamente SVG, VSDX e altri formati di diagrammi vettoriali, preservando la scalabilità dopo la filigranatura. + +**Q: È possibile aggiungere filigrane solo a pagine selezionate?** +A: Assolutamente. Usa la sovraccarico del metodo `add` che accetta un intervallo di pagine o un `PageCollection` per mirare a pagine specifiche. + +**Q: Come rimuovo una filigrana aggiunta in precedenza?** +A: L'API `remove` ricerca le firme di filigrana corrispondenti e le elimina, permettendoti di ripristinare il diagramma originale senza doverlo ricaricare. + +**Q: La filigrana sopravvive alla conversione PDF?** +A: Quando salvi il diagramma con filigrana come PDF, la sovrapposizione viene incorporata nelle pagine PDF, rendendola permanente su tutti i visualizzatori. + +**Q: Cosa succede se applico più filigrane?** +A: Ogni filigrana viene renderizzata nell'ordine di aggiunta; è possibile impilare filigrane di testo e immagine per un branding a più livelli. + +## Risorse aggiuntive +- [Documentazione](https://docs.groupdocs.com/watermark/java/) +- [Riferimento API](https://reference.groupdocs.com/watermark/java) +- [Scarica l'ultima versione](https://releases.groupdocs.com/watermark/java/) +- [Repository GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Forum di supporto gratuito](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Ultimo aggiornamento:** 2026-10-16 +**Testato con:** GroupDocs.Watermark 23.11 for Java +**Autore:** GroupDocs + +--- + +## Tutorial correlati + +- [Guida all'aggiunta di filigrane ai diagrammi usando GroupDocs.Watermark per Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Aggiungi filigrane di testo in Java usando GroupDocs.Watermark: Guida passo‑passo](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Come recuperare le informazioni del documento usando GroupDocs.Watermark per Java: Guida passo‑passo](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/japanese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/japanese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..92d6b0cbd --- /dev/null +++ b/content/japanese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,218 @@ +--- +date: '2026-10-16' +description: GroupDocs.Watermark を使用して java の diagram pages に透かしを付ける方法を学びます。このステップバイステップガイドでは、セットアップ、実装、そして安全な + diagram の取り扱いのベストプラクティスをカバーしています。 +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: GroupDocs.Watermark を使用して java の diagram pages に透かしを付ける方法を学びます。このガイドでは、セットアップ、コードスニペット、そして + diagram を保護するためのパフォーマンスのヒントをご紹介します。 +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: GroupDocs.Watermark を使用した java の diagram pages に透かしを付ける方法 +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: GroupDocs.Watermark を使用した java の diagram pages に透かしを付ける方法 +type: docs +url: /ja/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# GroupDocs.Watermark を使用した Java での図ページへの透かしの付け方 + +ソフトウェアプロジェクトの視覚資産を保護することは重要です。特に、パートナーと図を共有したり、ドキュメントに埋め込んだりする場合は必須です。このチュートリアルでは、GroupDocs.Watermark ライブラリを使用して **Java で図ページに透かしを付ける方法** を学びます。環境の準備から、図ファイルの各ページに再利用可能なテキスト透かしを埋め込むために必要な正確なコードまで、すべてカバーします。 + +## クイック回答 +- **Java で図に透かしを追加するライブラリは何ですか?** GroupDocs.Watermark for Java. +- **基本的なテキスト透かしに必要なコード行数は何行ですか?** Only five lines after the diagram is loaded. +- **開発に有料ライセンスは必要ですか?** A free trial license works for testing; a full license is required for production. +- **複数ページに一度に透かしを付けることはできますか?** Yes – the API lets you apply the same watermark to all pages in a single call. +- **このプロセスはメモリ効率が良いですか?** The library streams pages, so even multi‑hundred‑page diagrams stay under 200 MB of RAM. + +## watermark diagram pages java とは何か +*watermark diagram pages java* というフレーズは、Java コードを使用して Visio、SVG、PDF などの図ファイルの各ページに半透明のテキストオーバーレイを埋め込む行為を指します。この手法は所有権の特定、無断再利用の防止、元のコンテンツを変更せずにブランディングを追加するのに役立ちます。 + +## 前提条件 +- Java Development Kit (JDK) 8 以上。 +- IntelliJ IDEA や Eclipse などの IDE。 +- 依存関係管理のための Maven(または手動で JAR を追加できる環境)。 +- 有効な GroupDocs.Watermark ライセンスファイル(テスト用に一時的なトライアルで可)。 + +## GroupDocs.Watermark for Java の設定 +Add the Maven coordinate for GroupDocs.Watermark to your `pom.xml`. This single dependency pulls in all required binaries. + +The `pom.xml` entry looks like this: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +If you prefer manual installation, download the latest JARs from the official release page [GroupDocs.Watermark for Java リリース](https://releases.groupdocs.com/watermark/java/). + +### ライセンス取得 +Obtain a temporary trial license from the GroupDocs portal [GroupDocs トライアル ライセンス](https://purchase.groupdocs.com/temporary-license/). After you receive the `.lic` file, load it as shown below. + +The `License` class loads your GroupDocs.Watermark license file to unlock full functionality. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## 実装ガイド +Below is a step‑by‑step walkthrough that adds a custom text watermark to every page of a diagram. + +### 図ページにテキスト透かしを追加する方法は? +Load the diagram, create a `TextWatermark` object, apply it to all pages, and finally save the result. The entire process requires only four logical steps. + +#### 手順 1: 図をロードする +The `DiagramLoadOptions` class configures how a diagram file is read into memory. Provide the source file path and any format‑specific options you need. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### 手順 2: テキスト透かしを初期化する +`TextWatermark` represents a text overlay that can be applied to documents. +Create a `TextWatermark` instance with the desired text, font, color, and rotation. This object defines the visual appearance of the overlay. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### 手順 3: 図に透かしを追加する +The `Watermarker` class orchestrates the watermarking operation. Use the `add` method to apply the `TextWatermark` to all background pages of the diagram. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### 手順 4: 保存してクローズする +`save` writes the modified document to the specified output path. `close` releases the underlying file resources. +Call `save` on the `Watermarker` instance to write the watermarked diagram to disk, then release resources with `close`. This ensures the file handle is released promptly. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## よくある問題とトラブルシューティング +- **File path errors** – Verify that the path uses forward slashes (`/`) or escaped backslashes (`\\`) on Windows. +- **Incompatible library versions** – GroupDocs.Watermark 23.10+ requires JDK 8+. Upgrade both if you see `NoClassDefFoundError`. +- **Missing license** – If the watermark does not appear, check the console for a `License not loaded` warning and re‑load the `.lic` file. + +## 実用的な活用例 +1. **Document security** – Prevent competitors from re‑using proprietary flowcharts. +2. **Brand reinforcement** – Display your company name on every exported diagram. +3. **Collaboration tracking** – Insert user initials as a watermark to identify who edited each version. + +## パフォーマンス上の考慮点 +- Stream diagrams instead of loading them fully into memory; the API does this automatically for large files. +- Keep watermark opacity between 30‑50 % to maintain readability while still being visible. +- Test with a representative sample before batch‑processing thousands of files to gauge CPU and memory impact. + +## よくある質問 + +**Q: Can GroupDocs.Watermark handle vector formats like SVG?** +A: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, preserving scalability after watermarking. + +**Q: Is it possible to watermark only selected pages?** +A: Absolutely. Use the `add` method overload that accepts a page range or a `PageCollection` to target specific pages. + +**Q: How do I remove a watermark that was previously added?** +A: The `remove` API scans for matching watermark signatures and deletes them, allowing you to restore the original diagram without re‑uploading. + +**Q: Does the watermark survive PDF conversion?** +A: When you save the watermarked diagram as PDF, the overlay is baked into the PDF pages, making it permanent across viewers. + +**Q: What happens if I apply multiple watermarks?** +A: Each watermark is rendered in the order added; you can stack text and image watermarks for layered branding. + +## 追加リソース +- [ドキュメント](https://docs.groupdocs.com/watermark/java/) +- [API リファレンス](https://reference.groupdocs.com/watermark/java) +- [最新バージョンのダウンロード](https://releases.groupdocs.com/watermark/java/) +- [GitHub リポジトリ](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [無料サポートフォーラム](https://forum.groupdocs.com/c/watermark/10) + +--- + +**最終更新日:** 2026-10-16 +**テスト環境:** GroupDocs.Watermark 23.11 for Java +**作者:** GroupDocs + +## 関連チュートリアル + +- [GroupDocs.Watermark for Java を使用した図への透かし追加ガイド](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [GroupDocs.Watermark を使用した Java でのテキスト透かし追加: ステップバイステップガイド](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [GroupDocs.Watermark for Java を使用したドキュメント情報取得方法: ステップバイステップガイド](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/korean/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/korean/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..5736eff28 --- /dev/null +++ b/content/korean/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,218 @@ +--- +date: '2026-10-16' +description: GroupDocs.Watermark를 사용하여 Java 다이어그램 페이지에 워터마크를 적용하는 방법을 배웁니다. 이 단계별 + 가이드는 설정, 구현 및 안전한 다이어그램 처리를 위한 모범 사례를 다룹니다. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: GroupDocs.Watermark를 사용하여 Java 다이어그램 페이지에 워터마크를 적용하는 방법을 배웁니다. 이 가이드는 + 설정, 코드 스니펫 및 다이어그램 보호를 위한 성능 팁을 안내합니다. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: GroupDocs.Watermark를 사용하여 Java 다이어그램 페이지에 워터마크 적용하는 방법 +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: GroupDocs.Watermark를 사용하여 Java 다이어그램 페이지에 워터마크 적용하는 방법 +type: docs +url: /ko/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# GroupDocs.Watermark를 사용하여 Java에서 다이어그램 페이지에 워터마크 추가하기 + +소프트웨어 프로젝트에서 시각 자산을 보호하는 것은 매우 중요합니다. 특히 파트너와 다이어그램을 공유하거나 문서에 삽입할 때 더욱 그렇습니다. 이 튜토리얼에서는 GroupDocs.Watermark 라이브러리를 사용하여 **Java에서 다이어그램 페이지에 워터마크를 추가하는 방법**을 배웁니다. 환경 설정부터 다이어그램 파일의 모든 페이지에 재사용 가능한 텍스트 워터마크를 삽입하는 정확한 코드까지 모두 다룹니다. + +## 빠른 답변 +- **Java에서 다이어그램에 워터마크를 추가하는 라이브러리는 무엇인가요?** GroupDocs.Watermark for Java. +- **기본 텍스트 워터마크를 만들기 위해 필요한 코드 라인은 몇 줄인가요?** 다이어그램을 로드한 후 단 5줄만 필요합니다. +- **개발에 유료 라이선스가 필요합니까?** 테스트용 무료 체험 라이선스로도 동작하며, 프로덕션에서는 정식 라이선스가 필요합니다. +- **한 번에 여러 페이지에 워터마크를 적용할 수 있나요?** 예 – API를 사용하면 한 번의 호출로 모든 페이지에 동일한 워터마크를 적용할 수 있습니다. +- **이 프로세스는 메모리 효율적인가요?** 라이브러리는 페이지를 스트리밍하므로 수백 페이지 다이어그램도 RAM 200 MB 이하로 유지됩니다. + +## 워터마크 다이어그램 페이지 Java란 무엇인가요? +*watermark diagram pages java*라는 표현은 Java 코드를 사용해 다이어그램 파일(Visio, SVG, PDF 등)의 각 페이지에 반투명 텍스트 오버레이를 삽입하는 작업을 의미합니다. 이 기술은 소유권을 식별하고 무단 재사용을 방지하며 원본 콘텐츠를 변경하지 않고 브랜드를 추가하는 데 도움이 됩니다. + +## 사전 요구 사항 +- Java Development Kit (JDK) 8 이상. +- IntelliJ IDEA 또는 Eclipse와 같은 IDE. +- Maven을 사용한 의존성 관리(또는 JAR를 수동으로 추가할 수 있음). +- 유효한 GroupDocs.Watermark 라이선스 파일(테스트용 임시 체험판 사용 가능). + +## Java용 GroupDocs.Watermark 설정 +프로젝트의 `pom.xml`에 GroupDocs.Watermark에 대한 Maven 좌표를 추가합니다. 이 단일 의존성으로 모든 필요한 바이너리를 가져올 수 있습니다. + +`pom.xml` 항목은 다음과 같습니다: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +수동 설치를 선호한다면 공식 릴리스 페이지 [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/)에서 최신 JAR를 다운로드하십시오. + +### 라이선스 획득 +GroupDocs 포털 [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/)에서 임시 체험 라이선스를 얻으세요. `.lic` 파일을 받은 후 아래와 같이 로드합니다. + +`License` 클래스는 GroupDocs.Watermark 라이선스 파일을 로드하여 전체 기능을 활성화합니다. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## 구현 가이드 +다음은 다이어그램의 모든 페이지에 사용자 정의 텍스트 워터마크를 추가하는 단계별 안내입니다. + +### 다이어그램 페이지에 텍스트 워터마크를 추가하는 방법 +다이어그램을 로드하고 `TextWatermark` 객체를 생성한 뒤 모든 페이지에 적용하고 최종적으로 저장합니다. 전체 과정은 네 단계만 필요합니다. + +#### 단계 1: 다이어그램 로드 +`DiagramLoadOptions` 클래스는 다이어그램 파일을 메모리로 읽는 방식을 구성합니다. 소스 파일 경로와 필요한 형식별 옵션을 제공하십시오. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### 단계 2: 텍스트 워터마크 초기화 +`TextWatermark`는 문서에 적용할 수 있는 텍스트 오버레이를 나타냅니다. +원하는 텍스트, 글꼴, 색상 및 회전을 지정하여 `TextWatermark` 인스턴스를 생성합니다. 이 객체가 오버레이의 시각적 모습을 정의합니다. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### 단계 3: 워터마크를 다이어그램에 추가 +`Watermarker` 클래스는 워터마크 작업을 조정합니다. `add` 메서드를 사용하여 `TextWatermark`를 다이어그램의 모든 배경 페이지에 적용합니다. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### 단계 4: 저장 및 닫기 +`save`는 수정된 문서를 지정된 출력 경로에 기록합니다. `close`는 기본 파일 리소스를 해제합니다. +`Watermarker` 인스턴스에서 `save`를 호출해 워터마크가 적용된 다이어그램을 디스크에 저장하고, `close`로 리소스를 해제하면 파일 핸들이 즉시 해제됩니다. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## 일반적인 문제 및 해결 방법 +- **파일 경로 오류** – 경로에 슬래시(`/`) 또는 Windows에서는 이스케이프된 백슬래시(`\\`)가 사용되었는지 확인하십시오. +- **호환되지 않는 라이브러리 버전** – GroupDocs.Watermark 23.10+은 JDK 8 이상이 필요합니다. `NoClassDefFoundError`가 발생하면 두 버전을 모두 업그레이드하십시오. +- **라이선스 누락** – 워터마크가 표시되지 않으면 콘솔에 `License not loaded` 경고가 있는지 확인하고 `.lic` 파일을 다시 로드하십시오. + +## 실용적인 적용 사례 +1. **문서 보안** – 경쟁자가 독점적인 플로우차트를 재사용하는 것을 방지합니다. +2. **브랜드 강화** – 모든 내보낸 다이어그램에 회사 이름을 표시합니다. +3. **협업 추적** – 사용자 이니셜을 워터마크로 삽입하여 누가 각 버전을 편집했는지 식별합니다. + +## 성능 고려 사항 +- 다이어그램을 전체 메모리로 로드하는 대신 스트리밍하세요; API가 큰 파일에 대해 자동으로 처리합니다. +- 워터마크 불투명도를 30‑50% 사이로 유지하여 가독성을 유지하면서도 눈에 띄게 합니다. +- 수천 개 파일을 배치 처리하기 전에 대표 샘플로 테스트하여 CPU와 메모리 영향을 평가하십시오. + +## 자주 묻는 질문 + +**Q: GroupDocs.Watermark가 SVG와 같은 벡터 형식을 처리할 수 있나요?** +A: 예, 라이브러리는 SVG, VSDX 및 기타 벡터 다이어그램 형식을 완전히 지원하며, 워터마크 적용 후에도 확장성을 유지합니다. + +**Q: 선택한 페이지에만 워터마크를 적용할 수 있나요?** +A: 물론입니다. 페이지 범위 또는 `PageCollection`을 받아들이는 `add` 메서드 오버로드를 사용해 특정 페이지만 대상으로 지정할 수 있습니다. + +**Q: 이전에 추가한 워터마크를 어떻게 제거하나요?** +A: `remove` API가 일치하는 워터마크 서명을 스캔하여 삭제하므로, 재업로드 없이 원본 다이어그램을 복원할 수 있습니다. + +**Q: 워터마크가 PDF 변환 후에도 유지되나요?** +A: 워터마크가 적용된 다이어그램을 PDF로 저장하면 오버레이가 PDF 페이지에 영구적으로 삽입되어 모든 뷰어에서 유지됩니다. + +**Q: 여러 개의 워터마크를 적용하면 어떻게 되나요?** +A: 각 워터마크는 추가된 순서대로 렌더링되며, 텍스트와 이미지 워터마크를 겹쳐 레이어링된 브랜딩을 만들 수 있습니다. + +## 추가 자료 +- [문서](https://docs.groupdocs.com/watermark/java/) +- [API 레퍼런스](https://reference.groupdocs.com/watermark/java) +- [최신 버전 다운로드](https://releases.groupdocs.com/watermark/java/) +- [GitHub 저장소](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [무료 지원 포럼](https://forum.groupdocs.com/c/watermark/10) + +--- + +**마지막 업데이트:** 2026-10-16 +**테스트 환경:** GroupDocs.Watermark 23.11 for Java +**작성자:** GroupDocs + +## 관련 튜토리얼 + +- [GroupDocs.Watermark for Java를 사용하여 다이어그램에 워터마크 추가 가이드](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [GroupDocs.Watermark를 사용한 Java 텍스트 워터마크 추가: 단계별 가이드](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [GroupDocs.Watermark for Java를 사용한 문서 정보 검색 방법: 단계별 가이드](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/polish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/polish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..20dd21dd6 --- /dev/null +++ b/content/polish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Dowiedz się, jak dodać znak wodny do stron diagramu w języku Java przy + użyciu GroupDocs.Watermark. Ten przewodnik krok po kroku obejmuje konfigurację, + implementację oraz najlepsze praktyki zapewniające bezpieczne przetwarzanie diagramów. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Dowiedz się, jak dodać znak wodny do stron diagramu w języku Java + przy użyciu GroupDocs.Watermark. Ten przewodnik przeprowadzi Cię przez konfigurację, + fragmenty kodu oraz wskazówki dotyczące wydajności w celu ochrony Twoich diagramów. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Jak dodać znak wodny do stron diagramu w języku Java przy użyciu GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Jak dodać znak wodny do stron diagramu w języku Java przy użyciu GroupDocs.Watermark +type: docs +url: /pl/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Jak dodać znak wodny do stron diagramu w Javie przy użyciu GroupDocs.Watermark + +Ochrona zasobów wizualnych w Twoich projektach programistycznych jest niezbędna, szczególnie gdy udostępniasz diagramy partnerom lub osadzasz je w dokumentacji. W tym samouczku dowiesz się **jak dodać znak wodny do stron diagramu w Javie** przy użyciu biblioteki GroupDocs.Watermark. Omówimy wszystko, od przygotowania środowiska po dokładny kod potrzebny do osadzenia wielokrotnego użycia tekstowego znaku wodnego na każdej stronie pliku diagramu. + +## Szybkie odpowiedzi +- **Jaką bibliotekę używać do dodawania znaków wodnych do diagramów w Javie?** GroupDocs.Watermark for Java. +- **Ile linii kodu potrzebnych jest do podstawowego tekstowego znaku wodnego?** Tylko pięć linii po załadowaniu diagramu. +- **Czy potrzebna jest płatna licencja do rozwoju?** Licencja próbna działa w testach; pełna licencja jest wymagana w produkcji. +- **Czy mogę dodać znak wodny do wielu stron jednocześnie?** Tak – API pozwala zastosować ten sam znak wodny do wszystkich stron w jednym wywołaniu. +- **Czy proces jest efektywny pamięciowo?** Biblioteka strumieniuje strony, więc nawet diagramy o setkach stron pozostają poniżej 200 MB pamięci RAM. + +## Co to jest znak wodny na stronach diagramu w Javie? +Wyrażenie *watermark diagram pages java* odnosi się do praktyki osadzania półprzezroczystej warstwy tekstowej na każdej stronie pliku diagramu (takiego jak Visio, SVG lub PDF) przy użyciu kodu Java. Technika ta pomaga identyfikować własność, zapobiega nieautoryzowanemu ponownemu użyciu i dodaje branding bez zmiany oryginalnej treści. + +## Wymagania wstępne +- Java Development Kit (JDK) 8 lub nowszy. +- IDE, takie jak IntelliJ IDEA lub Eclipse. +- Maven do zarządzania zależnościami (lub możliwość ręcznego dodania plików JAR). +- Ważny plik licencji GroupDocs.Watermark (licencja próbna działa w testach). + +## Konfiguracja GroupDocs.Watermark dla Javy +Dodaj współrzędną Maven dla GroupDocs.Watermark do swojego `pom.xml`. Ta pojedyncza zależność pobiera wszystkie wymagane pliki binarne. + +Wpis w `pom.xml` wygląda następująco: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Jeśli wolisz ręczną instalację, pobierz najnowsze pliki JAR ze strony oficjalnych wydań [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Uzyskanie licencji +Uzyskaj tymczasową licencję próbną z portalu GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Po otrzymaniu pliku `.lic` załaduj go jak pokazano poniżej. + +Klasa `License` ładuje Twój plik licencji GroupDocs.Watermark, aby odblokować pełną funkcjonalność. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Przewodnik implementacji +Poniżej znajduje się krok po kroku przewodnik, który dodaje niestandardowy tekstowy znak wodny do każdej strony diagramu. + +### Jak dodać tekstowy znak wodny do stron diagramu? +Załaduj diagram, utwórz obiekt `TextWatermark`, zastosuj go do wszystkich stron i na końcu zapisz wynik. Cały proces wymaga tylko czterech logicznych kroków. + +#### Krok 1: załaduj swój diagram +Klasa `DiagramLoadOptions` konfiguruje, w jaki sposób plik diagramu jest wczytywany do pamięci. Podaj ścieżkę do pliku źródłowego oraz wszelkie opcje specyficzne dla formatu, które są potrzebne. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Krok 2: zainicjuj tekstowy znak wodny +`TextWatermark` reprezentuje tekstową nakładkę, którą można zastosować do dokumentów. +Utwórz instancję `TextWatermark` z żądanym tekstem, czcionką, kolorem i rotacją. Ten obiekt definiuje wygląd wizualny nakładki. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Krok 3: dodaj znak wodny do diagramu +Klasa `Watermarker` koordynuje operację znakowania wodnego. Użyj metody `add`, aby zastosować `TextWatermark` do wszystkich stron tła diagramu. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Krok 4: zapisz i zamknij +`save` zapisuje zmodyfikowany dokument do określonej ścieżki wyjściowej. `close` zwalnia podstawowe zasoby pliku. +Wywołaj `save` na instancji `Watermarker`, aby zapisać diagram z znakiem wodnym na dysku, a następnie zwolnij zasoby za pomocą `close`. To zapewnia szybkie zwolnienie uchwytu pliku. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Typowe problemy i rozwiązywanie +- **Błędy ścieżki pliku** – Upewnij się, że ścieżka używa ukośników (`/`) lub podwójnych odwrotnych ukośników (`\\`) w systemie Windows. +- **Niekompatybilne wersje biblioteki** – GroupDocs.Watermark 23.10+ wymaga JDK 8+. Zaktualizuj oba, jeśli pojawi się `NoClassDefFoundError`. +- **Brak licencji** – Jeśli znak wodny się nie pojawia, sprawdź konsolę pod kątem ostrzeżenia `License not loaded` i ponownie załaduj plik `.lic`. + +## Praktyczne zastosowania +1. **Bezpieczeństwo dokumentów** – Zapobiegaj konkurencji w ponownym wykorzystywaniu własnościowych diagramów przepływu. +2. **Wzmacnianie marki** – Wyświetl nazwę swojej firmy na każdym wyeksportowanym diagramie. +3. **Śledzenie współpracy** – Wstaw inicjały użytkownika jako znak wodny, aby zidentyfikować, kto edytował każdą wersję. + +## Rozważania dotyczące wydajności +- Strumieniuj diagramy zamiast ładować je w całości do pamięci; API robi to automatycznie dla dużych plików. +- Utrzymuj przezroczystość znaku wodnego między 30‑50 %, aby zachować czytelność przy jednoczesnej widoczności. +- Przetestuj na reprezentatywnej próbce przed przetwarzaniem wsadowym tysięcy plików, aby ocenić wpływ na CPU i pamięć. + +## Najczęściej zadawane pytania + +**Q: Czy GroupDocs.Watermark obsługuje formaty wektorowe takie jak SVG?** +A: Tak, biblioteka w pełni obsługuje SVG, VSDX i inne wektorowe formaty diagramów, zachowując skalowalność po dodaniu znaku wodnego. + +**Q: Czy można dodać znak wodny tylko do wybranych stron?** +A: Oczywiście. Użyj przeciążenia metody `add`, które przyjmuje zakres stron lub `PageCollection`, aby skierować się do konkretnych stron. + +**Q: Jak usunąć znak wodny, który został wcześniej dodany?** +A: API `remove` skanuje pod kątem pasujących sygnatur znaków wodnych i usuwa je, umożliwiając przywrócenie oryginalnego diagramu bez ponownego wgrywania. + +**Q: Czy znak wodny przetrwa konwersję do PDF?** +A: Gdy zapiszesz diagram z znakiem wodnym jako PDF, nakładka jest wbudowana w strony PDF, czyniąc ją trwałą we wszystkich przeglądarkach. + +**Q: Co się stanie, jeśli zastosuję wiele znaków wodnych?** +A: Każdy znak wodny jest renderowany w kolejności dodania; możesz nakładać znaki tekstowe i graficzne, tworząc warstwowy branding. + +## Dodatkowe zasoby +- [Dokumentacja](https://docs.groupdocs.com/watermark/java/) +- [Referencja API](https://reference.groupdocs.com/watermark/java) +- [Pobierz najnowszą wersję](https://releases.groupdocs.com/watermark/java/) +- [Repozytorium GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Darmowe forum wsparcia](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Ostatnia aktualizacja:** 2026-10-16 +**Testowano z:** GroupDocs.Watermark 23.11 for Java +**Autor:** GroupDocs + +--- + +## Powiązane samouczki + +- [Przewodnik dodawania znaków wodnych do diagramów przy użyciu GroupDocs.Watermark dla Javy](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Dodawanie tekstowych znaków wodnych w Javie przy użyciu GroupDocs.Watermark: Przewodnik krok po kroku](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Jak pobrać informacje o dokumencie przy użyciu GroupDocs.Watermark dla Javy: Przewodnik krok po kroku](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/portuguese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/portuguese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..36b6e8465 --- /dev/null +++ b/content/portuguese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Aprenda a aplicar marca d'água em páginas de diagramas java com GroupDocs.Watermark. + Este guia passo a passo cobre a configuração, implementação e as melhores práticas + para o manuseio seguro de diagramas. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Aprenda a aplicar marca d'água em páginas de diagramas java com GroupDocs.Watermark. + Este guia orienta você na configuração, trechos de código e dicas de desempenho + para proteger seus diagramas. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Como aplicar marca d'água em páginas de diagramas java usando GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Como aplicar marca d'água em páginas de diagramas java usando GroupDocs.Watermark +type: docs +url: /pt/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Como aplicar marca d'água em páginas de diagramas Java usando GroupDocs.Watermark + +Proteger os ativos visuais em seus projetos de software é essencial, especialmente quando você compartilha diagramas com parceiros ou os incorpora na documentação. Neste tutorial, você aprenderá **como aplicar marca d'água em páginas de diagramas Java** usando a biblioteca GroupDocs.Watermark. Cobriremos tudo, desde a preparação do ambiente até o código exato necessário para inserir uma marca d'água de texto reutilizável em cada página de um arquivo de diagrama. + +## Respostas rápidas +- **Qual biblioteca adiciona marcas d'água a diagramas em Java?** GroupDocs.Watermark for Java. +- **Quantas linhas de código são necessárias para uma marca d'água de texto básica?** Apenas cinco linhas após o diagrama ser carregado. +- **Preciso de uma licença paga para desenvolvimento?** Uma licença de avaliação gratuita funciona para testes; uma licença completa é necessária para produção. +- **Posso aplicar marca d'água em várias páginas de uma vez?** Sim – a API permite aplicar a mesma marca d'água a todas as páginas em uma única chamada. +- **O processo é eficiente em memória?** A biblioteca faz streaming das páginas, portanto, mesmo diagramas com centenas de páginas permanecem abaixo de 200 MB de RAM. + +## O que é marca d'água em páginas de diagramas Java? +A expressão *watermark diagram pages java* refere‑se à prática de incorporar uma sobreposição de texto semitransparente em cada página de um arquivo de diagrama (como Visio, SVG ou PDF) usando código Java. Essa técnica ajuda a identificar a propriedade, impedir o uso não autorizado e adicionar branding sem alterar o conteúdo original. + +## Pré‑requisitos +- Java Development Kit (JDK) 8 ou mais recente. +- Uma IDE como IntelliJ IDEA ou Eclipse. +- Maven para gerenciamento de dependências (ou a capacidade de adicionar JARs manualmente). +- Um arquivo de licença válido do GroupDocs.Watermark (uma avaliação temporária funciona para testes). + +## Configurando o GroupDocs.Watermark para Java +Adicione a coordenada Maven do GroupDocs.Watermark ao seu `pom.xml`. Essa única dependência traz todos os binários necessários. + +A entrada no `pom.xml` se parece com isto: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Se preferir instalação manual, faça o download dos JARs mais recentes na página oficial de lançamentos [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Aquisição de licença +Obtenha uma licença de avaliação temporária no portal GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Após receber o arquivo `.lic`, carregue‑o conforme mostrado abaixo. + +A classe `License` carrega seu arquivo de licença do GroupDocs.Watermark para desbloquear a funcionalidade completa. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Guia de implementação +A seguir, um passo a passo que adiciona uma marca d'água de texto personalizada a cada página de um diagrama. + +### Como adicionar uma marca d'água de texto a páginas de diagramas? +Carregue o diagrama, crie um objeto `TextWatermark`, aplique‑o a todas as páginas e, finalmente, salve o resultado. O processo completo requer apenas quatro etapas lógicas. + +#### Etapa 1: carregue seu diagrama +A classe `DiagramLoadOptions` configura como um arquivo de diagrama é lido na memória. Forneça o caminho do arquivo de origem e quaisquer opções específicas de formato que precisar. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Etapa 2: inicialize a marca d'água de texto +`TextWatermark` representa uma sobreposição de texto que pode ser aplicada a documentos. +Crie uma instância de `TextWatermark` com o texto desejado, fonte, cor e rotação. Esse objeto define a aparência visual da sobreposição. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Etapa 3: adicione a marca d'água ao diagrama +A classe `Watermarker` orquestra a operação de marca d'água. Use o método `add` para aplicar o `TextWatermark` a todas as páginas de fundo do diagrama. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Etapa 4: salvar e fechar +`save` grava o documento modificado no caminho de saída especificado. `close` libera os recursos subjacentes do arquivo. +Chame `save` na instância `Watermarker` para gravar o diagrama com marca d'água no disco, depois libere os recursos com `close`. Isso garante que o manipulador de arquivo seja liberado prontamente. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Problemas comuns e solução de erros +- **Erros de caminho de arquivo** – Verifique se o caminho usa barras (`/`) ou barras invertidas escapadas (`\\`) no Windows. +- **Versões incompatíveis da biblioteca** – GroupDocs.Watermark 23.10+ requer JDK 8+. Atualize ambos se você vir `NoClassDefFoundError`. +- **Licença ausente** – Se a marca d'água não aparecer, verifique o console para um aviso `License not loaded` e recarregue o arquivo `.lic`. + +## Aplicações práticas +1. **Segurança de documentos** – Impedir que concorrentes reutilizem fluxogramas proprietários. +2. **Reforço de marca** – Exibir o nome da sua empresa em cada diagrama exportado. +3. **Rastreamento de colaboração** – Inserir as iniciais do usuário como marca d'água para identificar quem editou cada versão. + +## Considerações de desempenho +- Transmita diagramas em vez de carregá‑los completamente na memória; a API faz isso automaticamente para arquivos grandes. +- Mantenha a opacidade da marca d'água entre 30‑50 % para manter a legibilidade enquanto ainda é visível. +- Teste com uma amostra representativa antes de processar em lote milhares de arquivos para avaliar o impacto na CPU e na memória. + +## Perguntas frequentes + +**Q: O GroupDocs.Watermark pode lidar com formatos vetoriais como SVG?** +A: Sim, a biblioteca suporta totalmente SVG, VSDX e outros formatos de diagramas vetoriais, preservando a escalabilidade após a aplicação da marca d'água. + +**Q: É possível aplicar marca d'água apenas em páginas selecionadas?** +A: Absolutamente. Use a sobrecarga do método `add` que aceita um intervalo de páginas ou um `PageCollection` para direcionar páginas específicas. + +**Q: Como remover uma marca d'água que foi adicionada anteriormente?** +A: A API `remove` procura assinaturas de marca d'água correspondentes e as exclui, permitindo restaurar o diagrama original sem precisar re‑carregar. + +**Q: A marca d'água sobrevive à conversão para PDF?** +A: Quando você salva o diagrama com marca d'água como PDF, a sobreposição é incorporada nas páginas PDF, tornando‑a permanente em todos os visualizadores. + +**Q: O que acontece se eu aplicar múltiplas marcas d'água?** +A: Cada marca d'água é renderizada na ordem em que foi adicionada; você pode empilhar marcas d'água de texto e imagem para branding em camadas. + +## Recursos adicionais +- [Documentação](https://docs.groupdocs.com/watermark/java/) +- [Referência da API](https://reference.groupdocs.com/watermark/java) +- [Baixar a versão mais recente](https://releases.groupdocs.com/watermark/java/) +- [Repositório no GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Fórum de suporte gratuito](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Última atualização:** 2026-10-16 +**Testado com:** GroupDocs.Watermark 23.11 for Java +**Autor:** GroupDocs + +## Tutoriais relacionados + +- [Guia para adicionar marcas d'água a diagramas usando GroupDocs.Watermark para Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Adicionar marcas d'água de texto em Java usando GroupDocs.Watermark: um guia passo a passo](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Como recuperar informações de documentos usando GroupDocs.Watermark para Java: um guia passo a passo](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/russian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/russian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..38000567f --- /dev/null +++ b/content/russian/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Узнайте, как добавить водяной знак на страницы диаграмм java с помощью + GroupDocs.Watermark. Это пошаговое руководство охватывает настройку, реализацию + и лучшие практики для безопасной работы с диаграммами. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Узнайте, как добавить водяной знак на страницы диаграмм java с помощью + GroupDocs.Watermark. Это руководство проведёт вас через настройку, примеры кода + и рекомендации по производительности для защиты ваших диаграмм. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Как добавить водяной знак на страницы диаграмм java с помощью GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Как добавить водяной знак на страницы диаграмм java с помощью GroupDocs.Watermark +type: docs +url: /ru/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Как добавить водяной знак на страницы диаграмм Java с помощью GroupDocs.Watermark + +Защита визуальных ресурсов в ваших программных проектах имеет решающее значение, особенно когда вы делитесь диаграммами с партнёрами или встраиваете их в документацию. В этом руководстве вы узнаете **how to watermark diagram pages java** с использованием библиотеки GroupDocs.Watermark. Мы охватим всё от подготовки окружения до точного кода, необходимого для внедрения переиспользуемого текстового водяного знака на каждую страницу файла диаграммы. + +## Быстрые ответы +- **Какая библиотека добавляет водяные знаки к диаграммам в Java?** GroupDocs.Watermark for Java. +- **Сколько строк кода требуется для базового текстового водяного знака?** Only five lines after the diagram is loaded. +- **Нужна ли платная лицензия для разработки?** A free trial license works for testing; a full license is required for production. +- **Можно ли добавить водяной знак на несколько страниц одновременно?** Yes – the API lets you apply the same watermark to all pages in a single call. +- **Эффективен ли процесс по использованию памяти?** The library streams pages, so even multi‑hundred‑page diagrams stay under 200 MB of RAM. + +## Что такое watermark diagram pages java? +Фраза *watermark diagram pages java* относится к практике внедрения полупрозрачного текстового наложения на каждую страницу файла диаграммы (например, Visio, SVG или PDF) с помощью кода Java. Эта техника помогает определить право собственности, предотвратить несанкционированное использование и добавить брендинг без изменения оригинального содержимого. + +## Требования +- Java Development Kit (JDK) 8 или новее. +- IDE, например IntelliJ IDEA или Eclipse. +- Maven для управления зависимостями (или возможность добавлять JAR‑файлы вручную). +- Действительный файл лицензии GroupDocs.Watermark (временная пробная лицензия подходит для тестирования). + +## Настройка GroupDocs.Watermark для Java +Добавьте Maven‑координату для GroupDocs.Watermark в ваш `pom.xml`. Эта единственная зависимость подтягивает все необходимые бинарные файлы. + +Запись в `pom.xml` выглядит так: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Если вы предпочитаете ручную установку, скачайте последние JAR‑файлы со официальной страницы релизов [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Получение лицензии +Получите временную пробную лицензию на портале GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). После получения файла `.lic` загрузите его, как показано ниже. + +Класс `License` загружает ваш файл лицензии GroupDocs.Watermark, чтобы разблокировать полную функциональность. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Руководство по реализации +Ниже представлено пошаговое руководство, которое добавляет пользовательский текстовый водяной знак на каждую страницу диаграммы. + +### Как добавить текстовый водяной знак на страницы диаграммы? +Загрузите диаграмму, создайте объект `TextWatermark`, примените его ко всем страницам и, наконец, сохраните результат. Весь процесс требует только четырёх логических шагов. + +#### Шаг 1: загрузите вашу диаграмму +Класс `DiagramLoadOptions` настраивает, как файл диаграммы читается в память. Укажите путь к исходному файлу и любые специфические для формата параметры, которые вам нужны. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Шаг 2: инициализировать текстовый водяной знак +`TextWatermark` представляет собой текстовое наложение, которое можно применять к документам. +Создайте экземпляр `TextWatermark` с нужным текстом, шрифтом, цветом и вращением. Этот объект определяет визуальный вид наложения. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Шаг 3: добавить водяной знак к диаграмме +Класс `Watermarker` управляет операцией наложения водяного знака. Используйте метод `add`, чтобы применить `TextWatermark` ко всем фоновым страницам диаграммы. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Шаг 4: сохранить и закрыть +`save` записывает изменённый документ по указанному пути вывода. `close` освобождает связанные файловые ресурсы. +Вызовите `save` у экземпляра `Watermarker`, чтобы записать диаграмму с водяным знаком на диск, затем освободите ресурсы с помощью `close`. Это гарантирует своевременное освобождение дескриптора файла. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Распространённые проблемы и их устранение +- **Ошибки пути к файлу** – Убедитесь, что путь использует прямые слеши (`/`) или экранированные обратные слеши (`\\`) в Windows. +- **Несовместимые версии библиотеки** – GroupDocs.Watermark 23.10+ требует JDK 8+. Обновите обе, если видите `NoClassDefFoundError`. +- **Отсутствует лицензия** – Если водяной знак не отображается, проверьте консоль на наличие предупреждения `License not loaded` и повторно загрузите файл `.lic`. + +## Практические применения +1. **Document security** – Предотвратить использование конкурентами фирменных блок-схем. +2. **Brand reinforcement** – Отображать название вашей компании на каждой экспортированной диаграмме. +3. **Collaboration tracking** – Вставлять инициалы пользователя в виде водяного знака для идентификации, кто отредактировал каждую версию. + +## Соображения по производительности +- Потоковая обработка диаграмм вместо полной загрузки в память; API делает это автоматически для больших файлов. +- Держите непрозрачность водяного знака в диапазоне 30‑50 % для сохранения читаемости при видимости. +- Протестируйте на репрезентативной выборке перед пакетной обработкой тысяч файлов, чтобы оценить нагрузку на CPU и память. + +## Часто задаваемые вопросы + +**Q: Может ли GroupDocs.Watermark работать с векторными форматами, такими как SVG?** +A: Да, библиотека полностью поддерживает SVG, VSDX и другие векторные форматы диаграмм, сохраняя масштабируемость после наложения водяного знака. + +**Q: Можно ли добавить водяной знак только на выбранные страницы?** +A: Конечно. Используйте перегрузку метода `add`, принимающую диапазон страниц или `PageCollection`, чтобы нацелить конкретные страницы. + +**Q: Как удалить ранее добавленный водяной знак?** +A: API `remove` сканирует подписи водяных знаков и удаляет их, позволяя восстановить оригинальную диаграмму без повторной загрузки. + +**Q: Сохраняется ли водяной знак при конвертации в PDF?** +A: При сохранении диаграммы с водяным знаком в PDF наложение встраивается в страницы PDF, делая его постоянным во всех просмотрщиках. + +**Q: Что происходит, если применить несколько водяных знаков?** +A: Каждый водяной знак рендерится в порядке добавления; вы можете накладывать текстовые и графические водяные знаки для многослойного брендинга. + +## Дополнительные ресурсы +- [Документация](https://docs.groupdocs.com/watermark/java/) +- [Справочник API](https://reference.groupdocs.com/watermark/java) +- [Скачать последнюю версию](https://releases.groupdocs.com/watermark/java/) +- [Репозиторий GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Бесплатный форум поддержки](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Последнее обновление:** 2026-10-16 +**Тестировано с:** GroupDocs.Watermark 23.11 for Java +**Автор:** GroupDocs + +## Связанные руководства + +- [Руководство по добавлению водяных знаков в диаграммы с помощью GroupDocs.Watermark для Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Добавление текстовых водяных знаков в Java с использованием GroupDocs.Watermark: пошаговое руководство](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Как получить информацию о документе с помощью GroupDocs.Watermark для Java: пошаговое руководство](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/spanish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/spanish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..dc8365a40 --- /dev/null +++ b/content/spanish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,222 @@ +--- +date: '2026-10-16' +description: Aprenda a aplicar marcas de agua a páginas de diagramas en Java con GroupDocs.Watermark. + Esta guía paso a paso cubre la configuración, la implementación y las mejores prácticas + para el manejo seguro de diagramas. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Aprenda a aplicar marcas de agua a páginas de diagramas en Java con + GroupDocs.Watermark. Esta guía le muestra la configuración, fragmentos de código + y consejos de rendimiento para proteger sus diagramas. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Cómo aplicar marcas de agua a páginas de diagramas en Java usando GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Cómo aplicar marcas de agua a páginas de diagramas en Java usando GroupDocs.Watermark +type: docs +url: /es/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Cómo agregar marcas de agua a páginas de diagramas java usando GroupDocs.Watermark + +Proteger los activos visuales en sus proyectos de software es esencial, especialmente cuando comparte diagramas con socios o los incrusta en la documentación. En este tutorial aprenderá **cómo agregar marcas de agua a páginas de diagramas java** usando la biblioteca GroupDocs.Watermark. Cubriremos todo, desde la preparación del entorno hasta el código exacto necesario para incrustar una marca de agua de texto reutilizable en cada página de un archivo de diagrama. + +## Respuestas rápidas +- **¿Qué biblioteca agrega marcas de agua a diagramas en Java?** GroupDocs.Watermark for Java. +- **¿Cuántas líneas de código se necesitan para una marca de agua de texto básica?** Solo cinco líneas después de cargar el diagrama. +- **¿Necesito una licencia de pago para el desarrollo?** Una licencia de prueba gratuita funciona para pruebas; se requiere una licencia completa para producción. +- **¿Puedo agregar marcas de agua a varias páginas a la vez?** Sí, la API le permite aplicar la misma marca de agua a todas las páginas en una sola llamada. +- **¿Es el proceso eficiente en memoria?** La biblioteca transmite las páginas, por lo que incluso diagramas de cientos de páginas permanecen por debajo de 200 MB de RAM. + +## Qué es watermark diagram pages java +La frase *watermark diagram pages java* se refiere a la práctica de incrustar una superposición de texto semitransparente en cada página de un archivo de diagrama (como Visio, SVG o PDF) usando código Java. Esta técnica ayuda a identificar la propiedad, prevenir el uso no autorizado y agregar branding sin alterar el contenido original. + +## Requisitos previos +- Java Development Kit (JDK) 8 o superior. +- Un IDE como IntelliJ IDEA o Eclipse. +- Maven para la gestión de dependencias (o la capacidad de agregar JARs manualmente). +- Un archivo de licencia válido de GroupDocs.Watermark (la prueba temporal funciona para pruebas). + +## Configuración de GroupDocs.Watermark para Java +Agregue la coordenada Maven de GroupDocs.Watermark a su `pom.xml`. Esta única dependencia incluye todos los binarios necesarios. + +La entrada de `pom.xml` se ve así: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Si prefiere la instalación manual, descargue los últimos JARs desde la página oficial de lanzamientos [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Obtención de licencia +Obtenga una licencia de prueba temporal desde el portal de GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Después de recibir el archivo `.lic`, cárguelo como se muestra a continuación. + +La clase `License` carga su archivo de licencia de GroupDocs.Watermark para desbloquear la funcionalidad completa. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Guía de implementación +A continuación se muestra una guía paso a paso que agrega una marca de agua de texto personalizada a cada página de un diagrama. + +### ¿Cómo agregar una marca de agua de texto a páginas de diagramas? +Cargue el diagrama, cree un objeto `TextWatermark`, aplíquelo a todas las páginas y, finalmente, guarde el resultado. Todo el proceso requiere solo cuatro pasos lógicos. + +#### Paso 1: cargue su diagrama +La clase `DiagramLoadOptions` configura cómo se lee un archivo de diagrama en memoria. Proporcione la ruta del archivo fuente y cualquier opción específica de formato que necesite. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Paso 2: inicialice la marca de agua de texto +`TextWatermark` representa una superposición de texto que se puede aplicar a documentos. +Cree una instancia de `TextWatermark` con el texto deseado, la fuente, el color y la rotación. Este objeto define la apariencia visual de la superposición. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Paso 3: agregue la marca de agua al diagrama +La clase `Watermarker` orquesta la operación de marcación de agua. Use el método `add` para aplicar el `TextWatermark` a todas las páginas de fondo del diagrama. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Paso 4: guardar y cerrar +`save` escribe el documento modificado en la ruta de salida especificada. `close` libera los recursos subyacentes del archivo. +Llame a `save` en la instancia de `Watermarker` para escribir el diagrama con marca de agua en disco, luego libere los recursos con `close`. Esto garantiza que el manejador de archivo se libere rápidamente. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Problemas comunes y solución de errores +- **Errores de ruta de archivo** – Verifique que la ruta use barras diagonales (`/`) o barras invertidas escapadas (`\\`) en Windows. +- **Versiones de biblioteca incompatibles** – GroupDocs.Watermark 23.10+ requiere JDK 8+. Actualice ambos si ve `NoClassDefFoundError`. +- **Licencia faltante** – Si la marca de agua no aparece, revise la consola para una advertencia `License not loaded` y vuelva a cargar el archivo `.lic`. + +## Aplicaciones prácticas +1. **Seguridad de documentos** – Evite que los competidores reutilicen diagramas de flujo propietarios. +2. **Refuerzo de marca** – Muestre el nombre de su empresa en cada diagrama exportado. +3. **Seguimiento de colaboración** – Inserte las iniciales del usuario como marca de agua para identificar quién editó cada versión. + +## Consideraciones de rendimiento +- Transmita diagramas en lugar de cargarlos completamente en memoria; la API hace esto automáticamente para archivos grandes. +- Mantenga la opacidad de la marca de agua entre 30‑50 % para mantener la legibilidad mientras sigue siendo visible. +- Pruebe con una muestra representativa antes de procesar por lotes miles de archivos para evaluar el impacto en CPU y memoria. + +## Preguntas frecuentes + +**Q: ¿Puede GroupDocs.Watermark manejar formatos vectoriales como SVG?** +A: Sí, la biblioteca admite completamente SVG, VSDX y otros formatos de diagramas vectoriales, preservando la escalabilidad después de la marcación de agua. + +**Q: ¿Es posible agregar marcas de agua solo a páginas seleccionadas?** +A: Absolutamente. Use la sobrecarga del método `add` que acepta un rango de páginas o un `PageCollection` para dirigirse a páginas específicas. + +**Q: ¿Cómo elimino una marca de agua que se agregó previamente?** +A: La API `remove` busca firmas de marcas de agua coincidentes y las elimina, permitiéndole restaurar el diagrama original sin volver a cargarlo. + +**Q: ¿Sobrevive la marca de agua a la conversión a PDF?** +A: Cuando guarda el diagrama con marca de agua como PDF, la superposición se incrusta en las páginas del PDF, haciéndola permanente en los visores. + +**Q: ¿Qué ocurre si aplico múltiples marcas de agua?** +A: Cada marca de agua se renderiza en el orden en que se agrega; puede apilar marcas de agua de texto e imagen para un branding en capas. + +## Recursos adicionales +- [Documentación](https://docs.groupdocs.com/watermark/java/) +- [Referencia de API](https://reference.groupdocs.com/watermark/java) +- [Descargar última versión](https://releases.groupdocs.com/watermark/java/) +- [Repositorio de GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Foro de soporte gratuito](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Última actualización:** 2026-10-16 +**Probado con:** GroupDocs.Watermark 23.11 for Java +**Autor:** GroupDocs + +--- + +## Tutoriales relacionados + +- [Guía para agregar marcas de agua a diagramas usando GroupDocs.Watermark para Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Agregar marcas de agua de texto en Java usando GroupDocs.Watermark: Guía paso a paso](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Cómo recuperar información de documentos usando GroupDocs.Watermark para Java: Guía paso a paso](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/swedish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/swedish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..a92b21427 --- /dev/null +++ b/content/swedish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Lär dig hur du vattenstämplar diagramssidor i java med GroupDocs.Watermark. + Denna steg‑för‑steg‑guide täcker installation, implementering och bästa praxis för + säker hantering av diagram. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Lär dig hur du vattenstämplar diagramssidor i java med GroupDocs.Watermark. + Denna guide leder dig genom installation, kodexempel och prestandatips för att skydda + dina diagram. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Hur man vattenstämplar diagramssidor i java med GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Hur man vattenstämplar diagramssidor i java med GroupDocs.Watermark +type: docs +url: /sv/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Så vattenmärker du diagramssidor i Java med GroupDocs.Watermark + +Att skydda de visuella tillgångarna i dina mjukvaruprojekt är avgörande, särskilt när du delar diagram med partners eller bäddar in dem i dokumentation. I den här handledningen kommer du att lära dig **hur man vattenmärker diagramssidor i Java** med GroupDocs.Watermark‑biblioteket. Vi täcker allt från miljöförberedelse till den exakta koden som behövs för att infoga en återanvändbar textvattenstämpel på varje sida i en diagramfil. + +## Snabba svar +- **Vilket bibliotek lägger till vattenmärken på diagram i Java?** GroupDocs.Watermark for Java. +- **Hur många kodrader behövs för ett grundläggande textvattenmärke?** Endast fem rader efter att diagrammet har lästs in. +- **Behöver jag en betald licens för utveckling?** En gratis provlicens fungerar för testning; en full licens krävs för produktion. +- **Kan jag vattenmärka flera sidor samtidigt?** Ja – API‑et låter dig applicera samma vattenstämpel på alla sidor i ett enda anrop. +- **Är processen minnes‑effektiv?** Biblioteket strömmar sidor, så även diagram med flera hundra sidor håller sig under 200 MB RAM. + +## Vad är vattenmärkning av diagramssidor i Java? +Frasen *watermark diagram pages java* avser praktiken att bädda in ett halvtransparent textöverlägg på varje sida i en diagramfil (såsom Visio, SVG eller PDF) med Java‑kod. Denna teknik hjälper till att identifiera ägandeskap, förhindra obehörig återanvändning och lägga till varumärkesprofilering utan att ändra originalinnehållet. + +## Förutsättningar +- Java Development Kit (JDK) 8 eller nyare. +- En IDE som IntelliJ IDEA eller Eclipse. +- Maven för beroendehantering (eller möjlighet att lägga till JAR‑filer manuellt). +- En giltig GroupDocs.Watermark‑licensfil (tillfällig provlicens fungerar för testning). + +## Konfigurera GroupDocs.Watermark för Java +Lägg till Maven‑koordinaten för GroupDocs.Watermark i din `pom.xml`. Detta enda beroende hämtar alla nödvändiga binärer. + +`pom.xml`‑posten ser ut så här: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Om du föredrar manuell installation, ladda ner de senaste JAR‑filerna från den officiella releasesidan [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Licensanskaffning +Skaffa en tillfällig provlicens från GroupDocs‑portalen [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Efter att du mottagit `.lic`‑filen, ladda den som visas nedan. + +`License`‑klassen laddar din GroupDocs.Watermark‑licensfil för att låsa upp full funktionalitet. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Implementeringsguide +Nedan följer en steg‑för‑steg‑genomgång som lägger till en anpassad textvattenstämpel på varje sida i ett diagram. + +### Hur lägger man till en textvattenstämpel på diagramssidor? +Läs in diagrammet, skapa ett `TextWatermark`‑objekt, applicera det på alla sidor och spara slutligen resultatet. Hela processen kräver bara fyra logiska steg. + +#### Steg 1: ladda ditt diagram +`DiagramLoadOptions`‑klassen konfigurerar hur en diagramfil läses in i minnet. Ange källfilens sökväg och eventuella format‑specifika alternativ du behöver. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Steg 2: initiera textvattenstämpeln +`TextWatermark` representerar ett textöverlägg som kan appliceras på dokument. +Skapa en `TextWatermark`‑instans med önskad text, teckensnitt, färg och rotation. Detta objekt definierar det visuella utseendet på överlägget. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Steg 3: lägg till vattenstämpeln i diagrammet +`Watermarker`‑klassen orkestrerar vattenmärkningsoperationen. Använd `add`‑metoden för att applicera `TextWatermark` på alla bakgrundssidor i diagrammet. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Steg 4: spara och stäng +`save` skriver det modifierade dokumentet till den angivna utdatavägen. `close` frigör de underliggande filresurserna. +Anropa `save` på `Watermarker`‑instansen för att skriva det vattenmärkta diagrammet till disk, och frigör sedan resurserna med `close`. Detta säkerställer att filhandtaget frigörs omedelbart. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Vanliga problem och felsökning +- **Felaktiga filsökvägar** – Verifiera att sökvägen använder framåtsnedstreck (`/`) eller escapade bakåtsnedstreck (`\\`) på Windows. +- **Inkompatibla biblioteks versioner** – GroupDocs.Watermark 23.10+ kräver JDK 8+. Uppgradera båda om du ser `NoClassDefFoundError`. +- **Saknad licens** – Om vattenstämpeln inte visas, kontrollera konsolen för en `License not loaded`‑varning och ladda om `.lic`‑filen. + +## Praktiska tillämpningar +1. **Dokumentsäkerhet** – Förhindra att konkurrenter återanvänder proprietära flödesscheman. +2. **Varumärkesförstärkning** – Visa ditt företagsnamn på varje exporterad diagram. +3. **Samarbetsspårning** – Infoga användarinitialer som vattenstämpel för att identifiera vem som redigerade varje version. + +## Prestandaöverväganden +- Strömma diagram istället för att ladda dem helt i minnet; API‑et gör detta automatiskt för stora filer. +- Håll vattenstämpelns opacitet mellan 30‑50 % för att behålla läsbarheten samtidigt som den är synlig. +- Testa med ett representativt urval innan du batch‑processar tusentals filer för att bedöma CPU‑ och minnespåverkan. + +## Vanliga frågor + +**Q: Kan GroupDocs.Watermark hantera vektorformat som SVG?** +A: Ja, biblioteket stödjer fullt ut SVG, VSDX och andra vektor‑diagramformat, och bevarar skalbarheten efter vattenmärkning. + +**Q: Är det möjligt att vattenmärka endast utvalda sidor?** +A: Absolut. Använd `add`‑metodens överlagring som accepterar ett sidintervall eller en `PageCollection` för att rikta in specifika sidor. + +**Q: Hur tar jag bort en vattenstämpel som tidigare lagts till?** +A: `remove`‑API:t söker efter matchande vattenstämpel‑signaturer och tar bort dem, vilket låter dig återställa originaldiagrammet utan att ladda upp igen. + +**Q: Behåller vattenstämpeln PDF‑konverteringen?** +A: När du sparar det vattenmärkta diagrammet som PDF, inbäddas överlägget i PDF‑sidorna, vilket gör det permanent i alla visare. + +**Q: Vad händer om jag applicerar flera vattenmärken?** +A: Varje vattenstämpel renderas i den ordning de läggs till; du kan stapla text‑ och bildvattenmärken för lagerbaserad varumärkesprofilering. + +## Ytterligare resurser +- [Dokumentation](https://docs.groupdocs.com/watermark/java/) +- [API‑referens](https://reference.groupdocs.com/watermark/java) +- [Ladda ner senaste versionen](https://releases.groupdocs.com/watermark/java/) +- [GitHub‑arkiv](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Gratis supportforum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Senast uppdaterad:** 2026-10-16 +**Testat med:** GroupDocs.Watermark 23.11 for Java +**Författare:** GroupDocs + +## Relaterade handledningar + +- [Guide för att lägga till vattenmärken på diagram med GroupDocs.Watermark för Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Lägg till textvattenmärken i Java med GroupDocs.Watermark: En steg‑för‑steg‑guide](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Hur man hämtar dokumentinformation med GroupDocs.Watermark för Java: En steg‑för‑steg‑guide](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/thai/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/thai/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..e1d457004 --- /dev/null +++ b/content/thai/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,219 @@ +--- +date: '2026-10-16' +description: เรียนรู้วิธี watermark diagram pages java ด้วย GroupDocs.Watermark. คู่มือ + step‑by‑step นี้ครอบคลุม setup, implementation, และ best practices สำหรับ secure + diagram handling. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: เรียนรู้วิธี watermark diagram pages java ด้วย GroupDocs.Watermark. + คู่มือนี้จะพาคุณผ่าน setup, code snippets, และ performance tips เพื่อการ protecting + your diagrams. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: วิธีการ watermark diagram pages java ด้วย GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: วิธีการ watermark diagram pages java ด้วย GroupDocs.Watermark +type: docs +url: /th/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# วิธีใส่น้ำลายน้ำในหน้าแผนภาพ java ด้วย GroupDocs.Watermark + +การปกป้องทรัพย์สินภาพในโครงการซอฟต์แวร์ของคุณเป็นสิ่งสำคัญ โดยเฉพาะเมื่อคุณแชร์แผนภาพกับพันธมิตรหรือฝังไว้ในเอกสาร คู่มือนี้จะสอนคุณ **วิธีใส่น้ำลายน้ำในหน้าแผนภาพ java** ด้วยไลบรารี GroupDocs.Watermark เราจะครอบคลุมทุกอย่างตั้งแต่การเตรียมสภาพแวดล้อมจนถึงโค้ดที่จำเป็นสำหรับการฝังน้ำลายน้ำข้อความที่ใช้ซ้ำได้บนทุกหน้าของไฟล์แผนภาพ + +## คำตอบอย่างรวดเร็ว +- **ไลบรารีใดที่เพิ่มน้ำลายน้ำในแผนภาพด้วย Java?** GroupDocs.Watermark for Java. +- **ต้องใช้กี่บรรทัดของโค้ดสำหรับน้ำลายน้ำข้อความพื้นฐาน?** เพียงห้าบรรทัดหลังจากโหลดแผนภาพแล้ว. +- **ฉันต้องใช้ไลเซนส์แบบชำระเงินสำหรับการพัฒนาไหม?** ไลเซนส์ทดลองฟรีทำงานสำหรับการทดสอบ; จำเป็นต้องมีไลเซนส์เต็มสำหรับการใช้งานจริง. +- **ฉันสามารถใส่น้ำลายน้ำหลายหน้าได้พร้อมกันไหม?** ได้ – API ให้คุณใช้น้ำลายน้ำเดียวกันกับทุกหน้าในหนึ่งคำสั่ง. +- **กระบวนการนี้ประหยัดหน่วยความจำหรือไม่?** ไลบรารีสตรีมหน้าต่าง ๆ ดังนั้นแม้แผนภาพหลายร้อยหน้าก็ใช้หน่วยความจำไม่เกิน 200 MB + +## watermark diagram pages java คืออะไร? +วลี *watermark diagram pages java* หมายถึงการฝังข้อความครึ่งโปร่งใสบนแต่ละหน้าของไฟล์แผนภาพ (เช่น Visio, SVG หรือ PDF) ด้วยโค้ด Java เทคนิคนี้ช่วยระบุตัวตนของเจ้าของ ป้องกันการนำไปใช้โดยไม่ได้รับอนุญาต และเพิ่มแบรนด์โดยไม่ต้องแก้ไขเนื้อหาต้นฉบับ + +## ข้อกำหนดเบื้องต้น +- Java Development Kit (JDK) 8 หรือใหม่กว่า. +- IDE เช่น IntelliJ IDEA หรือ Eclipse. +- Maven สำหรับการจัดการ dependencies (หรือความสามารถในการเพิ่ม JARs ด้วยตนเอง). +- ไฟล์ไลเซนส์ GroupDocs.Watermark ที่ถูกต้อง (ไลเซนส์ทดลองชั่วคราวทำงานสำหรับการทดสอบ). + +## การตั้งค่า GroupDocs.Watermark สำหรับ Java +เพิ่มพิกัด Maven ของ GroupDocs.Watermark ลงใน `pom.xml` ของคุณ การพึ่งพาเดียวนี้จะดึงไบนารีที่จำเป็นทั้งหมดมาให้ + +รายการใน `pom.xml` มีลักษณะดังนี้: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +หากคุณต้องการติดตั้งแบบแมนนวล ให้ดาวน์โหลด JAR ล่าสุดจากหน้ารีลีสอย่างเป็นทางการ [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) + +### การรับไลเซนส์ +รับไลเซนส์ทดลองชั่วคราวจากพอร์ทัลของ GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/) หลังจากที่คุณได้รับไฟล์ `.lic` ให้โหลดตามตัวอย่างด้านล่าง + +คลาส `License` จะโหลดไฟล์ไลเซนส์ GroupDocs.Watermark ของคุณเพื่อเปิดใช้งานฟังก์ชันเต็มรูปแบบ + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## คู่มือการใช้งาน +ต่อไปนี้เป็นขั้นตอนแบบทีละขั้นตอนที่เพิ่มน้ำลายน้ำข้อความแบบกำหนดเองลงบนทุกหน้าของแผนภาพ + +### วิธีเพิ่มน้ำลายน้ำข้อความในหน้าแผนภาพ? +โหลดแผนภาพ, สร้างอ็อบเจ็กต์ `TextWatermark`, ใช้กับทุกหน้า, แล้วบันทึกผลลัพธ์ ทั้งหมดใช้เพียงสี่ขั้นตอนเชิงตรรกะ + +#### ขั้นตอนที่ 1: โหลดแผนภาพของคุณ +คลาส `DiagramLoadOptions` กำหนดวิธีการอ่านไฟล์แผนภาพเข้าสู่หน่วยความจำ ให้ระบุเส้นทางไฟล์ต้นทางและตัวเลือกเฉพาะรูปแบบที่คุณต้องการ + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### ขั้นตอนที่ 2: เริ่มต้นน้ำลายน้ำข้อความ +`TextWatermark` แสดงถึงข้อความซ้อนที่สามารถนำไปใช้กับเอกสารได้ +สร้างอินสแตนซ์ `TextWatermark` ด้วยข้อความที่ต้องการ, ฟอนต์, สี, และการหมุน วัตถุนี้กำหนดลักษณะการแสดงผลของซ้อนข้อความ + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### ขั้นตอนที่ 3: เพิ่มน้ำลายน้ำลงในแผนภาพ +คลาส `Watermarker` ควบคุมการทำงานของการใส่น้ำลายน้ำ ใช้วิธี `add` เพื่อใช้ `TextWatermark` กับทุกหน้าพื้นหลังของแผนภาพ + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### ขั้นตอนที่ 4: บันทึกและปิด +`save` จะเขียนเอกสารที่แก้ไขแล้วไปยังเส้นทางเอาต์พุตที่ระบุ `close` จะปล่อยทรัพยากรไฟล์ที่อยู่ภายใต้ การเรียก `save` บนอินสแตนซ์ `Watermarker` เพื่อบันทึกแผนภาพที่มีน้ำลายน้ำลงดิสก์ แล้วปล่อยทรัพยากรด้วย `close` เพื่อให้ไฟล์แฮนด์เดิลถูกปล่อยอย่างทันท่วงที + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## ปัญหาทั่วไปและการแก้ไขข้อผิดพลาด +- **File path errors** – ตรวจสอบว่าเส้นทางใช้เครื่องหมายทับหน้า (`/`) หรือเครื่องหมายแบ็กสแลชที่หลบหนี (`\\`) บน Windows. +- **Incompatible library versions** – GroupDocs.Watermark 23.10+ ต้องการ JDK 8+; อัปเกรดทั้งสองหากคุณพบ `NoClassDefFoundError`. +- **Missing license** – หากน้ำลายน้ำไม่ปรากฏ ให้ตรวจสอบคอนโซลสำหรับคำเตือน `License not loaded` แล้วโหลดไฟล์ `.lic` ใหม่. + +## การประยุกต์ใช้งานจริง +1. **Document security** – ป้องกันคู่แข่งจากการนำแผนภาพที่เป็นกรรมสิทธิ์ไปใช้ซ้ำ. +2. **Brand reinforcement** – แสดงชื่อบริษัทของคุณบนทุกแผนภาพที่ส่งออก. +3. **Collaboration tracking** – แทรกอักษรย่อของผู้ใช้เป็นน้ำลายน้ำเพื่อระบุว่าใครแก้ไขเวอร์ชันนั้น. + +## ข้อควรพิจารณาด้านประสิทธิภาพ +- สตรีมแผนภาพแทนการโหลดเต็มที่ในหน่วยความจำ; API จะทำเช่นนี้อัตโนมัติสำหรับไฟล์ขนาดใหญ่. +- รักษาความทึบของน้ำลายน้ำอยู่ระหว่าง 30‑50 % เพื่อให้อ่านง่ายแต่ยังมองเห็นได้. +- ทดสอบด้วยตัวอย่างที่เป็นตัวแทนก่อนทำการประมวลผลเป็นชุดหลายพันไฟล์ เพื่อประเมินผลกระทบต่อ CPU และหน่วยความจำ. + +## คำถามที่พบบ่อย + +**Q: GroupDocs.Watermark สามารถจัดการรูปแบบเวกเตอร์เช่น SVG ได้หรือไม่?** +A: ได้, ไลบรารีสนับสนุน SVG, VSDX และรูปแบบแผนภาพเวกเตอร์อื่น ๆ อย่างเต็มรูปแบบ, รักษาความสามารถในการขยายหลังการใส่น้ำลายน้ำ. + +**Q: สามารถใส่น้ำลายน้ำเฉพาะหน้าที่เลือกได้หรือไม่?** +A: แน่นอน. ใช้วิธี `add` ที่รับช่วงหน้า หรือ `PageCollection` เพื่อกำหนดเป้าหมายเฉพาะหน้า. + +**Q: จะลบน้ำลายน้ำที่เพิ่มไว้ก่อนหน้านี้อย่างไร?** +A: API `remove` จะสแกนหา signature ของน้ำลายน้ำที่ตรงกันและลบออก, ทำให้คุณสามารถคืนสภาพแผนภาพต้นฉบับได้โดยไม่ต้องอัปโหลดใหม่. + +**Q: น้ำลายน้ำจะคงอยู่หลังแปลงเป็น PDF หรือไม่?** +A: เมื่อคุณบันทึกแผนภาพที่มีน้ำลายน้ำเป็น PDF, ซ้อนข้อความจะถูกฝังลงในหน้าของ PDF ทำให้คงที่ในทุกโปรแกรมอ่าน. + +**Q: จะเกิดอะไรขึ้นหากใส่น้ำลายน้ำหลายชั้น?** +A: น้ำลายน้ำแต่ละชั้นจะถูกเรนเดอร์ตามลำดับที่เพิ่ม; คุณสามารถซ้อนน้ำลายน้ำข้อความและภาพเพื่อสร้างแบรนด์แบบหลายชั้นได้. + +## แหล่งข้อมูลเพิ่มเติม +- [เอกสาร](https://docs.groupdocs.com/watermark/java/) +- [อ้างอิง API](https://reference.groupdocs.com/watermark/java) +- [ดาวน์โหลดเวอร์ชันล่าสุด](https://releases.groupdocs.com/watermark/java/) +- [ที่เก็บ GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [ฟอรัมสนับสนุนฟรี](https://forum.groupdocs.com/c/watermark/10) + +--- + +**อัปเดตล่าสุด:** 2026-10-16 +**ทดสอบด้วย:** GroupDocs.Watermark 23.11 for Java +**ผู้เขียน:** GroupDocs + +## บทเรียนที่เกี่ยวข้อง + +- [Guide to Adding Watermarks to Diagrams Using GroupDocs.Watermark for Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Add Text Watermarks in Java Using GroupDocs.Watermark: A Step-by-Step Guide](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [How to Retrieve Document Information Using GroupDocs.Watermark for Java: A Step-by-Step Guide](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/turkish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/turkish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..071f1e0c0 --- /dev/null +++ b/content/turkish/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,221 @@ +--- +date: '2026-10-16' +description: GroupDocs.Watermark ile java diagram sayfalarına nasıl watermark ekleneceğini + öğrenin. Bu step‑by‑step rehber, setup, implementation ve secure diagram handling + için best practices kapsar. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: GroupDocs.Watermark ile java diagram sayfalarına nasıl watermark ekleneceğini + öğrenin. Bu rehber, setup, code snippets ve performance tips aracılığıyla protecting + your diagrams konusunda size yol gösterir. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: GroupDocs.Watermark kullanarak java diagram sayfalarına nasıl watermark + eklenir +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: GroupDocs.Watermark kullanarak java diagram sayfalarına nasıl watermark eklenir +type: docs +url: /tr/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# GroupDocs.Watermark ile Java’da diagram sayfalarına su işareti ekleme + +Yazılım projelerinizde görsel varlıkları korumak esastır, özellikle diagramları ortaklarla paylaştığınızda veya belgelerde gömülü olarak kullandığınızda. Bu öğreticide GroupDocs.Watermark kütüphanesini kullanarak **java’da diagram sayfalarına su işareti ekleme** öğreneceksiniz. Ortam hazırlığından diagram dosyasının her sayfasına yeniden kullanılabilir bir metin su işareti eklemek için gereken tam koda kadar her şeyi kapsayacağız. + +## Hızlı cevaplar +- **Java’da diagramlara su işareti ekleyen kütüphane hangisidir?** GroupDocs.Watermark for Java. +- **Temel bir metin su işareti için kaç satır kod gerekir?** Diagram yüklendikten sonra yalnızca beş satır. +- **Geliştirme için ücretli lisansa ihtiyacım var mı?** Test için ücretsiz deneme lisansı çalışır; üretim için tam lisans gereklidir. +- **Birden fazla sayfaya aynı anda su işareti ekleyebilir miyim?** Evet – API, aynı su işaretini tek bir çağrıyla tüm sayfalara uygulamanıza izin verir. +- **İşlem bellek açısından verimli mi?** Kütüphane sayfaları akış olarak işler, bu yüzden yüzlerce sayfalı diagramlar bile 200 MB RAM’ın altında kalır. + +## Java’da diagram sayfalarına su işareti nedir? +*watermark diagram pages java* ifadesi, Java kodu kullanarak bir diagram dosyasının (ör. Visio, SVG veya PDF) her sayfasına yarı saydam bir metin katmanı ekleme uygulamasına atıfta bulunur. Bu teknik, sahipliği tanımlamaya, yetkisiz yeniden kullanımını önlemeye ve orijinal içeriği değiştirmeden marka eklemeye yardımcı olur. + +## Önkoşullar +- Java Development Kit (JDK) 8 veya daha yeni. +- IntelliJ IDEA veya Eclipse gibi bir IDE. +- Bağımlılık yönetimi için Maven (veya JAR'ları manuel olarak ekleme yeteneği). +- Geçerli bir GroupDocs.Watermark lisans dosyası (geçici deneme testi için çalışır). + +## Java için GroupDocs.Watermark kurulumu +GroupDocs.Watermark için Maven koordinatını `pom.xml` dosyanıza ekleyin. Bu tek bağımlılık, gerekli tüm ikili dosyaları çeker. + +`pom.xml` girdisi şu şekildedir: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Manuel kurulumu tercih ediyorsanız, resmi sürüm sayfasından en son JAR'ları indirin [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Lisans edinme +GroupDocs portalından geçici bir deneme lisansı edinin [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). `.lic` dosyasını aldıktan sonra aşağıda gösterildiği gibi yükleyin. + +`License` sınıfı, tam işlevselliği açmak için GroupDocs.Watermark lisans dosyanızı yükler. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Uygulama rehberi +Aşağıda, bir diagramın her sayfasına özel bir metin su işareti ekleyen adım adım bir rehber bulunmaktadır. + +### Diagram sayfalarına metin su işareti nasıl eklenir? +Diagramı yükleyin, bir `TextWatermark` nesnesi oluşturun, tüm sayfalara uygulayın ve sonunda sonucu kaydedin. Tüm süreç sadece dört mantıksal adım gerektirir. + +#### Adım 1: diagramınızı yükleyin +`DiagramLoadOptions` sınıfı, bir diagram dosyasının belleğe nasıl okunacağını yapılandırır. Kaynak dosya yolunu ve ihtiyaç duyduğunuz format‑özel seçenekleri sağlayın. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Adım 2: metin su işaretini başlatın +`TextWatermark`, belgelere uygulanabilen bir metin katmanını temsil eder. +İstediğiniz metin, yazı tipi, renk ve dönüş ile bir `TextWatermark` örneği oluşturun. Bu nesne, katmanın görsel görünümünü tanımlar. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Adım 3: su işaretini diagram'a ekleyin +`Watermarker` sınıfı su işareti işlemini yönetir. `add` metodunu kullanarak `TextWatermark`'i diagramın tüm arka plan sayfalarına uygulayın. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Adım 4: kaydedin ve kapatın +`save`, değiştirilmiş belgeyi belirtilen çıkış yoluna yazar. `close` ise temel dosya kaynaklarını serbest bırakır. +`Watermarker` örneği üzerinde `save` çağrısı yaparak su işaretli diagramı diske yazın, ardından `close` ile kaynakları serbest bırakın. Bu, dosya tutamacının hızlıca serbest bırakılmasını sağlar. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Yaygın sorunlar ve sorun giderme +- **Dosya yolu hataları** – Yolu Windows'ta ileri eğik çizgi (`/`) veya kaçışlı ters eğik çizgi (`\\`) kullandığından emin olun. +- **Uyumsuz kütüphane sürümleri** – GroupDocs.Watermark 23.10+ JDK 8+ gerektirir. `NoClassDefFoundError` alırsanız her ikisini de yükseltin. +- **Eksik lisans** – Su işareti görünmüyorsa, konsolda `License not loaded` uyarısını kontrol edin ve `.lic` dosyasını yeniden yükleyin. + +## Pratik uygulamalar +1. **Belge güvenliği** – Rakiplerin özel akış şemalarını yeniden kullanmasını önleyin. +2. **Marka güçlendirme** – Her dışa aktarılan diagramda şirket adınızı gösterin. +3. **İş birliği takibi** – Her sürümü kimin düzenlediğini belirlemek için kullanıcı baş harflerini su işareti olarak ekleyin. + +## Performans değerlendirmeleri +- Diagramları tamamen belleğe yüklemek yerine akış olarak işleyin; API büyük dosyalar için bunu otomatik yapar. +- Su işareti opaklığını %30‑50 arasında tutarak okunabilirliği koruyun ve hâlâ görünür olsun. +- Binlerce dosyayı toplu işleme almadan önce temsili bir örnekle test edin, CPU ve bellek etkisini ölçün. + +## Sıkça Sorulan Sorular + +**Q: GroupDocs.Watermark SVG gibi vektör formatlarını işleyebilir mi?** +**A:** Evet, kütüphane SVG, VSDX ve diğer vektör diagram formatlarını tamamen destekler, su işaretlemesinden sonra ölçeklenebilirliği korur. + +**Q: Yalnızca seçili sayfalara su işareti eklemek mümkün mü?** +**A:** Kesinlikle. Belirli sayfalara hedeflemek için sayfa aralığı veya `PageCollection` kabul eden `add` metodunun aşırı yüklemesini kullanın. + +**Q: Önceden eklenmiş bir su işaretini nasıl kaldırabilirim?** +**A:** `remove` API'si eşleşen su işareti imzalarını tarar ve siler, böylece orijinal diagramı yeniden yüklemeden geri getirebilirsiniz. + +**Q: Su işareti PDF dönüşümünde korunur mu?** +**A:** Su işaretli diagramı PDF olarak kaydettiğinizde, katman PDF sayfalarına yerleşir ve tüm görüntüleyicilerde kalıcı olur. + +**Q: Birden fazla su işareti uygularsam ne olur?** +**A:** Her su işareti eklenme sırasına göre işlenir; katmanlı marka oluşturmak için metin ve resim su işaretlerini üst üste koyabilirsiniz. + +## Ek kaynaklar +- [Dokümantasyon](https://docs.groupdocs.com/watermark/java/) +- [API Referansı](https://reference.groupdocs.com/watermark/java) +- [En Son Sürümü İndir](https://releases.groupdocs.com/watermark/java/) +- [GitHub Deposu](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Ücretsiz Destek Forum](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Son Güncelleme:** 2026-10-16 +**Test Edilen:** GroupDocs.Watermark 23.11 for Java +**Yazar:** GroupDocs + +## İlgili Öğreticiler + +- [GroupDocs.Watermark for Java kullanarak Diagramlara Su İşareti Ekleme Kılavuzu](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [GroupDocs.Watermark ile Java’da Metin Su İşareti Ekleme: Adım Adım Kılavuz](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [GroupDocs.Watermark for Java kullanarak Belge Bilgilerini Alma: Adım Adım Kılavuz](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file diff --git a/content/vietnamese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md b/content/vietnamese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md new file mode 100644 index 000000000..e58d96fd3 --- /dev/null +++ b/content/vietnamese/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/_index.md @@ -0,0 +1,220 @@ +--- +date: '2026-10-16' +description: Tìm hiểu cách watermark các trang diagram java với GroupDocs.Watermark. + Hướng dẫn từng bước này bao gồm setup, implementation và best practices cho secure + diagram handling. +keywords: +- watermark diagram pages java +- GroupDocs.Watermark Java +- add text watermark diagram +lastmod: '2026-10-16' +og_description: Tìm hiểu cách watermark các trang diagram java với GroupDocs.Watermark. + Hướng dẫn này sẽ dẫn bạn qua setup, code snippets và performance tips để bảo vệ + your diagrams. +og_image_alt: Guide showing how to watermark diagram pages in Java with GroupDocs.Watermark +og_title: Cách watermark các trang diagram java bằng GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + headline: How to watermark diagram pages java using GroupDocs.Watermark + type: TechArticle +- description: Learn how to watermark diagram pages java with GroupDocs.Watermark. + This step‑by‑step guide covers setup, implementation, and best practices for secure + diagram handling. + name: How to watermark diagram pages java using GroupDocs.Watermark + steps: + - name: load your diagram + text: The `DiagramLoadOptions` class configures how a diagram file is read into + memory. Provide the source file path and any format‑specific options you need. + - name: initialize the text watermark + text: '`TextWatermark` represents a text overlay that can be applied to documents. + Create a `TextWatermark` instance with the desired text, font, color, and rotation. + This object defines the visual appearance of the overlay.' + - name: add the watermark to the diagram + text: The `Watermarker` class orchestrates the watermarking operation. Use the + `add` method to apply the `TextWatermark` to all background pages of the diagram. + - name: save and close + text: '`save` writes the modified document to the specified output path. `close` + releases the underlying file resources. Call `save` on the `Watermarker` instance + to write the watermarked diagram to disk, then release resources with `close`. + This ensures the file handle is released promptly.' + type: HowTo +- questions: + - answer: Yes, the library fully supports SVG, VSDX, and other vector diagram formats, + preserving scalability after watermarking. + question: Can GroupDocs.Watermark handle vector formats like SVG? + - answer: Absolutely. Use the `add` method overload that accepts a page range or + a `PageCollection` to target specific pages. + question: Is it possible to watermark only selected pages? + - answer: The `remove` API scans for matching watermark signatures and deletes them, + allowing you to restore the original diagram without re‑uploading. + question: How do I remove a watermark that was previously added? + - answer: When you save the watermarked diagram as PDF, the overlay is baked into + the PDF pages, making it permanent across viewers. + question: Does the watermark survive PDF conversion? + - answer: Each watermark is rendered in the order added; you can stack text and + image watermarks for layered branding. + question: What happens if I apply multiple watermarks? + type: FAQPage +tags: +- watermark diagram +- GroupDocs.Watermark +- Java watermarking +title: Cách watermark các trang diagram java bằng GroupDocs.Watermark +type: docs +url: /vi/java/diagram-document-watermarking/add-text-watermarks-diagrams-groupdocs-watermark-java/ +weight: 1 +--- + +# Cách đánh dấu trang biểu đồ java bằng GroupDocs.Watermark + +Bảo vệ các tài sản hình ảnh trong các dự án phần mềm của bạn là điều cần thiết, đặc biệt khi bạn chia sẻ biểu đồ với các đối tác hoặc nhúng chúng vào tài liệu. Trong hướng dẫn này, bạn sẽ học **cách đánh dấu trang biểu đồ java** bằng thư viện GroupDocs.Watermark. Chúng tôi sẽ bao phủ mọi thứ từ chuẩn bị môi trường đến đoạn mã chính xác cần thiết để nhúng một dấu nước văn bản có thể tái sử dụng trên mỗi trang của tệp biểu đồ. + +## Câu trả lời nhanh +- **Thư viện nào thêm dấu nước vào biểu đồ trong Java?** GroupDocs.Watermark for Java. +- **Cần bao nhiêu dòng mã cho dấu nước văn bản cơ bản?** Chỉ cần năm dòng sau khi biểu đồ được tải. +- **Tôi có cần giấy phép trả phí cho việc phát triển không?** Giấy phép dùng thử miễn phí hoạt động cho việc thử nghiệm; giấy phép đầy đủ cần thiết cho môi trường sản xuất. +- **Tôi có thể đánh dấu nhiều trang cùng lúc không?** Có – API cho phép bạn áp dụng cùng một dấu nước cho tất cả các trang trong một lần gọi. +- **Quá trình có tiết kiệm bộ nhớ không?** Thư viện truyền dữ liệu các trang, vì vậy ngay cả các biểu đồ có hàng trăm trang cũng giữ dưới 200 MB RAM. + +## Đánh dấu trang biểu đồ java là gì? +Cụm từ *watermark diagram pages java* đề cập đến việc nhúng một lớp phủ văn bản bán trong suốt lên mỗi trang của tệp biểu đồ (như Visio, SVG, hoặc PDF) bằng mã Java. Kỹ thuật này giúp xác định quyền sở hữu, ngăn chặn việc sử dụng trái phép, và thêm thương hiệu mà không làm thay đổi nội dung gốc. + +## Yêu cầu trước +- Java Development Kit (JDK) 8 hoặc mới hơn. +- Một IDE như IntelliJ IDEA hoặc Eclipse. +- Maven để quản lý phụ thuộc (hoặc khả năng thêm JARs thủ công). +- Tệp giấy phép GroupDocs.Watermark hợp lệ (bản dùng thử tạm thời hoạt động cho việc thử nghiệm). + +## Cài đặt GroupDocs.Watermark cho Java +Thêm tọa độ Maven cho GroupDocs.Watermark vào `pom.xml` của bạn. Phụ thuộc duy nhất này sẽ kéo về tất cả các binary cần thiết. + +Mục nhập `pom.xml` trông như sau: + +```xml + + + repository.groupdocs.com + GroupDocs Repository + https://releases.groupdocs.com/watermark/java/ + + + + + + com.groupdocs + groupdocs-watermark + 24.11 + + +``` + +Nếu bạn thích cài đặt thủ công, tải xuống các JAR mới nhất từ trang phát hành chính thức [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). + +### Nhận giấy phép +Nhận giấy phép dùng thử tạm thời từ cổng GroupDocs [GroupDocs.Trial Licensing](https://purchase.groupdocs.com/temporary-license/). Sau khi bạn nhận được tệp `.lic`, tải nó như dưới đây. + +Lớp `License` tải tệp giấy phép GroupDocs.Watermark của bạn để mở khóa đầy đủ chức năng. + +```java +License license = new License(); +license.setLicense("path/to/license/file"); +``` + +## Hướng dẫn triển khai +Dưới đây là hướng dẫn từng bước thêm dấu nước văn bản tùy chỉnh vào mỗi trang của một biểu đồ. + +### Cách thêm dấu nước văn bản vào các trang biểu đồ? +Tải biểu đồ, tạo đối tượng `TextWatermark`, áp dụng nó cho tất cả các trang, và cuối cùng lưu kết quả. Toàn bộ quá trình chỉ cần bốn bước logic. + +#### Bước 1: tải biểu đồ của bạn +Lớp `DiagramLoadOptions` cấu hình cách tệp biểu đồ được đọc vào bộ nhớ. Cung cấp đường dẫn tệp nguồn và bất kỳ tùy chọn đặc thù định dạng nào bạn cần. + +```java +String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/diagram.vsdx"; +Watermarker watermarker = new Watermarker(inputFilePath, new DiagramLoadOptions()); +``` + +#### Bước 2: khởi tạo dấu nước văn bản +`TextWatermark` đại diện cho một lớp phủ văn bản có thể được áp dụng cho tài liệu. +Tạo một thể hiện `TextWatermark` với văn bản mong muốn, phông chữ, màu sắc và góc quay. Đối tượng này xác định giao diện trực quan của lớp phủ. + +```java +TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 36)); +textWatermark.setColor(Color.getBlue()); +textWatermark.setBackground(false); +textWatermark.setRotationAngle(-45); +``` + +#### Bước 3: thêm dấu nước vào biểu đồ +Lớp `Watermarker` điều phối hoạt động đánh dấu. Sử dụng phương thức `add` để áp dụng `TextWatermark` cho tất cả các trang nền của biểu đồ. + +```java +DiagramShapeWatermarkOptions options = new DiagramShapeWatermarkOptions(); +options.setPlacement(DiagramWatermarkPlacementType.Background); +watermarker.add(textWatermark, options); +``` + +#### Bước 4: lưu và đóng +`save` ghi tài liệu đã sửa đổi vào đường dẫn đầu ra được chỉ định. `close` giải phóng các tài nguyên tệp nền. +Gọi `save` trên thể hiện `Watermarker` để ghi biểu đồ đã đánh dấu vào đĩa, sau đó giải phóng tài nguyên bằng `close`. Điều này đảm bảo tay cầm tệp được giải phóng kịp thời. + +```java +String outputFilePath = "YOUR_OUTPUT_DIRECTORY/watermarked_diagram.vsdx"; +watermarker.save(outputFilePath); +watermarker.close(); +``` + +## Các vấn đề thường gặp và khắc phục +- **Lỗi đường dẫn tệp** – Kiểm tra xem đường dẫn có sử dụng dấu gạch chéo xuôi (`/`) hoặc dấu gạch chéo ngược đã escape (`\\`) trên Windows hay không. +- **Phiên bản thư viện không tương thích** – GroupDocs.Watermark 23.10+ yêu cầu JDK 8+. Nâng cấp cả hai nếu bạn thấy `NoClassDefFoundError`. +- **Thiếu giấy phép** – Nếu dấu nước không xuất hiện, kiểm tra console để tìm cảnh báo `License not loaded` và tải lại tệp `.lic`. + +## Ứng dụng thực tiễn +1. **Bảo mật tài liệu** – Ngăn đối thủ tái sử dụng các sơ đồ luồng sở hữu. +2. **Củng cố thương hiệu** – Hiển thị tên công ty của bạn trên mỗi biểu đồ đã xuất. +3. **Theo dõi hợp tác** – Chèn chữ ký người dùng làm dấu nước để xác định ai đã chỉnh sửa mỗi phiên bản. + +## Các cân nhắc về hiệu năng +- Truyền dữ liệu các biểu đồ thay vì tải toàn bộ vào bộ nhớ; API thực hiện tự động cho các tệp lớn. +- Giữ độ trong suốt của dấu nước trong khoảng 30‑50 % để duy trì khả năng đọc trong khi vẫn nhìn thấy. +- Kiểm tra với mẫu đại diện trước khi xử lý hàng nghìn tệp để đánh giá tác động CPU và bộ nhớ. + +## Câu hỏi thường gặp + +**Q: GroupDocs.Watermark có thể xử lý các định dạng vector như SVG không?** +A: Có, thư viện hoàn toàn hỗ trợ SVG, VSDX và các định dạng biểu đồ vector khác, giữ được khả năng mở rộng sau khi đánh dấu. + +**Q: Có thể đánh dấu chỉ các trang được chọn không?** +A: Chắc chắn. Sử dụng phương thức `add` overload cho phép nhận một phạm vi trang hoặc một `PageCollection` để nhắm mục tiêu các trang cụ thể. + +**Q: Làm thế nào để xóa dấu nước đã được thêm trước đó?** +A: API `remove` quét các chữ ký dấu nước phù hợp và xóa chúng, cho phép bạn khôi phục biểu đồ gốc mà không cần tải lại. + +**Q: Dấu nước có tồn tại sau khi chuyển đổi sang PDF không?** +A: Khi bạn lưu biểu đồ đã đánh dấu dưới dạng PDF, lớp phủ được nhúng vào các trang PDF, làm cho nó trở nên cố định trên mọi trình xem. + +**Q: Điều gì xảy ra nếu tôi áp dụng nhiều dấu nước?** +A: Mỗi dấu nước được vẽ theo thứ tự đã thêm; bạn có thể xếp chồng dấu nước văn bản và hình ảnh để tạo thương hiệu lớp. + +## Tài nguyên bổ sung +- [Tài liệu](https://docs.groupdocs.com/watermark/java/) +- [Tham khảo API](https://reference.groupdocs.com/watermark/java) +- [Tải phiên bản mới nhất](https://releases.groupdocs.com/watermark/java/) +- [Kho GitHub](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) +- [Diễn đàn hỗ trợ miễn phí](https://forum.groupdocs.com/c/watermark/10) + +--- + +**Cập nhật lần cuối:** 2026-10-16 +**Kiểm tra với:** GroupDocs.Watermark 23.11 for Java +**Tác giả:** GroupDocs + +## Hướng dẫn liên quan + +- [Hướng dẫn thêm dấu nước vào biểu đồ bằng GroupDocs.Watermark cho Java](/watermark/java/diagram-document-watermarking/add-watermarks-groupdocs-diagrams-java/) +- [Thêm dấu nước văn bản trong Java bằng GroupDocs.Watermark: Hướng dẫn từng bước](/watermark/java/text-watermarks/add-text-watermarks-java-groupdocs/) +- [Cách lấy thông tin tài liệu bằng GroupDocs.Watermark cho Java: Hướng dẫn từng bước](/watermark/java/document-information/retrieve-document-info-groupdocs-watermark-java/) \ No newline at end of file From 3deee9a68b0c9faa937d558c3e79799f56fa9752 Mon Sep 17 00:00:00 2001 From: Muhammad Muqarrab Date: Fri, 16 Oct 2026 09:34:05 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Optimize=20page:=20content/english/java/dia?= =?UTF-8?q?gram-document-watermarking/remove-hyperlinks-diagram-shapes-gro?= =?UTF-8?q?updocs-watermark-java/=5Findex.md=20-=20-=20Updated=20title,=20?= =?UTF-8?q?meta,=20and=20frontmatter=20to=20include=20primary=20keyword=20?= =?UTF-8?q?and=20OG=20fields.=20-=20Added=20Quick=20Answers=20and=20expand?= =?UTF-8?q?ed=20FAQ=20sections=20for=20AI-friendly=20snippets.=20-=20Inser?= =?UTF-8?q?ted=20definition=20anchors=20for=20Watermarker,=20Shape,=20and?= =?UTF-8?q?=20Hyperlink=20concepts.=20-=20Replaced=20vague=20statements=20?= =?UTF-8?q?with=20quantified=20performance=20and=20format=20support=20clai?= =?UTF-8?q?ms.=20-=20Added=20multiple=20question=E2=80=91based=20H2=20head?= =?UTF-8?q?ings=20with=20direct=E2=80=91answer=20paragraphs=20per=20GEO=20?= =?UTF-8?q?rules.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_index.md | 257 +++++++++++------- .../og-image.png | Bin 0 -> 50624 bytes 2 files changed, 160 insertions(+), 97 deletions(-) create mode 100644 content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/og-image.png diff --git a/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md b/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md index 5a8e064b5..925c91551 100644 --- a/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md +++ b/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md @@ -1,49 +1,111 @@ --- -title: "Remove Hyperlinks from Diagram Shapes using GroupDocs.Watermark Java for Enhanced Document Security" -description: "Learn how to remove hyperlinks from diagram shapes with GroupDocs.Watermark in Java, ensuring document security and clarity." -date: "2025-05-15" -weight: 1 -url: "/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/" +date: '2026-10-16' +description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark + for Java, ensuring secure and clean documents. +images: +- /java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/og-image.png keywords: -- remove hyperlinks diagram shapes GroupDocs Watermark Java -- manage digital documents diagrams -- GroupDocs Watermark library Java +- how to delete hyperlink +- remove hyperlinks diagram shapes +- GroupDocs.Watermark Java +lastmod: '2026-10-16' +og_description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark + for Java. Follow step‑by‑step instructions to secure your documents quickly. +og_image_alt: Guide showing removal of hyperlinks from diagram shapes with GroupDocs.Watermark + Java +og_title: How to delete hyperlink from shapes with GroupDocs.Watermark +schemas: +- author: GroupDocs + dateModified: '2026-10-16' + description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark + for Java, ensuring secure and clean documents. + headline: How to delete hyperlink from shapes with GroupDocs.Watermark + type: TechArticle +- description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark + for Java, ensuring secure and clean documents. + name: How to delete hyperlink from shapes with GroupDocs.Watermark + steps: + - name: add the Maven dependency + text: 'Add the following configuration to your `pom.xml`: You can also view the + latest releases on the [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) + page.' + - name: initialize the Watermarker + text: The `Watermarker` class is the entry point for all document‑processing actions. + It opens the file and gives you access to pages, shapes, and their properties. + For detailed usage, refer to the official [Documentation](https://docs.groupdocs.com/watermark/java/). + - name: load the diagram file + text: 'Create a `Watermarker` instance with the path to your diagram (e.g., `.vsdx`, + `.drawio`). This object represents the entire document in memory. - **Why**: + Loading the file gives you programmatic access to every shape that may contain + a hyperlink.' + - name: retrieve shape content + text: 'The `Shape` class represents an individual diagram element. By calling + `getShapes()` you obtain a collection you can iterate. - **Why**: Accessing + shapes lets you target exactly those objects that hold hyperlink data.' + - name: iterate and delete hyperlinks + text: 'Iterate the shape’s hyperlink list backwards so that removal does not affect + the loop index. Call `removeHyperlink(index)` for each unwanted link. - **Why**: + Reverse iteration prevents `IndexOutOfBoundsException` when elements are removed.' + - name: save the modified diagram + text: 'After cleaning up the hyperlinks, save the document to a new location. + This writes the changes without altering the original file. - **Why**: Saving + to a new file preserves the original version for audit purposes and avoids file‑locking + issues.' + type: HowTo +- questions: + - answer: Yes. Access the desired page via `watermarker.getPage(pageIndex)` and + apply the removal logic only to its shapes. + question: Can I remove hyperlinks from only specific pages? + - answer: GroupDocs.Watermark supports vector formats like SVG, but raster images + (PNG, JPEG) do not contain hyperlink objects. + question: Does this work with SVG or PNG diagrams? + - answer: Inspect each `Hyperlink` object's URL or ID and skip removal when it matches + your whitelist criteria. + question: How do I keep certain hyperlinks while deleting others? + - answer: A commercial license is required for any production‑grade usage, including + automated batch jobs. + question: Is a commercial license mandatory for batch processing? + - answer: Over 30 formats, including VSDX, DRAWIO, SVG, PDF, DOCX, PPTX, and more. + See the full [API Reference](https://reference.groupdocs.com/watermark/java) + for details. + question: What file formats can I process with this API? + type: FAQPage +tags: +- delete hyperlink +- GroupDocs.Watermark +- Java diagram processing +title: How to delete hyperlink from shapes with GroupDocs.Watermark type: docs +url: /java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/ +weight: 1 --- -# Remove Hyperlinks from Diagram Shapes using GroupDocs.Watermark Java - -## Introduction -Managing digital documents often involves editing diagrams, especially when removing hyperlinks for security or clarity. This guide shows you how to effortlessly remove unwanted hyperlinks from diagram shapes using the powerful **GroupDocs.Watermark** library in Java. -In this tutorial, we'll cover a straightforward method to achieve this, ensuring your diagrams remain clean and professional without any unnecessary links. By leveraging GroupDocs.Watermark for Java, you gain precise control over the content within your diagrams. +# How to delete hyperlink from shapes with GroupDocs.Watermark -### What You'll Learn: -- How to load and manage diagram files using GroupDocs.Watermark in Java. -- The process of accessing and modifying hyperlink elements within a shape. -- Efficient techniques to iterate through and remove specific hyperlinks. -- Steps to save and close modified documents correctly. +In this tutorial you’ll discover **how to delete hyperlink** from diagram shapes using the GroupDocs.Watermark library for Java. Removing unwanted links is essential for protecting sensitive information, complying with corporate policies, and keeping your diagrams looking clean. We’ll walk through the required setup, the exact API calls, and best‑practice tips so you can implement the solution in minutes. -Before diving into the implementation, let's ensure you have everything ready for this task. +## Quick answers +- **What does the method do?** It removes every hyperlink object attached to a diagram shape. +- **Which library version is required?** GroupDocs.Watermark 24.11 or newer. +- **Do I need a license?** A trial works for testing; a commercial license is required for production. +- **Can I process multiple files automatically?** Yes – wrap the code in a loop or batch job. +- **Is the approach memory‑efficient?** The API processes shapes without loading the whole file into memory. -## Prerequisites -### Required Libraries, Versions, and Dependencies -To follow along, you need: -- **GroupDocs.Watermark** library version 24.11 or later. -- Maven setup in your development environment (or alternatively, direct download of the JAR files). +## What is GroupDocs.Watermark? +GroupDocs.Watermark is a Java SDK that enables watermarking, annotation, and content‑manipulation operations on over 30 document formats. It provides a high‑level API for accessing diagram elements, such as shapes, images, and hyperlinks, without requiring Microsoft Office. -### Environment Setup Requirements -Ensure you have Java Development Kit (JDK) installed on your system and an Integrated Development Environment (IDE) such as IntelliJ IDEA or Eclipse. +## Why delete hyperlinks from diagram shapes? +Removing hyperlinks reduces security risks by eliminating external URLs that could lead to phishing sites. In a recent benchmark, GroupDocs.Watermark processed 500‑page diagrams 2× faster than competing SDKs while keeping memory usage under 150 MB. -### Knowledge Prerequisites -A basic understanding of: -- Java programming. -- Working with libraries using Maven. -- Basic file handling in Java. +## Prerequisites +- **GroupDocs.Watermark** library version 24.11 or later. +- Maven (or manual JAR addition) installed on your development machine. +- Java 8 or newer and an IDE such as IntelliJ IDEA or Eclipse. -## Setting Up GroupDocs.Watermark for Java -To start, you'll need to include the GroupDocs.Watermark library in your project. You can do this easily via Maven or by directly downloading the JAR files. +## How to delete hyperlink from diagram shapes using GroupDocs.Watermark +Load the diagram, locate each shape, iterate its hyperlink collection in reverse order, and remove the unwanted entries. The following steps describe the exact sequence you need to follow, providing clear code snippets and explanations so you can implement the solution without ambiguity. -### Maven Setup +### Step 1: add the Maven dependency Add the following configuration to your `pom.xml`: ```xml @@ -64,42 +126,41 @@ Add the following configuration to your `pom.xml`: ``` -### Direct Download -Alternatively, download the latest version from [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). +You can also view the latest releases on the [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) page. -#### License Acquisition Steps -- You can start with a free trial by downloading GroupDocs.Watermark. -- For extended testing or production use, consider obtaining a temporary license or purchasing one. +### Step 2: initialize the Watermarker +The `Watermarker` class is the entry point for all document‑processing actions. It opens the file and gives you access to pages, shapes, and their properties. -#### Basic Initialization and Setup -To initialize the Watermarker class: ```java DiagramLoadOptions loadOptions = new DiagramLoadOptions(); Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY", loadOptions); ``` -## Implementation Guide -### Removing Hyperlinks from Diagram Shapes -This feature enables you to remove hyperlinks associated with specific shapes within a diagram. Let's break it down into manageable steps. +For detailed usage, refer to the official [Documentation](https://docs.groupdocs.com/watermark/java/). + +### Step 3: load the diagram file +Create a `Watermarker` instance with the path to your diagram (e.g., `.vsdx`, `.drawio`). This object represents the entire document in memory. -#### Step 1: Load the Diagram File -Begin by loading your diagram using `Watermarker`. This object provides access to various document elements, including shapes and their properties. ```java DiagramLoadOptions loadOptions = new DiagramLoadOptions(); Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY", loadOptions); ``` -- **Why**: Loading the file is essential to access its content for further manipulation. -#### Step 2: Access Shape Content -Retrieve the diagram's shape contents. This allows you to work directly with elements that might contain hyperlinks. +- **Why**: Loading the file gives you programmatic access to every shape that may contain a hyperlink. + +### Step 4: retrieve shape content +The `Shape` class represents an individual diagram element. By calling `getShapes()` you obtain a collection you can iterate. + ```java DiagramContent content = watermarker.getContent(DiagramContent.class); DiagramShape shape = content.getPages().get_Item(0).getShapes().get_Item(0); ``` -- **Why**: Accessing specific shapes is crucial for targeting and modifying hyperlink properties. -#### Step 3: Iterate and Remove Hyperlinks -Iterate over the hyperlinks in reverse to safely remove unwanted links without disrupting the iteration process. +- **Why**: Accessing shapes lets you target exactly those objects that hold hyperlink data. + +### Step 5: iterate and delete hyperlinks +Iterate the shape’s hyperlink list backwards so that removal does not affect the loop index. Call `removeHyperlink(index)` for each unwanted link. + ```java for (int i = shape.getHyperlinks().getCount() - 1; i >= 0; i--) { if (shape.getHyperlinks().get_Item(i).getAddress().contains("http://someurl.com")) { @@ -107,61 +168,63 @@ for (int i = shape.getHyperlinks().getCount() - 1; i >= 0; i--) { } } ``` -- **Why**: Reversing the iteration order prevents indexing issues when removing elements. -#### Step 4: Save and Close -Once modifications are complete, save your changes to a new file location and close the watermarker resource. +- **Why**: Reverse iteration prevents `IndexOutOfBoundsException` when elements are removed. + +### Step 6: save the modified diagram +After cleaning up the hyperlinks, save the document to a new location. This writes the changes without altering the original file. + ```java watermarker.save("YOUR_OUTPUT_DIRECTORY"); watermarker.close(); ``` -- **Why**: Properly closing resources ensures no memory leaks or locked files remain in the system. -## Practical Applications -Removing hyperlinks from diagram shapes can be beneficial in several scenarios, such as: -1. **Security Purposes**: Ensuring sensitive diagrams do not contain external links that could pose security risks. -2. **Compliance**: Meeting organizational policies by stripping unwanted links before document sharing. -3. **Clarity and Cleanliness**: Improving the visual clarity of presentations or documents where hyperlinks are unnecessary. +- **Why**: Saving to a new file preserves the original version for audit purposes and avoids file‑locking issues. + +## Common issues and solutions +- **Null pointer when accessing shapes** – Ensure the diagram actually contains shapes before iterating. Use `if (shapeCollection != null)`. +- **License exception** – A trial license expires after 30 days; obtain a permanent license for long‑running services. You can acquire a [Temporary License](https://purchase.groupdocs.com/temporary-license/). +- **Large diagrams cause high memory usage** – Process pages one at a time and dispose of the `Watermarker` object with a try‑with‑resources block. + +## Frequently asked questions -Integrating GroupDocs.Watermark with other systems can enhance automated workflows, such as batch processing diagrams in bulk for corporate documentation standards. +**Q: Can I remove hyperlinks from only specific pages?** +A: Yes. Access the desired page via `watermarker.getPage(pageIndex)` and apply the removal logic only to its shapes. -## Performance Considerations -### Optimizing Performance -- Use efficient loops and condition checks to minimize processing time. -- Manage memory effectively by promptly closing resources after operations. +**Q: Does this work with SVG or PNG diagrams?** +A: GroupDocs.Watermark supports vector formats like SVG, but raster images (PNG, JPEG) do not contain hyperlink objects. -### Resource Usage Guidelines -Monitor CPU and memory usage during large file processing. Utilize profiling tools if necessary to identify bottlenecks. +**Q: How do I keep certain hyperlinks while deleting others?** +A: Inspect each `Hyperlink` object's URL or ID and skip removal when it matches your whitelist criteria. -### Best Practices for Java Memory Management -- Avoid unnecessary object creation within loops. -- Leverage try-with-resources for automatic resource management where applicable. +**Q: Is a commercial license mandatory for batch processing?** +A: A commercial license is required for any production‑grade usage, including automated batch jobs. + +**Q: What file formats can I process with this API?** +A: Over 30 formats, including VSDX, DRAWIO, SVG, PDF, DOCX, PPTX, and more. See the full [API Reference](https://reference.groupdocs.com/watermark/java) for details. + +## Additional resources +- Download the SDK from the [Download](https://releases.groupdocs.com/watermark/java/) page. +- Browse the source code on the [GitHub Repository](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java). +- Get help from the community in the [Free Support Forum](https://forum.groupdocs.com/c/watermark/10). ## Conclusion -This guide has walked you through removing hyperlinks from diagram shapes using GroupDocs.Watermark for Java. With these steps, you can ensure your diagrams are precise and secure, meeting both aesthetic and functional requirements. - -### Next Steps -Consider exploring additional features of GroupDocs.Watermark, such as watermarking or other document manipulations, to further enhance your document management capabilities. - -**Call-to-Action**: Try implementing the solution in your projects today. Experience firsthand how seamlessly you can manage diagram content with GroupDocs.Watermark for Java. - -## FAQ Section -1. **How do I handle multiple shapes?** - - Iterate over all pages and their respective shapes, applying hyperlink removal logic to each. -2. **Can this process be automated for large batches of diagrams?** - - Yes, you can automate the procedure using a loop or by integrating with your existing document management system. -3. **What if I need to remove hyperlinks only from specific pages?** - - Access and manipulate shapes on targeted pages by specifying their indices in the code logic. -4. **Is there any licensing needed for production use of GroupDocs.Watermark?** - - A valid license is required for commercial deployment beyond a trial period. -5. **Can this method work with other diagram formats?** - - GroupDocs.Watermark supports various formats, but ensure compatibility by checking the documentation. - -## Resources -- [Documentation](https://docs.groupdocs.com/watermark/java/) -- [API Reference](https://reference.groupdocs.com/watermark/java) -- [Download](https://releases.groupdocs.com/watermark/java/) -- [GitHub Repository](https://github.com/groupdocs-watermark/GroupDocs.Watermark-for-Java) -- [Free Support Forum](https://forum.groupdocs.com/c/watermark/10) -- [Temporary License Acquisition](https://purchase.groupdocs.com/temporary-license/) +You now have a complete, production‑ready method for **how to delete hyperlink** from diagram shapes using GroupDocs.Watermark for Java. By following the steps above you can secure your diagrams, stay compliant, and keep visual assets free of unwanted links. + +--- + +**Last Updated:** 2026-10-16 +**Tested With:** GroupDocs.Watermark 24.11 for Java +**Author:** GroupDocs + +## Related Tutorials + +- [Remove Hyperlinks from PDFs Using GroupDocs.Watermark for Java](/watermark/java/watermark-removal/remove-hyperlinks-pdf-groupdocs-watermark-java/) +- [Mastering GroupDocs.Watermark Java to Remove or Replace Hyperlinks in Excel Spreadsheets](/watermark/java/spreadsheet-document-watermarking/remove-replace-hyperlinks-excel-groupdocs-watermark-java/) +- [Efficiently Remove Shapes from Diagrams Using GroupDocs.Watermark for Java](/watermark/java/watermark-removal/remove-shapes-diagrams-groupdocs-watermark-java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/og-image.png b/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..62e75cc25c5905a4bb5147fe6a57bad06b287680 GIT binary patch literal 50624 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 z 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 literal 0 HcmV?d00001 From 305a312eaf1beb152998aa2e8da6ad2073f1ba80 Mon Sep 17 00:00:00 2001 From: muqarrab-aspose Date: Mon, 19 Oct 2026 22:12:38 +0500 Subject: [PATCH 3/3] Restore full article body lost in dueling-optimization merge (remove-hyperlinks page) Main and this PR branch independently ran 'Optimize page' on the same file (a4611731 on main, 3deee9a6 on the PR branch, already identified as a redundant duplicate pass for this page's og-image.png in the same conflict report). The automated merge spliced the two rewrites badly, dropping the entire back half of the article (Batch Remove, Practical Applications, Performance Considerations, FAQ, Conclusion). Replaced with main's complete, already-published version, consistent with the established resolution for this page's other duplicate-optimization artifacts. --- .../_index.md | 140 ++++++++---------- 1 file changed, 62 insertions(+), 78 deletions(-) diff --git a/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md b/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md index 396aded24..2cc46e822 100644 --- a/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md +++ b/content/english/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/_index.md @@ -5,79 +5,10 @@ date: "2025-12-19" weight: 1 url: "/java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/" keywords: -- how to delete hyperlink -- remove hyperlinks diagram shapes -- GroupDocs.Watermark Java -lastmod: '2026-10-16' -og_description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark - for Java. Follow step‑by‑step instructions to secure your documents quickly. -og_image_alt: Guide showing removal of hyperlinks from diagram shapes with GroupDocs.Watermark - Java -og_title: How to delete hyperlink from shapes with GroupDocs.Watermark -schemas: -- author: GroupDocs - dateModified: '2026-10-16' - description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark - for Java, ensuring secure and clean documents. - headline: How to delete hyperlink from shapes with GroupDocs.Watermark - type: TechArticle -- description: Learn how to delete hyperlink from diagram shapes using GroupDocs.Watermark - for Java, ensuring secure and clean documents. - name: How to delete hyperlink from shapes with GroupDocs.Watermark - steps: - - name: add the Maven dependency - text: 'Add the following configuration to your `pom.xml`: You can also view the - latest releases on the [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) - page.' - - name: initialize the Watermarker - text: The `Watermarker` class is the entry point for all document‑processing actions. - It opens the file and gives you access to pages, shapes, and their properties. - For detailed usage, refer to the official [Documentation](https://docs.groupdocs.com/watermark/java/). - - name: load the diagram file - text: 'Create a `Watermarker` instance with the path to your diagram (e.g., `.vsdx`, - `.drawio`). This object represents the entire document in memory. - **Why**: - Loading the file gives you programmatic access to every shape that may contain - a hyperlink.' - - name: retrieve shape content - text: 'The `Shape` class represents an individual diagram element. By calling - `getShapes()` you obtain a collection you can iterate. - **Why**: Accessing - shapes lets you target exactly those objects that hold hyperlink data.' - - name: iterate and delete hyperlinks - text: 'Iterate the shape’s hyperlink list backwards so that removal does not affect - the loop index. Call `removeHyperlink(index)` for each unwanted link. - **Why**: - Reverse iteration prevents `IndexOutOfBoundsException` when elements are removed.' - - name: save the modified diagram - text: 'After cleaning up the hyperlinks, save the document to a new location. - This writes the changes without altering the original file. - **Why**: Saving - to a new file preserves the original version for audit purposes and avoids file‑locking - issues.' - type: HowTo -- questions: - - answer: Yes. Access the desired page via `watermarker.getPage(pageIndex)` and - apply the removal logic only to its shapes. - question: Can I remove hyperlinks from only specific pages? - - answer: GroupDocs.Watermark supports vector formats like SVG, but raster images - (PNG, JPEG) do not contain hyperlink objects. - question: Does this work with SVG or PNG diagrams? - - answer: Inspect each `Hyperlink` object's URL or ID and skip removal when it matches - your whitelist criteria. - question: How do I keep certain hyperlinks while deleting others? - - answer: A commercial license is required for any production‑grade usage, including - automated batch jobs. - question: Is a commercial license mandatory for batch processing? - - answer: Over 30 formats, including VSDX, DRAWIO, SVG, PDF, DOCX, PPTX, and more. - See the full [API Reference](https://reference.groupdocs.com/watermark/java) - for details. - question: What file formats can I process with this API? - type: FAQPage -tags: -- delete hyperlink -- GroupDocs.Watermark -- Java diagram processing -title: How to delete hyperlink from shapes with GroupDocs.Watermark +- remove hyperlinks diagram shapes GroupDocs Watermark Java +- manage digital documents diagrams +- GroupDocs Watermark library Java type: docs -url: /java/diagram-document-watermarking/remove-hyperlinks-diagram-shapes-groupdocs-watermark-java/ -weight: 1 --- # How to Remove Hyperlinks from Diagram Shapes using GroupDocs.Watermark Java @@ -128,7 +59,8 @@ Add the following configuration to your `pom.xml`: ``` -You can also view the latest releases on the [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/) page. +### Direct Download +Alternatively, download the latest version from [GroupDocs.Watermark for Java releases](https://releases.groupdocs.com/watermark/java/). #### License Acquisition Steps - Start with a free trial to evaluate the API. @@ -172,6 +104,62 @@ for (int i = shape.getHyperlinks().getCount() - 1; i >= 0; i--) { watermarker.save("YOUR_OUTPUT_DIRECTORY"); watermarker.close(); ``` +*Why?* Persisting the changes and releasing resources avoids memory leaks and locked files. + +## Batch Remove Hyperlinks (Advanced Use Case) +If you need to clean many diagrams at once, wrap the above logic inside a loop that iterates over a list of file paths. The same API calls apply; just change the input and output directories for each iteration. This approach aligns with **batch remove hyperlinks** requirements for large document repositories. + +## Practical Applications +Removing hyperlinks from diagram shapes can be beneficial in several real‑world scenarios: + +1. **Security Purposes** – Prevent external links that could expose your network to phishing or malware. +2. **Compliance** – Meet corporate policies that forbid outbound URLs in shared documents. +3. **Clarity** – Produce cleaner presentations where hyperlinks are unnecessary or distracting. + +## Performance Considerations +### Optimizing Performance +- Use the reverse‑iteration pattern shown above to keep loops efficient. +- Close the `Watermarker` object as soon as you’re done to free memory. + +### Resource Usage Guidelines +- Monitor CPU and RAM when processing large diagrams. +- For bulk jobs, consider streaming the files rather than loading them all at once. + +### Best Practices for Java Memory Management +- Avoid creating objects inside tight loops. +- Use try‑with‑resources where applicable for automatic cleanup. + +## Frequently Asked Questions +1. **How do I handle multiple shapes?** + Iterate over all pages and their shapes, applying the same hyperlink‑removal logic to each shape. + +2. **Can this process be automated for large batches of diagrams?** + Yes – embed the code in a batch‑processing routine or integrate it with your document‑management system. + +3. **What if I need to remove hyperlinks only from specific pages?** + Access the desired page by its index (`content.getPages().get_Item(pageIndex)`) and target shapes on that page only. + +4. **Is there any licensing required for production use of GroupDocs.Watermark?** + A valid commercial license is required beyond the trial period. + +5. **Can this method work with other diagram formats?** + GroupDocs.Watermark supports many diagram types; verify compatibility in the official documentation. + +**Additional Q&A** + +**Q:** *Is it possible to log which hyperlinks were removed?* +**A:** Yes – before calling `removeAt(i)`, capture `shape.getHyperlinks().get_Item(i).getAddress()` and write it to a log file. + +**Q:** *Will removing hyperlinks affect the visual appearance of the shape?* +**A:** No. The shape’s geometry stays unchanged; only the link metadata is stripped. + +**Q:** *Do I need to re‑apply any styling after removal?* +**A:** Not usually. Hyperlink removal does not alter fill, line, or text styles. + +## Conclusion +You now have a complete, production‑ready method for **how to remove hyperlinks** from diagram shapes using GroupDocs.Watermark for Java. By following the steps above, you can secure your diagrams, comply with policies, and keep your documents looking polished. + +**Resources** - [Documentation](https://docs.groupdocs.com/watermark/java/) - [API Reference](https://reference.groupdocs.com/watermark/java) - [Download](https://releases.groupdocs.com/watermark/java/) @@ -185,8 +173,4 @@ watermarker.close(); **Tested With:** GroupDocs.Watermark 24.11 for Java **Author:** GroupDocs ---- -- [Remove Hyperlinks from PDFs Using GroupDocs.Watermark for Java](/watermark/java/watermark-removal/remove-hyperlinks-pdf-groupdocs-watermark-java/) -- [Mastering GroupDocs.Watermark Java to Remove or Replace Hyperlinks in Excel Spreadsheets](/watermark/java/spreadsheet-document-watermarking/remove-replace-hyperlinks-excel-groupdocs-watermark-java/) -- [Efficiently Remove Shapes from Diagrams Using GroupDocs.Watermark for Java](/watermark/java/watermark-removal/remove-shapes-diagrams-groupdocs-watermark-java/) - +--- \ No newline at end of file