diff --git a/html/arabic/java/advanced-usage/_index.md b/html/arabic/java/advanced-usage/_index.md
index a807a3bfa..5fd516250 100644
--- a/html/arabic/java/advanced-usage/_index.md
+++ b/html/arabic/java/advanced-usage/_index.md
@@ -133,6 +133,9 @@ weight: 20
### [ضبط حجم صفحة XPS باستخدام Aspose.HTML for Java](./adjust-xps-page-size/)
تعلم كيفية ضبط حجم صفحة XPS باستخدام Aspose.HTML for Java. سيطر على أبعاد مخرجات مستندات XPS بسهولة.
+### [كيفية تشغيل JavaScript في Java – دليل كامل](./how-to-run-javascript-in-java-complete-guide/)
+تعلم كيفية تشغيل كود JavaScript داخل تطبيقات Java باستخدام Aspose.HTML for Java.
+
---
**آخر تحديث:** 2025-11-29
diff --git a/html/arabic/java/advanced-usage/how-to-run-javascript-in-java-complete-guide/_index.md b/html/arabic/java/advanced-usage/how-to-run-javascript-in-java-complete-guide/_index.md
new file mode 100644
index 000000000..1b3a2d866
--- /dev/null
+++ b/html/arabic/java/advanced-usage/how-to-run-javascript-in-java-complete-guide/_index.md
@@ -0,0 +1,250 @@
+---
+category: general
+date: 2026-01-01
+description: كيفية تشغيل JavaScript في Java باستخدام Aspose.HTML. تعلم تعديل HTML
+ باستخدام JavaScript، إنشاء مستند HTML في Java، تشغيل JavaScript في Java، والحصول
+ على الـ outer HTML في Java.
+draft: false
+keywords:
+- how to run javascript
+- modify html with javascript
+- create html document java
+- run javascript in java
+- get outer html java
+language: ar
+og_description: كيفية تشغيل JavaScript في Java باستخدام Aspose.HTML. تعلم تعديل HTML،
+ إنشاء مستند HTML في Java، واسترجاع الـ outer HTML في Java.
+og_title: كيفية تشغيل JavaScript في Java – دليل كامل
+tags:
+- Java
+- JavaScript
+- Aspose.HTML
+title: كيفية تشغيل JavaScript في Java – دليل كامل
+url: /ar/java/advanced-usage/how-to-run-javascript-in-java-complete-guide/
+---
+
+{{< blocks/products/pf/main-wrap-class >}}
+{{< blocks/products/pf/main-container >}}
+{{< blocks/products/pf/tutorial-page-section >}}
+
+# كيفية تشغيل JavaScript في Java – دليل كامل
+
+هل تساءلت يومًا **كيف تشغل JavaScript في Java** دون الحاجة إلى متصفح ثقيل؟ لست وحدك. يحتاج العديد من المطورين إلى **تعديل HTML باستخدام JavaScript** على جانب الخادم، أو إنشاء محتوى ديناميكي، أو مجرد اختبار مقاطع شفرة دون مغادرة بيئة التطوير المتكاملة. في هذا الدرس سنستعرض مثالًا عمليًا يوضح لك بالضبط كيفية تشغيل JavaScript في Java، وإنشاء مستند HTML بأسلوب Java، وأخيرًا **الحصول على الـ outer HTML في Java** للمعالجة الإضافية.
+
+سنستخدم مكتبة Aspose.HTML، التي توفر **ScriptEngine** خفيف الوزن يمكنه تنفيذ JavaScript على DOM تتحكم فيه. بنهاية هذا الدليل ستحصل على برنامج كامل قابل للتنفيذ يقوم بتحديث DOM، وتسجيل رسالة، وطباعة الـ HTML الناتج — كل ذلك من شفرة Java عادية.
+
+## ما ستتعلمه
+
+- كيفية **إنشاء مستند HTML في Java** باستخدام Aspose.HTML.
+- كيفية الحصول على **محرك JavaScript** الذي يفهم مستندك.
+- كيفية إتاحة كائنات Java (مثل مسجل日志) للسكريبت.
+- كيفية كتابة و**تشغيل JavaScript في Java** لتعديل DOM.
+- كيفية استرجاع **outer HTML في Java** بعد تنفيذ السكريبت.
+- المشكلات الشائعة ونصائح للاستخدام في العالم الحقيقي.
+
+لا حاجة لخادم ويب خارجي أو متصفح — فقط مشروع Java مع ملف JAR الخاص بـ Aspose.HTML على مسار الـ classpath.
+
+## المتطلبات المسبقة
+
+- تثبيت Java 8 أو أحدث (المثال يستخدم Java 11، لكن أي JDK حديث يعمل).
+- Maven أو Gradle لإدارة الاعتمادات، أو يمكنك إضافة ملف JAR الخاص بـ Aspose.HTML يدويًا.
+- فهم أساسي لمفاهيم HTML وJavaScript.
+
+> **نصيحة احترافية:** إذا كنت تستخدم Maven، أضف ما يلي إلى ملف `pom.xml` الخاص بك:
+
+```xml
+
+ com.aspose
+ aspose-html
+ 23.9
+
+```
+
+الآن بعد أن تم إعداد الأساس، لنغوص في الشفرة.
+
+## الخطوة 1: إنشاء مستند HTML بأسلوب Java
+
+أول شيء نحتاجه هو مستند HTML في الذاكرة سيقوم السكريبت بتعديله. تتيح لنا Aspose.HTML إنشاء واحد من سلسلة نصية، وهو مثالي للعرض السريع.
+
+```java
+import com.aspose.html.HTMLDocument;
+
+// Step 1: Build a tiny HTML skeleton with a placeholder
+HTMLDocument htmlDoc = new HTMLDocument(
+ "");
+```
+
+لماذا نبدأ بـ `
`؟ لأنه يمنح السكريبت هدفًا واضحًا لتحديثه، موضحًا **كيفية تشغيل JavaScript** الذي يغيّر الـ DOM.
+
+## الخطوة 2: الحصول على محرك JavaScript يعرف مستندك
+
+بعد ذلك نطلب من Aspose.HTML الحصول على `ScriptEngine` مرتبط بالفعل بـ `HTMLDocument` الذي أنشأناه. هذا المحرك يعمل كبيئة تشغيل JavaScript مصغرة تشبه المتصفح.
+
+```java
+import com.aspose.html.scripting.ScriptEngine;
+import com.aspose.html.scripting.ScriptEngineFactory;
+
+// Step 2: Create a JavaScript engine tied to our HTML document
+ScriptEngine jsEngine = ScriptEngineFactory.createEngine(htmlDoc);
+```
+
+المحرك خفيف الوزن — لا واجهة مستخدم، لا استدعاءات شبكة — لذا يمكن تشغيله بأمان في خدمة خلفية أو اختبار وحدة.
+
+## الخطوة 3: إتاحة مسجل Java للسكريبت
+
+غالبًا ما تريد أن يتواصل السكريبت مع Java. أبسط طريقة هي إتاحة `Consumer` يطبع إلى `System.out`. هذا يوضح **كيفية تشغيل JavaScript** مع الاستفادة من مرافق تسجيل Java.
+
+```java
+// Step 3: Make a logger available inside the JavaScript environment
+jsEngine.put("logger",
+ (java.util.function.Consumer) System.out::println);
+```
+
+الآن يمكن للسكريبت استدعاء `logger('some message')` وستظهر الرسالة في وحدة التحكم.
+
+## الخطوة 4: كتابة JavaScript يغيّر الـ DOM
+
+هذا هو قلب المثال: سكريبت قصير يغيّر محتوى العنصر `
` placeholder ويكتب سجلًا.
+
+```java
+// Step 4: JavaScript code that updates the DOM and uses the logger
+String scriptCode = ""
+ + "document.getElementById('msg').innerHTML = 'Hello from JS!';"
+ + "logger('DOM updated');";
+```
+
+لاحظ أننا نستخدم واجهة DOM القياسية (`document.getElementById`) — نفس ما تستخدمه في المتصفح. هذا هو ما يبدو عليه **تعديل HTML باستخدام JavaScript** عندما تشغله على الخادم.
+
+## الخطوة 5: تنفيذ السكريبت داخل سياق المستند
+
+الآن نقوم فعليًا بتشغيل السكريبت. إذا حدث أي خطأ، سيتم رمي استثناء يمكنك التقاطه لمعالجة الأخطاء بشكل قوي.
+
+```java
+// Step 5: Run the script; any errors will bubble up as Exceptions
+jsEngine.eval(scriptCode);
+```
+
+في هذه المرحلة، يحتوي `
` داخل `htmlDoc` الآن على النص “Hello from JS!”، وتطبع وحدة التحكم “DOM updated”.
+
+## الخطوة 6: استرجاع الـ HTML الناتج – الحصول على outer HTML في Java
+
+أخيرًا، نستخرج العلامات HTML الكاملة من المستند. هذه هي خطوة **get outer html java** التي يحتاجها الكثير من المطورين عندما يرغبون في تخزين أو إرسال أو معالجة النتيجة لاحقًا.
+
+```java
+// Step 6: Print the final HTML to the console
+System.out.println("Resulting HTML: " + htmlDoc.getOuterHtml());
+```
+
+تشغيل البرنامج بالكامل ينتج:
+
+```
+DOM updated
+Resulting HTML:
Hello from JS!
+```
+
+هذا عرض كامل من البداية إلى النهاية لـ **كيفية تشغيل JavaScript في Java** مع **تعديل HTML باستخدام JavaScript** ثم استخراج العلامات النهائية.
+
+## مثال كامل يعمل
+
+فيما يلي البرنامج الكامل الذي يمكنك نسخه ولصقه في ملف `JsEngineDemo.java`. تأكد من أن ملف JAR الخاص بـ Aspose.HTML موجود على مسار الـ classpath.
+
+```java
+import com.aspose.html.HTMLDocument;
+import com.aspose.html.scripting.ScriptEngine;
+import com.aspose.html.scripting.ScriptEngineFactory;
+
+public class JsEngineDemo {
+ public static void main(String[] args) throws Exception {
+
+ // Step 1: Create an HTML document with a placeholder element
+ HTMLDocument htmlDoc = new HTMLDocument(
+ "");
+
+ // Step 2: Obtain a JavaScript engine that works with the created document
+ ScriptEngine jsEngine = ScriptEngineFactory.createEngine(htmlDoc);
+
+ // Step 3: Expose a simple logger (Java's System.out) to the script
+ jsEngine.put("logger",
+ (java.util.function.Consumer) System.out::println);
+
+ // Step 4: Prepare JavaScript that updates the DOM and uses the logger
+ String scriptCode = ""
+ + "document.getElementById('msg').innerHTML = 'Hello from JS!';"
+ + "logger('DOM updated');";
+
+ // Step 5: Execute the script within the context of the document
+ jsEngine.eval(scriptCode);
+
+ // Step 6: Display the resulting HTML after script execution
+ System.out.println("Resulting HTML: " + htmlDoc.getOuterHtml());
+ }
+}
+```
+
+### النتيجة المتوقعة
+
+```
+DOM updated
+Resulting HTML:
Hello from JS!
+```
+
+إذا رأيت السطرين أعلاه، فقد نجحت في **تشغيل JavaScript في Java**، **تعديل HTML باستخدام JavaScript**، و**الحصول على الـ outer HTML** مرة أخرى في Java.
+
+## أسئلة شائعة وحالات حافة
+
+### ماذا لو رمى السكريبت خطأ؟
+
+`jsEngine.eval` يمرر أي استثناء JavaScript كـ `Exception` في Java. احيط الاستدعاء بكتلة try‑catch لتسجيل الخطأ أو الاسترداد بشكل ملائم.
+
+```java
+try {
+ jsEngine.eval(scriptCode);
+} catch (Exception e) {
+ System.err.println("Script error: " + e.getMessage());
+}
+```
+
+### هل يمكنني تحميل ملف HTML خارجي بدلاً من سلسلة نصية؟
+
+بالتأكيد. استخدم مُنشئ `HTMLDocument` الذي يقبل `java.net.URI` أو `java.io.File`. هذا مفيد عندما تحتاج إلى **إنشاء مستند HTML في Java** من قوالب.
+
+```java
+HTMLDocument htmlDoc = new HTMLDocument(new java.io.File("template.html"));
+```
+
+### كيف أُمرّر كائنات Java أكثر تعقيدًا إلى السكريبت؟
+
+أي كائن تضعه (`put`) في المحرك يصبح متغيرًا في JavaScript. بالنسبة للمجموعات، استخدم تدفقات Java 8 أو حوّلها إلى سلاسل JSON أولًا.
+
+```java
+Map data = new HashMap<>();
+data.put("name", "Alice");
+jsEngine.put("data", data);
+```
+
+في السكريبت يمكنك بعد ذلك الوصول إلى `data.get("name")`.
+
+### هل المحرك آمن للاستخدام المتعدد الخيوط؟
+
+كل نسخة من `ScriptEngine` مرتبطة بـ `HTMLDocument` واحدة. للتنفيذ المتوازي، أنشئ محركًا منفصلًا لكل خيط أو قم بمزامنة الوصول.
+
+## نصائح للاستخدام في الإنتاج
+
+- **إعادة استخدام المحركات بحذر:** إنشاء محرك جديد لكل طلب قد يكون مكلفًا. احتفظ بمجموعة مؤقتة إذا كان الحمل عاليًا.
+- **تنقية المدخلات:** إذا سمحت للمستخدمين بتوفير سكريبتات، عزلها أو تحديد واجهة الـ API لتجنب المخاطر الأمنية.
+- **إدارة الذاكرة:** أشجار DOM الكبيرة قد تستهلك مساحة heap كبيرة. حرّر كائنات `HTMLDocument` عند الانتهاء (`htmlDoc.dispose()` إذا وفرت الـ API ذلك).
+
+## الخاتمة
+
+غطّينا **كيفية تشغيل JavaScript في Java** من البداية إلى النهاية: إنشاء مستند HTML بأسلوب Java، ربط محرك سكريبت، إتاحة مسجل، تنفيذ مقطع ي**عدل HTML باستخدام JavaScript**، وأخيرًا **الحصول على outer HTML في Java** للاستخدام اللاحق. النهج خفيف الوزن، لا يحتاج إلى متصفح، ويتكامل بسلاسة مع أي خلفية Java.
+
+هل أنت مستعد للخطوة التالية؟ جرّب تحميل قالب HTML كامل، حقن بيانات ديناميكية عبر JavaScript، أو ربط عدة سكريبتات معًا. يمكنك أيضًا استكشاف دعم Aspose.HTML لـ CSS، SVG، وحتى تحويل PDF — مثالي لسلاسل إظهار الخادم.
+
+إذا واجهت أي صعوبات أو لديك أفكار لتوسعات، اترك تعليقًا أدناه. برمجة سعيدة، واستمتع بتشغيل JavaScript داخل 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/html/arabic/java/conversion-html-to-other-formats/_index.md b/html/arabic/java/conversion-html-to-other-formats/_index.md
index fd17b2dad..7c53c6411 100644
--- a/html/arabic/java/conversion-html-to-other-formats/_index.md
+++ b/html/arabic/java/conversion-html-to-other-formats/_index.md
@@ -96,6 +96,8 @@ XPS هو صيغة الطباعة الخاصة بمايكروسوفت. باستخ
حوّل SVG إلى PDF في Java باستخدام Aspose.HTML. حل سلس لتحويل المستندات بجودة عالية.
### [تحويل SVG إلى XPS](./convert-svg-to-xps/)
تعلم كيفية تحويل SVG إلى XPS باستخدام Aspose.HTML for Java. دليل بسيط خطوة بخطوة لتحويلات سلسة.
+### [تحويل HTML إلى PDF في Java – دليل خطوة بخطوة مع إعدادات حجم الصفحة](./convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/)
+تعلم تحويل HTML إلى PDF في Java مع إعدادات حجم الصفحة خطوة بخطوة باستخدام Aspose.HTML.
## الأسئلة المتكررة
@@ -125,4 +127,4 @@ XPS هو صيغة الطباعة الخاصة بمايكروسوفت. باستخ
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
-{{< blocks/products/products-backtop-button >}}
+{{< blocks/products/products-backtop-button >}}
\ No newline at end of file
diff --git a/html/arabic/java/conversion-html-to-other-formats/convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/_index.md b/html/arabic/java/conversion-html-to-other-formats/convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/_index.md
new file mode 100644
index 000000000..78a4bf1d2
--- /dev/null
+++ b/html/arabic/java/conversion-html-to-other-formats/convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/_index.md
@@ -0,0 +1,227 @@
+---
+category: general
+date: 2026-01-01
+description: حوّل HTML إلى PDF بسرعة باستخدام Aspose.HTML للـ Java. تعلّم كيفية ضبط
+ حجم صفحة PDF، تضمين الخطوط، وإنشاء ملفات PDF عالية الدقة ببضع أسطر من الشيفرة فقط.
+draft: false
+keywords:
+- convert html to pdf
+- set pdf page size
+- java generate pdf
+- html to pdf java
+- how to convert html
+language: ar
+og_description: تحويل HTML إلى PDF باستخدام Aspose.HTML للغة Java. يوضح هذا البرنامج
+ التعليمي كيفية ضبط حجم صفحة PDF، تضمين الخطوط، وإنشاء ملفات PDF عالية الجودة.
+og_title: تحويل HTML إلى PDF في جافا – دليل كامل
+tags:
+- Java
+- PDF
+- Aspose
+title: تحويل HTML إلى PDF في Java – دليل خطوة بخطوة مع إعدادات حجم الصفحة
+url: /ar/java/conversion-html-to-other-formats/convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/
+---
+
+{{< blocks/products/pf/main-wrap-class >}}
+{{< blocks/products/pf/main-container >}}
+{{< blocks/products/pf/tutorial-page-section >}}
+
+# تحويل HTML إلى PDF في Java – دليل كامل
+
+هل احتجت يومًا إلى **convert HTML to PDF** لكن لم تكن متأكدًا أي مكتبة ستمنحك تحكمًا دقيقًا في النتيجة؟ لست وحدك. العديد من مطوري Java يواجهون جدارًا من HTML ويتساءلون كيف يمكن تحويله إلى PDF قابل للطباعة دون فقدان التخطيط أو الخطوط. الخبر السار هو أن Aspose.HTML for Java يجعل العملية بأكملها سهلة، ويمكنك حتى **set PDF page size**، تضمين الخطوط، وزيادة DPI إلى 300 dpi للحصول على نتائج واضحة.
+
+في هذا الدرس سنستعرض كل ما تحتاج معرفته: من إضافة تبعية Aspose إلى كتابة بضع أسطر من الكود التي **java generate pdf** ملفات من أي مصدر HTML. في النهاية ستحصل على مقتطف قابل لإعادة الاستخدام يمكنك إدراجه في أي مشروع Maven أو Gradle، وستفهم “السبب” وراء كل إعداد—حتى لا تكتفي بالنسخ واللصق، بل ستستوعب ما يحدث خلف الكواليس.
+
+## المتطلبات المسبقة
+
+قبل أن نبدأ، تأكد من وجود ما يلي على جهازك:
+
+- Java 17 (أو أي نسخة LTS حديثة) – النسخ القديمة تعمل لكن واجهة الـ API تكون أنظف في الإصدارات الأحدث.
+- Maven 3.8+ أو Gradle 7+ لإدارة الاعتمادات.
+- رخصة صالحة لـ Aspose.HTML for Java (التقييم المجاني يعمل للاختبار، لكن الرخصة تزيل علامة التقييم).
+- ملف HTML ترغب في تحويله، مثل `input.html` موجود في دليل معروف.
+
+إذا كان أي من هذه غير مألوف لك، لا تقلق—معظم الخطوات مجرد بضعة أوامر، وسنوضح لك بالضبط كيفية إعدادها.
+
+## إضافة Aspose.HTML إلى مشروعك
+
+### Maven
+
+```xml
+
+ com.aspose
+ aspose-html
+ 23.12
+
+```
+
+### Gradle (Kotlin DSL)
+
+```kotlin
+implementation("com.aspose:aspose-html:23.12")
+```
+
+> **نصيحة احترافية:** راقب رقم الإصدار؛ Aspose تصدر تحديثات شهرية تصلح الأخطاء وتضيف ميزات PDF جديدة.
+
+## تنفيذ خطوة بخطوة
+
+فيما يلي نقسم التحويل إلى ثلاث خطوات منطقية. كل خطوة لها عنوان H2 خاص بها، وتضم **الكلمة المفتاحية الأساسية** مرة على الأقل، ونضيف الكلمات المفتاحية الثانوية حيثما كان ذلك مناسبًا.
+
+### الخطوة 1: تحميل ملف HTML الخاص بك
+
+الأمر الأول الذي تحتاجه هو مسار ملف HTML المصدر. في سيناريو واقعي قد تجلب HTML من URL أو قاعدة بيانات، لكن للتبسيط سنستخدم ملفًا محليًا.
+
+```java
+// Step 1: Define the input HTML path
+String inputHtmlPath = "C:/pdf-demo/input.html"; // replace with your actual path
+```
+
+لماذا نخزن المسار في متغير؟ ذلك يبقي الكود منظمًا ويسهل إعادة استخدام نفس المسار في السجلات أو معالجة الأخطاء لاحقًا.
+
+### الخطوة 2: تكوين خيارات حفظ PDF (Set PDF Page Size، DPI، وتضمين الخطوط)
+
+هنا يحدث سحر **set pdf page size**. Aspose.HTML يزودك بكائن `PdfSaveOptions` يتيح لك تحديد كل شيء من أبعاد الصفحة إلى دقة الصور.
+
+```java
+import com.aspose.html.converters.PdfSaveOptions;
+
+// Step 2: Create and configure PDF save options
+PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
+pdfSaveOptions.setPageSize(PdfSaveOptions.PageSize.A4); // A4 is the most common page size
+pdfSaveOptions.setDpi(300); // High‑resolution output for sharp text and images
+pdfSaveOptions.setEmbedFonts(true); // Ensures all used fonts are embedded in the PDF
+```
+
+ملاحظة سريعة حول **set pdf page size**: يمكنك أيضًا استخدام `PdfSaveOptions.PageSize.LETTER`، `LEGAL`، أو حتى أبعاد مخصصة عبر استدعاء `setCustomPageSize(width, height)`. اختيار حجم الصفحة المناسب أمر حاسم إذا كنت تنوي طباعة PDF لاحقًا—A4 يعمل عالميًا، بينما LETTER هو المعيار في الولايات المتحدة.
+
+### الخطوة 3: تنفيذ التحويل
+
+الآن بعد أن حصلنا على مسار الإدخال والإعدادات، يكون التحويل الفعلي سطرًا واحدًا من الكود. هذا هو قلب عملية **html to pdf java**.
+
+```java
+import com.aspose.html.converters.Converter;
+
+// Step 3: Convert HTML to PDF
+String outputPdfPath = "C:/pdf-demo/output.pdf"; // choose your desired output location
+Converter.convert(inputHtmlPath, outputPdfPath, pdfSaveOptions);
+```
+
+عند انتهاء طريقة `convert`، ستحصل على PDF مُرَسَّم بالكامل في `outputPdfPath`. المكتبة تتولى تحليل HTML، تطبيق CSS، تحميل الصور، ورندر كل شيء وفقًا لإعدادات PDF التي حددتها مسبقًا.
+
+### مثال كامل يعمل
+
+لنجمع كل ما سبق، إليك الفئة Java الكاملة الجاهزة للتنفيذ:
+
+```java
+import com.aspose.html.converters.Converter;
+import com.aspose.html.converters.PdfSaveOptions;
+
+/**
+ * Demonstrates how to convert an HTML file to PDF in Java,
+ * while configuring page size, DPI, and font embedding.
+ */
+public class ConvertHtmlToPdf {
+ public static void main(String[] args) throws Exception {
+ // 1️⃣ Specify the source HTML file
+ String inputHtmlPath = "C:/pdf-demo/input.html";
+
+ // 2️⃣ Set up PDF conversion options (page size, resolution, font embedding)
+ PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
+ pdfSaveOptions.setPageSize(PdfSaveOptions.PageSize.A4);
+ pdfSaveOptions.setDpi(300); // high‑resolution output
+ pdfSaveOptions.setEmbedFonts(true); // embed all used fonts
+
+ // 3️⃣ Perform the conversion from HTML to PDF
+ String outputPdfPath = "C:/pdf-demo/output.pdf";
+ Converter.convert(inputHtmlPath, outputPdfPath, pdfSaveOptions);
+
+ System.out.println("✅ Conversion complete! PDF saved at: " + outputPdfPath);
+ }
+}
+```
+
+**الناتج المتوقع:** بعد تشغيل البرنامج، افتح `output.pdf`. يجب أن ترى تمثيلًا دقيقًا لـ `input.html`، بحجم A4، بنص واضح وأي خطوط مخصصة مدمجة. إذا فتحت خصائص PDF، ستلاحظ الخطوط المدمجة مدرجة—دليل على أن `setEmbedFonts(true)` أتم مهمته.
+
+## الأسئلة الشائعة وحالات الحافة
+
+### ماذا إذا كان ملف HTML الخاص بي يشير إلى CSS أو صور خارجية؟
+
+Aspose.HTML يحل عناوين URL النسبية بناءً على موقع ملف HTML. إذا كان لديك هيكل مجلد مثل:
+
+```
+/pdf-demo/
+│ input.html
+│ style.css
+└── images/
+ └── logo.png
+```
+
+تأكد من أن `input.html` يستخدم مسارات نسبية (``، ``). المحول سيحمّل تلك الموارد تلقائيًا. إذا كنت تحمل HTML من سلسلة نصية أو URL بعيد، يمكنك توفير URI أساسي عبر `HtmlLoadOptions`.
+
+### كيف يمكنني تحويل **String** يحتوي على HTML بدلاً من ملف؟
+
+```java
+import com.aspose.html.HtmlDocument;
+import com.aspose.html.converters.PdfSaveOptions;
+
+// Load HTML from a string
+String htmlContent = "
Hello, PDF!
";
+HtmlDocument doc = new HtmlDocument();
+doc.getDomDocument().write(htmlContent);
+
+// Save directly to PDF
+PdfSaveOptions options = new PdfSaveOptions();
+options.setPageSize(PdfSaveOptions.PageSize.LETTER);
+doc.save("output-from-string.pdf", options);
+```
+
+هذا النهج مفيد عندما تولد HTML في الوقت الفعلي (مثلاً من محرك قوالب) وتريد **java generate pdf** دون التعامل مع نظام الملفات.
+
+### هل يمكنني إضافة كلمة مرور إلى PDF الناتج؟
+
+نعم—`PdfSaveOptions` في Aspose.HTML يتضمن إعدادات الأمان:
+
+```java
+pdfSaveOptions.getSecurity().setUserPassword("user123");
+pdfSaveOptions.getSecurity().setOwnerPassword("owner456");
+pdfSaveOptions.getSecurity().setEncryptionLevel(
+ PdfSaveOptions.SecurityEncryptionLevel.AES_256);
+```
+
+الآن سيتطلب PDF إدخال كلمة مرور عند الفتح.
+
+### ماذا عن أبعاد الصفحة المخصصة؟
+
+إذا لم يكن A4 هو الهدف، يمكنك تعريف حجم مخصص بالنقاط (نقطة واحدة = 1/72 بوصة):
+
+```java
+pdfSaveOptions.setCustomPageSize(612, 792); // 8.5" x 11" (Letter)
+```
+
+تذكر تعديل الهوامش إذا لزم الأمر؛ الهوامش الافتراضية صفر، مما قد يتسبب في قطع المحتوى على بعض الطابعات.
+
+## نصائح لكود جاهز للإنتاج
+
+- **الترخيص مبكرًا:** ضع تهيئة `License` الخاصة بك عند بدء تشغيل التطبيق لتجنب علامة التقييم.
+- **معالجة الأخطاء:** غلف `Converter.convert` بكتلة try‑catch وسجّل تتبع الأخطاء للتصحيح.
+- **الأداء:** أعد استخدام كائن `PdfSaveOptions` واحد إذا كنت تحول العديد من الملفات دفعةً؛ إنشاء كائن جديد في كل مرة يضيف عبئًا.
+- **السجلات:** استخدم SLF4J أو Log4j لتسجيل أوقات التحويل—مفيد عندما تحتاج للامتثال لمتطلبات SLA.
+
+## ملخص بصري
+
+
+
+*الصورة تُظهر عرضًا جنبًا إلى جنب للـ HTML الأصلي والـ PDF المُولَّد.*
+
+## الخلاصة
+
+لقد غطينا للتو كيفية **convert HTML to PDF** في Java باستخدام Aspose.HTML، مع التركيز على **set pdf page size**، الإخراج عالي الدقة، وتضمين الخطوط. المقتطف الكامل أعلاه جاهز للإدراج في أي مشروع، والشروحات تمنحك السياق لتكييفه مع سيناريوهات أكثر تعقيدًا—سواءً كنت تجلب HTML من قاعدة بيانات، تضيف أمانًا، أو تخصص أبعاد الصفحة.
+
+الآن بعد أن عرفت **how to convert html** إلى PDF مصقول، جرّب التجربة: غيّر DPI إلى 600 للحصول على جودة جاهزة للطباعة، استخدم حجم `Letter` للوثائق الموجهة للولايات المتحدة، أو أضف رأس/تذييل مخصص باستخدام ميزات PDF المتقدمة في Aspose. السماء هي الحد، ولديك أساس صلب للبناء عليه.
+
+برمجة سعيدة، ولتظهر ملفات PDF دائمًا كما تتخيل!
+
+{{< /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/html/arabic/java/conversion-html-to-various-image-formats/_index.md b/html/arabic/java/conversion-html-to-various-image-formats/_index.md
index 66d599bb0..fdf215c5f 100644
--- a/html/arabic/java/conversion-html-to-various-image-formats/_index.md
+++ b/html/arabic/java/conversion-html-to-various-image-formats/_index.md
@@ -97,6 +97,8 @@ Learn to convert HTML to JPEG with Aspose.HTML for Java. Step-by-step guide for
Learn how to convert HTML to PNG images in Java with Aspose.HTML. A comprehensive guide with step-by-step instructions.
### [تحويل HTML إلى TIFF](./convert-html-to-tiff/)
Learn how to easily convert HTML to TIFF using Aspose.HTML for Java. Step-by-step guide for efficient document handling.
+### [تحويل HTML إلى WebP](./convert-html-to-webp-complete-java-guide-with-aspose-html/)
+تحويل HTML إلى WebP باستخدام Aspose.HTML for Java. دليل شامل لتحويل مستندات HTML إلى صور WebP بسهولة.
## الأسئلة المتكررة
diff --git a/html/arabic/java/conversion-html-to-various-image-formats/convert-html-to-webp-complete-java-guide-with-aspose-html/_index.md b/html/arabic/java/conversion-html-to-various-image-formats/convert-html-to-webp-complete-java-guide-with-aspose-html/_index.md
new file mode 100644
index 000000000..2062d115c
--- /dev/null
+++ b/html/arabic/java/conversion-html-to-various-image-formats/convert-html-to-webp-complete-java-guide-with-aspose-html/_index.md
@@ -0,0 +1,268 @@
+---
+category: general
+date: 2026-01-01
+description: تعلم كيفية تحويل HTML إلى WebP وحفظ HTML كـ WebP باستخدام Java. يتضمن
+ ضبط جودة الصورة، نصائح جودة WebP، والكود الكامل.
+draft: false
+keywords:
+- convert html to webp
+- save html as webp
+- html to image java
+- set image quality
+- set webp quality
+language: ar
+og_description: تحويل HTML إلى WebP في Java باستخدام Aspose.HTML. ضبط جودة الصورة
+ وجودة WebP، بالإضافة إلى كود كامل قابل للتنفيذ.
+og_title: تحويل HTML إلى WebP – دليل Java الكامل
+tags:
+- Java
+- Aspose.HTML
+- Image Conversion
+title: تحويل HTML إلى WebP – دليل Java الكامل مع Aspose.HTML
+url: /ar/java/conversion-html-to-various-image-formats/convert-html-to-webp-complete-java-guide-with-aspose-html/
+---
+
+{{< blocks/products/pf/main-wrap-class >}}
+{{< blocks/products/pf/main-container >}}
+{{< blocks/products/pf/tutorial-page-section >}}
+
+# تحويل HTML إلى WebP – دليل Java كامل مع Aspose.HTML
+
+هل احتجت يومًا إلى **تحويل HTML إلى WebP** لكن لم تكن متأكدًا من أين تبدأ؟ لست وحدك—العديد من المطورين يواجهون هذه العقبة عندما يرغبون في الحصول على صور خفيفة الوزن للويب. في هذا الدرس سنستعرض حلًا عمليًا من البداية إلى النهاية يوضح لك كيفية **حفظ HTML كـ WebP** ويشرح أيضًا كيفية **تعيين جودة الصورة** و**تعيين جودة WebP** للحصول على أفضل النتائج.
+
+سنغطي كل شيء بدءًا من تبعية Maven المطلوبة إلى برنامج Java كامل يمكن تشغيله ينتج ملفات WebP وAVIF. بنهاية الدرس، ستتمكن من وضع ملف HTML واحد في مشروعك والحصول على صور WebP عالية الجودة جاهزة للإنتاج. لا سكريبتات خارجية، لا سحر مخفي—فقط Java صافية ومكتبة Aspose.HTML.
+
+## ما ستحتاجه
+
+قبل أن نبدأ، تأكد من توفر ما يلي:
+
+| المتطلب | السبب |
+|--------------|--------|
+| **Java 17** (أو أي JDK 8+). | تدعم Aspose.HTML بيئات تشغيل Java الحديثة. |
+| **Maven** (أو Gradle). | يبسط إدارة التبعيات. |
+| مكتبة **Aspose.HTML for Java**. | توفر واجهة `Converter` التي سنستخدمها. |
+| ملف HTML بسيط (`graphic.html`). | المصدر الذي سنقوم بتحويله. |
+
+إذا كان لديك مشروع Maven بالفعل، فقط أضف التبعية الموضحة أدناه وستكون جاهزًا.
+
+```xml
+
+
+ com.aspose
+ aspose-html
+ 23.12
+
+```
+
+> **نصيحة احترافية:** حافظ على ترتيب ملف `pom.xml`؛ شجرة التبعيات النظيفة تسهل عملية تصحيح الأخطاء.
+
+## الخطوة 1: تحويل HTML إلى WebP – الإعداد الأساسي
+
+أول شيء نحتاجه هو فئة Java صغيرة تشير إلى ملف HTML المصدر وتخبر Aspose.HTML بإنشاء ملف WebP. أدناه برنامج **كامل، قابل للتنفيذ** يقوم بذلك بالضبط.
+
+```java
+import com.aspose.html.converters.Converter;
+import com.aspose.html.converters.ImageSaveOptions;
+import com.aspose.html.converters.ImageFormat;
+
+/**
+ * Demonstrates how to convert an HTML file to WebP using Aspose.HTML.
+ */
+public class ImageConvertDemo {
+
+ public static void main(String[] args) throws Exception {
+
+ // 1️⃣ Specify the source HTML file – adjust the path to your environment.
+ String htmlFilePath = "YOUR_DIRECTORY/graphic.html";
+
+ // 2️⃣ Configure WebP conversion with a quality setting of 85 (out of 100).
+ ImageSaveOptions webpOptions = new ImageSaveOptions();
+ webpOptions.setFormat(ImageFormat.WEBP);
+ webpOptions.setQuality(85); // <-- set webp quality
+
+ // 3️⃣ Perform the conversion – the output will be saved as output.webp.
+ Converter.convert(htmlFilePath, "YOUR_DIRECTORY/output.webp", webpOptions);
+ }
+}
+```
+
+**لماذا يعمل هذا:**
+- `ImageSaveOptions` يتيح لنا اختيار الصيغة (`WEBP`) وضبط الضغط بدقة عبر `setQuality`.
+- `Converter.convert` يقرأ ملف HTML، يعرضه في متصفح بدون واجهة، ثم يكتب الصورة النقطية.
+
+> **ملاحظة:** طريقة `setQuality` تتحكم مباشرةً في **جودة WebP** (0‑100). الأرقام الأعلى تعني ملفات أكبر لكن بصور أوضح.
+
+### النتيجة المتوقعة
+
+تشغيل البرنامج ينشئ ملف `output.webp` في نفس المجلد. افتحه بأي متصفح حديث وسترى HTML المعروض كصورة واضحة. يجب أن يكون حجم الملف أصغر بشكل ملحوظ مقارنةً بملف PNG مماثل—مثالي للتسليم على الويب.
+
+
+
+*(نص بديل الصورة يتضمن الكلمة المفتاحية الأساسية لتحسين محركات البحث.)*
+
+## الخطوة 2: حفظ HTML كـ WebP – التحكم في جودة الصورة
+
+الآن بعد أن غطينا الأساسيات، دعنا نتحدث عن **تعيين جودة الصورة** بشكل أكثر intentional. المشاريع المختلفة لها قيود عرض نطاق مختلفة، لذا قد ترغب في تجربة قيم بين 60 إلى 95.
+
+```java
+// Adjust quality based on your needs – 60 for low‑bandwidth, 95 for near‑lossless.
+int desiredQuality = 70; // example value
+
+ImageSaveOptions options = new ImageSaveOptions();
+options.setFormat(ImageFormat.WEBP);
+options.setQuality(desiredQuality); // <-- set image quality
+
+Converter.convert(htmlFilePath, "YOUR_DIRECTORY/custom-quality.webp", options);
+System.out.println("WebP saved with quality = " + desiredQuality);
+```
+
+**النقاط الرئيسية:**
+
+- **جودة أقل** → ملف أصغر، مزيد من عيوب الضغط.
+- **جودة أعلى** → ملف أكبر، عيوب أقل.
+- طريقة `setQuality` هي نفسها لكل من **تعيين جودة الصورة** و**تعيين جودة webp**؛ هما طريقتان لوصف نفس الإعداد.
+
+## الخطوة 3: تحويل HTML إلى AVIF (اختياري ولكن مفيد)
+
+إذا أردت البقاء في الصدارة، يمكنك أيضًا إخراج **AVIF**، صيغة أحدث غالبًا ما تنتج ملفات أصغر بنفس الجودة. الشيفرة تقريبًا متطابقة—فقط استبدل الصيغة وفعّل وضع lossless إذا رغبت.
+
+```java
+ImageSaveOptions avifOptions = new ImageSaveOptions();
+avifOptions.setFormat(ImageFormat.AVIF);
+avifOptions.setLossless(true); // lossless AVIF for perfect fidelity
+
+Converter.convert(htmlFilePath, "YOUR_DIRECTORY/output.avif", avifOptions);
+```
+
+**لماذا AVIF؟**
+- نسب ضغط فائقة للمحتوى الفوتوغرافي.
+- دعم متزايد في المتصفحات (Chrome, Firefox, Edge).
+
+لا تتردد في التجربة: يمكنك حتى توليد كل من WebP **و** AVIF في تشغيل واحد، مما يمنحك خيارات احتياطية للمتصفحات القديمة.
+
+## الخطوة 4: المشكلات الشائعة وكيفية تعيين جودة الصورة بشكل صحيح
+
+حتى API بسيط قد يسبب لك مشاكل إذا لم تكن على دراية ببعض التفاصيل.
+
+| المشكلة | العرض | الحل |
+|-------|----------|-----|
+| **خطأ في الخطوط** | النص يظهر كخط sans‑serif عام. | ثبّت الخطوط المطلوبة على الجهاز أو أدمجها عبر CSS `@font-face`. |
+| **مسار غير صحيح** | `FileNotFoundException` أثناء التشغيل. | استخدم مسارات مطلقة أو حل المسارات النسبية بـ `Paths.get("").toAbsolutePath()`. |
+| **تجاهل الجودة** | حجم الإخراج لا يتغير رغم `setQuality`. | تأكد من أنك تستخدم **Aspose.HTML 23.12+**؛ الإصدارات القديمة كان فيها خلل يجعل جودة WebP الافتراضية 80. |
+| **HTML كبير** | التحويل يستغرق >10 ثوانٍ. | فعّل `options.setPageWidth/Height` لتحديد حجم العرض، أو اضغط الصور الكبيرة داخل HTML مسبقًا. |
+
+### تعيين جودة الصورة لسيناريوهات مختلفة
+
+```java
+// Example: Different quality for thumbnails vs. hero images
+int thumbnailQuality = 60;
+int heroQuality = 90;
+
+// Thumbnail
+ImageSaveOptions thumbOptions = new ImageSaveOptions();
+thumbOptions.setFormat(ImageFormat.WEBP);
+thumbOptions.setQuality(thumbnailQuality);
+Converter.convert(htmlFilePath, "YOUR_DIRECTORY/thumb.webp", thumbOptions);
+
+// Hero image
+ImageSaveOptions heroOptions = new ImageSaveOptions();
+heroOptions.setFormat(ImageFormat.WEBP);
+heroOptions.setQuality(heroQuality);
+Converter.convert(htmlFilePath, "YOUR_DIRECTORY/hero.webp", heroOptions);
+```
+
+من خلال تخصيص **تعيين جودة الصورة** حسب الحالة، تحافظ على أوقات تحميل الصفحات منخفضة دون التضحية بالتأثير البصري حيث يهم.
+
+## الخطوة 5: التحقق من النتيجة – فحوص سريعة
+
+بعد التحويل، ستحتاج إلى التأكد من أن الملفات تلبي توقعاتك.
+
+```java
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+Path webpPath = Path.of("YOUR_DIRECTORY/output.webp");
+long sizeInBytes = Files.size(webpPath);
+System.out.println("WebP file size: " + sizeInBytes + " bytes");
+
+// Simple visual check – open with default OS viewer
+java.awt.Desktop.getDesktop().open(webpPath.toFile());
+```
+
+إذا كان الحجم أكبر بكثير مما توقعت، راجع قيمة **تعيين جودة webp**. وعلى العكس، إذا ظهرت الصورة غير واضحة، زد الجودة بضع نقاط.
+
+## مثال كامل يعمل – فئة واحدة، كل الخيارات
+
+فيما يلي فئة واحدة توضح كل المفاهيم التي تم تناولها: التحويل إلى WebP مع جودة مخصصة، توليد نسخة AVIF احتياطية، وطباعة أحجام الملفات.
+
+```java
+import com.aspose.html.converters.Converter;
+import com.aspose.html.converters.ImageSaveOptions;
+import com.aspose.html.converters.ImageFormat;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+/**
+ * End‑to‑end demo: HTML → WebP (custom quality) + AVIF (lossless)
+ */
+public class HtmlToImageDemo {
+
+ public static void main(String[] args) throws Exception {
+
+ String html = "YOUR_DIRECTORY/graphic.html";
+
+ // ---------- WebP with custom quality ----------
+ int webpQuality = 85; // set image quality / set webp quality
+ ImageSaveOptions webpOpts = new ImageSaveOptions();
+ webpOpts.setFormat(ImageFormat.WEBP);
+ webpOpts.setQuality(webpQuality);
+ String webpOut = "YOUR_DIRECTORY/output.webp";
+ Converter.convert(html, webpOut, webpOpts);
+ logFileInfo(webpOut, "WebP");
+
+ // ---------- AVIF lossless ----------
+ ImageSaveOptions avifOpts = new ImageSaveOptions();
+ avifOpts.setFormat(ImageFormat.AVIF);
+ avifOpts.setLossless(true);
+ String avifOut = "YOUR_DIRECTORY/output.avif";
+ Converter.convert(html, avifOut, avifOpts);
+ logFileInfo(avifOut, "AVIF");
+ }
+
+ /** Helper to print file size and path */
+ private static void logFileInfo(String path, String label) throws Exception {
+ Path p = Path.of(path);
+ long size = Files.size(p);
+ System.out.println(label + " generated: " + p.toAbsolutePath());
+ System.out.println("Size: " + size + " bytes");
+ }
+}
+```
+
+**شغّله:** `mvn compile exec:java -Dexec.mainClass=HtmlToImageDemo` (عدّل مسار الـ classpath إذا كنت تستخدم Gradle).
+
+ستظهر لك مخرجات في وحدة التحكم مشابهة لـ:
+
+```
+WebP generated: /home/user/YOUR_DIRECTORY/output.webp
+Size: 12456 bytes
+AVIF generated: /home/user/YOUR_DIRECTORY/output.avif
+Size: 9874 bytes
+```
+
+## الخلاصة
+
+لقد **حولنا HTML إلى WebP** باستخدام Java، وتعلمنا كيف **نحفظ HTML كـ WebP**، واستكشفنا تفاصيل **تعيين جودة الصورة** و**تعيين جودة WebP**. تجعل مكتبة Aspose.HTML `Converter` العملية سهلة—بضع أسطر من الشيفرة، وستحصل على صور جاهزة للإنتاج على الويب.
+
+من هنا يمكنك:
+
+- دمج التحويل في خط أنابيب البناء (Maven, Gradle, أو CI/CD).
+- إضافة صيغ أخرى (PNG, JPEG) بتغيير `ImageFormat`.
+- اختيار الجودة ديناميكيًا بناءً على كشف الجهاز (موبايل مقابل ديسكتوب).
+
+جرّبها، عدّل قيم الجودة،
+
+{{< /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/html/arabic/java/converting-epub-to-pdf/_index.md b/html/arabic/java/converting-epub-to-pdf/_index.md
index de058d68c..76ddbee0a 100644
--- a/html/arabic/java/converting-epub-to-pdf/_index.md
+++ b/html/arabic/java/converting-epub-to-pdf/_index.md
@@ -55,6 +55,9 @@ weight: 27
### [تحديد خيارات حفظ PDF لتحويل EPUB إلى PDF](./convert-epub-to-pdf-specify-pdf-save-options/)
تعلم كيفية تحويل EPUB إلى PDF في Java باستخدام Aspose.HTML، مكتبة قوية لمعالجة HTML.
+### [كيفية تضمين الخطوط عند تحويل EPUB إلى PDF في Java](./how-to-embed-fonts-when-converting-epub-to-pdf-in-java/)
+تعلم كيفية تضمين الخطوط أثناء تحويل EPUB إلى PDF باستخدام Aspose.HTML for Java.
+
### [تحويل EPUB إلى BMP](./convert-epub-to-bmp/)
تعلم كيفية تحويل EPUB إلى BMP باستخدام Aspose.HTML for Java. دليل خطوة بخطوة لتحويل المحتوى بكفاءة.
@@ -107,4 +110,4 @@ weight: 27
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
-{{< blocks/products/products-backtop-button >}}
+{{< blocks/products/products-backtop-button >}}
\ No newline at end of file
diff --git a/html/arabic/java/converting-epub-to-pdf/how-to-embed-fonts-when-converting-epub-to-pdf-in-java/_index.md b/html/arabic/java/converting-epub-to-pdf/how-to-embed-fonts-when-converting-epub-to-pdf-in-java/_index.md
new file mode 100644
index 000000000..5200e4b2f
--- /dev/null
+++ b/html/arabic/java/converting-epub-to-pdf/how-to-embed-fonts-when-converting-epub-to-pdf-in-java/_index.md
@@ -0,0 +1,209 @@
+---
+category: general
+date: 2026-01-01
+description: كيفية تضمين الخطوط أثناء تحويل EPUB إلى PDF في جافا. تعلّم ضبط حجم صفحة
+ PDF واستخدام Aspose HTML لتحويل EPUB إلى PDF بسلاسة باستخدام جافا.
+draft: false
+keywords:
+- how to embed fonts
+- convert epub to pdf
+- how to convert epub
+- set pdf page size
+- epub to pdf java
+language: ar
+og_description: كيفية تضمين الخطوط أثناء تحويل EPUB إلى PDF في جافا. يوضح لك هذا الدليل
+ خطوة بخطوة كيفية ضبط حجم صفحة PDF وتنفيذ تحويل موثوق من EPUB إلى PDF باستخدام جافا.
+og_title: كيفية تضمين الخطوط عند تحويل EPUB إلى PDF في جافا
+tags:
+- Java
+- PDF
+- EPUB
+title: كيفية تضمين الخطوط عند تحويل EPUB إلى PDF في جافا
+url: /ar/java/converting-epub-to-pdf/how-to-embed-fonts-when-converting-epub-to-pdf-in-java/
+---
+
+{{< blocks/products/pf/main-wrap-class >}}
+{{< blocks/products/pf/main-container >}}
+{{< blocks/products/pf/tutorial-page-section >}}
+
+# كيفية تضمين الخطوط عند تحويل EPUB إلى PDF باستخدام Java
+
+هل تساءلت يومًا **كيف يتم تضمين الخطوط** بحيث يبدو ملف PDF المحول تمامًا مثل ملف EPUB الأصلي؟ لست وحدك—العديد من المطورين يواجهون مشكلة فقدان الخطوط مباشرةً بعد أول محاولة تحويل. الخبر السار هو أنه باستخدام Aspose.HTML for Java يمكنك التحكم في تضمين الخطوط، حجم الصفحة، وسلسلة التحويل بأكملها ببضع أسطر من الشيفرة.
+
+في هذا البرنامج التعليمي سنستعرض العملية الكاملة لـ **convert epub to pdf** باستخدام Java، ونوضح لك كيفية **set pdf page size**، ونشرح لماذا يعتبر تضمين الخطوط مهمًا للحفاظ على الدقة عبر الأنظمة. في النهاية ستحصل على برنامج جاهز للتنفيذ يحول أي ملف EPUB إلى PDF مُصمم بدقة، مع خطوط مضمَّنة وحجم الصفحة الذي تختاره.
+
+> **المتطلبات المسبقة**
+> * Java 17 أو أحدث (API يعمل مع الإصدارات الأقدم لكن 17 هو الخيار المثالي).
+> * مكتبة Aspose.HTML for Java – يمكنك الحصول عليها من Maven Central.
+> * ملف EPUB تجريبي للاختبار.
+
+إذا كنت مرتاحًا مع Maven أو Gradle، فأنت جاهز. وإلا، فقط قم بتحميل ملف JAR وأضفه إلى classpath الخاص بك—ليس بالأمر الصعب.
+
+---
+
+## كيفية تضمين الخطوط في مخرجات PDF
+
+تضمن عملية تضمين الخطوط أن يعرض PDF نفس الخطوط على أي جهاز، حتى إذا لم يكن لدى القارئ الخط الأصلي مثبتًا. توفر لك Aspose.HTML مفتاحًا واحدًا لتفعيل ذلك.
+
+```java
+// Configure PDF save options
+PdfSaveOptions pdfOptions = new PdfSaveOptions();
+pdfOptions.setEmbedFonts(true); // <-- This line embeds all used fonts
+```
+
+لماذا هذا مهم؟ تخيل أنك ترسل ملف PDF إلى عميل لا يمتلك سوى الخطوط الافتراضية للنظام. بدون التضمين، قد تعود العناوين إلى Arial أو Times New Roman، مما يفسد التصميم. من خلال التضمين، تثبت التصميم البصري في مكانه، مما يجعل PDF قابلًا للنقل فعليًا.
+
+> **نصيحة احترافية:** إذا كنت تعرف الخطوط الدقيقة التي يستخدمها EPUB الخاص بك، يمكنك أيضًا توفير مجلد خطوط مخصص عبر `pdfOptions.setFontsFolder("path/to/fonts")`. هذا يسرّع عملية التحويل ويتجنب تضمين الخطوط غير الضرورية.
+
+---
+
+## تحويل EPUB إلى PDF باستخدام Java – سير العمل الكامل
+
+فيما يلي الحد الأدنى من الشيفرة اللازمة، ومع ذلك كاملة. تغطي ثلاث خطوات أساسية: تحديد موقع ملف EPUB المصدر، تكوين خيارات PDF (بما في ذلك حجم الصفحة)، واستدعاء عملية التحويل.
+
+```java
+import com.aspose.html.converters.Converter;
+import com.aspose.html.converters.PdfSaveOptions;
+
+public class EpubToPdfDemo {
+
+ public static void main(String[] args) throws Exception {
+ // Step 1: Point to your source EPUB file
+ String epubPath = "YOUR_DIRECTORY/input.epub";
+
+ // Step 2: Set up PDF save options (embed fonts + page size)
+ PdfSaveOptions pdfOptions = new PdfSaveOptions();
+ pdfOptions.setEmbedFonts(true); // Embed fonts for accurate rendering
+ pdfOptions.setPageSize(PdfSaveOptions.PageSize.LETTER); // Set PDF page size to Letter (8.5"x11")
+
+ // Step 3: Perform the conversion
+ String outputPdf = "YOUR_DIRECTORY/output.pdf";
+ Converter.convert(epubPath, outputPdf, pdfOptions);
+
+ System.out.println("Conversion complete! PDF saved to: " + outputPdf);
+ }
+}
+```
+
+### ما الذي يحدث خلف الكواليس؟
+
+1. **Source EPUB** – المتغيّر `epubPath` يخبر Aspose من أين يقرأ حاوية EPUB.
+2. **PDF Options** – `PdfSaveOptions` يتيح لك تشغيل/إيقاف تضمين الخطوط (`setEmbedFonts`) وتحديد أبعاد الصفحة (`setPageSize`). تعداد `PageSize.LETTER` مفيد للـ US‑letter؛ يمكنك أيضًا اختيار `A4`، `A5`، إلخ.
+3. **Conversion Call** – `Converter.convert` يقوم بالعمل الشاق. فهو يحلل EPUB، يُحوِّل كل صفحة XHTML إلى صفحة PDF، يطبق الخيارات، ويكتب النتيجة.
+
+ترمي الطريقة استثناءً عامًّا `Exception` للتبسيط؛ في بيئة الإنتاج ستلتقط استثناءات محددة (مثل `IOException`، `FileNotFoundException`) وتتعامل معها بشكل ملائم.
+
+---
+
+## تعيين حجم صفحة PDF للنتيجة
+
+اختيار حجم الصفحة المناسب ليس مجرد مظهر؛ فهو يؤثر على ترقيم الصفحات، وتكبير الصور، وتخطيط الطباعة. توفر Aspose.HTML تعدادًا مريحًا، ولكن يمكنك أيضًا تمرير حجم مخصص إذا لم تناسب القيم الافتراضية.
+
+```java
+// Example: Custom size – 6" x 9"
+pdfOptions.setPageSize(new PdfSaveOptions.PageSize(6.0, 9.0));
+```
+
+لماذا قد تحتاج إلى حجم مخصص؟ ربما تقوم بإنشاء كتب إلكترونية بحجم الجيب أو كتيب قابل للطباعة يتبع حجم قص معين. تقبل API البوصة (أو يمكنك استخدام المليمترات عبر التحويل بنفسك)، مما يمنحك سيطرة كاملة.
+
+---
+
+## مثال عملي كامل (يتضمن تبعية Maven)
+
+إذا كنت تستخدم Maven، أضف التبعية التالية إلى ملف `pom.xml`. هذا يضمن أن تكون الفئات `Converter` و `PdfSaveOptions` موجودة في classpath.
+
+```xml
+
+ com.aspose
+ aspose-html
+ 23.10
+
+```
+
+**ملف المصدر الكامل (`EpubToPdfDemo.java`)**
+
+```java
+package com.example.epubtopdf;
+
+import com.aspose.html.converters.Converter;
+import com.aspose.html.converters.PdfSaveOptions;
+
+/**
+ * Demonstrates how to embed fonts and set PDF page size while converting an EPUB file to PDF.
+ * Run this class from your IDE or via `java -cp com.example.epubtopdf.EpubToPdfDemo`.
+ */
+public class EpubToPdfDemo {
+
+ public static void main(String[] args) {
+ try {
+ // -----------------------------------------------------------------
+ // 1️⃣ Locate the EPUB file
+ // -----------------------------------------------------------------
+ String epubPath = "C:/Docs/input.epub";
+
+ // -----------------------------------------------------------------
+ // 2️⃣ Configure PDF options – embed fonts & choose page size
+ // -----------------------------------------------------------------
+ PdfSaveOptions pdfOptions = new PdfSaveOptions();
+ pdfOptions.setEmbedFonts(true); // Embed every font used in the EPUB
+ pdfOptions.setPageSize(PdfSaveOptions.PageSize.LETTER); // Letter size (8.5"x11")
+
+ // -----------------------------------------------------------------
+ // 3️⃣ Convert and save the PDF
+ // -----------------------------------------------------------------
+ String outputPdf = "C:/Docs/output.pdf";
+ Converter.convert(epubPath, outputPdf, pdfOptions);
+
+ System.out.println("✅ Success! PDF created at: " + outputPdf);
+ } catch (Exception e) {
+ System.err.println("❌ Conversion failed: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### النتيجة المتوقعة
+
+تشغيل البرنامج يطبع سطر تأكيد:
+
+```
+✅ Success! PDF created at: C:/Docs/output.pdf
+```
+
+افتح PDF الناتج في أي عارض (Adobe Reader، Chrome، إلخ) وستلاحظ:
+
+* جميع العناصر النصية تحتفظ بنمط الخط الأصلي.
+* أبعاد الصفحة تتطابق مع حجم **Letter** المختار.
+* الصور والجداول والروابط التشعبية من EPUB محفوظة.
+
+إذا فحصت خصائص PDF (File → Properties → Fonts)، ستلاحظ أن كل خط مدرج كـ **Embedded Subset**، مما يؤكد أن استدعاء `setEmbedFonts(true)` قام بعمله.
+
+---
+
+## الأسئلة المتكررة والحالات الخاصة
+
+| Question | Answer |
+|----------|--------|
+| **ماذا لو كان ملف EPUB الخاص بي يستخدم خطًا مخصصًا غير مثبت على الخادم؟** | ضع ملفات `.ttf` أو `.otf` في مجلد وأشر إلى ذلك باستخدام Aspose عبر `pdfOptions.setFontsFolder("path/to/custom/fonts")`. سيقوم المحول بتحميلها وتضمينها تلقائيًا. |
+| **هل يمكنني تحويل عدة ملفات EPUB في تشغيل واحد؟** | بالطبع. ضع منطق التحويل داخل حلقة، غير `epubPath` و `outputPdf` لكل ملف. Aspose آمن للاستخدام المتعدد الخيوط، لذا يمكنك حتى تنفيذ العمل بشكل متوازي باستخدام `ExecutorService`. |
+| **هل هناك حد لحجم ملف EPUB المدخل؟** | لا يوجد حد صريح، لكن ملفات EPUB الكبيرة جدًا (مئات الميغابايت) ستستهلك المزيد من الذاكرة. فكر في زيادة حجم heap الخاص بـ JVM (`-Xmx2g` أو أعلى) للكتب الضخمة. |
+| **كيف يمكنني تعطيل تضمين الخطوط للحصول على PDF أصغر؟** | قم بتعيين `pdfOptions.setEmbedFonts(false)`. سيعتمد PDF الناتج على الخطوط المثبتة لدى القارئ، مما يقلل حجم الملف لكنه قد يغيّر المظهر. |
+| **هل أحتاج إلى ترخيص لـ Aspose.HTML؟** | ترخيص تقييم مجاني يعمل للاختبار، لكنه يضيف علامة مائية. للإنتاج، اشترِ ترخيصًا واستدعِ `License license = new License(); license.setLicense("path/to/license.xml");` قبل التحويل. |
+
+---
+
+## الخلاصة
+
+أنت الآن تعرف **كيفية تضمين الخطوط** عند **تحويل EPUB إلى PDF** باستخدام Java، وكيفية **تعيين حجم صفحة PDF**، وكيفية ربط كل شيء معًا باستخدام Aspose.HTML. المثال الكامل القابل للتنفيذ أعلاه يجب أن يعمل مباشرةً—فقط استبدل مسارات العناصر النائبة بملفاتك الخاصة وستكون جاهزًا.
+
+الخطوات التالية؟ جرّب تجربة صيغ صفحات أخرى مثل **A4** أو حجم مخصص 6×9، استكشف خصائص `PdfSaveOptions` لضغط الصور، أو حتى أضف صفحة غلاف برمجيًا. النمط نفسه يعمل أيضًا مع صيغ مصدر أخرى (HTML، Markdown) لأن Aspose.HTML يتعامل معها بشكل موحد.
+
+برمجة سعيدة، ولتظهر ملفات PDF الخاصة بك دائمًا كما تريد!
+
+
+
+{{< /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/html/arabic/java/creating-managing-html-documents/_index.md b/html/arabic/java/creating-managing-html-documents/_index.md
index 8fcdf6383..bf07c1fe7 100644
--- a/html/arabic/java/creating-managing-html-documents/_index.md
+++ b/html/arabic/java/creating-managing-html-documents/_index.md
@@ -62,9 +62,14 @@ url: /ar/java/creating-managing-html-documents/
تعلم كيفية التعامل مع أحداث تحميل المستندات في Aspose.HTML for Java باستخدام هذا الدليل خطوة بخطوة. قم بتحسين تطبيقات الويب الخاصة بك.
### [إنشاء وإدارة مستندات SVG في Aspose.HTML لـ Java](./create-manage-svg-documents/)
تعلم كيفية إنشاء مستندات SVG وإدارتها باستخدام Aspose.HTML لـ Java! يغطي هذا الدليل الشامل كل شيء بدءًا من الإنشاء الأساسي وحتى المعالجة المتقدمة.
+### [إنشاء بيئة تجريبية لـ HTML في Java – دليل خطوة بخطوة](./create-sandbox-for-html-in-java-step-by-step-guide/)
+تعلم كيفية إنشاء بيئة تجريبية لمعالجة HTML في Java باستخدام Aspose.HTML من خلال دليل خطوة بخطوة.
+### [كيفية الاستعلام عن HTML في Java – دليل كامل](./how-to-query-html-in-java-complete-tutorial/)
+تعلم كيفية استعلام ومعالجة مستندات HTML في Java باستخدام Aspose.HTML من خلال دليل شامل خطوة بخطوة.
+
{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
-{{< blocks/products/products-backtop-button >}}
+{{< blocks/products/products-backtop-button >}}
\ No newline at end of file
diff --git a/html/arabic/java/creating-managing-html-documents/create-sandbox-for-html-in-java-step-by-step-guide/_index.md b/html/arabic/java/creating-managing-html-documents/create-sandbox-for-html-in-java-step-by-step-guide/_index.md
new file mode 100644
index 000000000..dd9bb85ea
--- /dev/null
+++ b/html/arabic/java/creating-managing-html-documents/create-sandbox-for-html-in-java-step-by-step-guide/_index.md
@@ -0,0 +1,179 @@
+---
+category: general
+date: 2026-01-01
+description: إنشاء بيئة عزل للـ HTML باستخدام جافا واسترجاع عنوان HTML. تعلم كيفية
+ فتح ملف HTML في بيئة العزل بأمان وكفاءة.
+draft: false
+keywords:
+- create sandbox for html
+- open html file sandbox
+- retrieve html title java
+- aspose html sandbox java
+- java html document title
+language: ar
+og_description: إنشاء بيئة عزل لـ HTML باستخدام Java، فتح ملف HTML في بيئة العزل،
+ واسترجاع عنوان HTML باستخدام Java. الكود الكامل والشروحات.
+og_title: إنشاء صندوق رمل للـ HTML في Java – دليل كامل
+tags:
+- Java
+- Aspose.HTML
+- Sandbox
+- HTML Processing
+title: إنشاء بيئة عزل لـ HTML في Java – دليل خطوة بخطوة
+url: /ar/java/creating-managing-html-documents/create-sandbox-for-html-in-java-step-by-step-guide/
+---
+
+{{< blocks/products/pf/main-wrap-class >}}
+{{< blocks/products/pf/main-container >}}
+{{< blocks/products/pf/tutorial-page-section >}}
+
+# إنشاء صندوق رمل للـ HTML في جافا – دليل كامل
+
+هل احتجت يومًا إلى **إنشاء صندوق رمل للـ HTML** أثناء العمل على مشروع جافا، لكنك لم تكن متأكدًا من كيفية منع الموارد الخارجية من التسلل؟ لست وحدك. يواجه العديد من المطورين صعوبة عندما يحاولون تحميل صفحات غير موثوقة وفجأة يبدأ التطبيق بأكمله في الوصول إلى الإنترنت.
+
+في هذا الدليل سنقوم بـ **إنشاء صندوق رمل للـ HTML**، ثم **فتح صندوق رمل لملف HTML**، وأخيرًا **استخراج عنوان HTML بجافا**—كل ذلك ببضع أسطر من كود Aspose.HTML. لا إطالة، مجرد حل عملي يمكنك نسخه‑ولصقه في بيئة التطوير الآن.
+
+## ما ستحصل عليه
+
+سنغطي كل شيء من إعداد خيارات الصندوق الرمل إلى طباعة عنوان المستند. بنهاية القراءة ستعرف:
+
+* لماذا يُعد الصندوق الرمل ضروريًا عند معالجة HTML من طرف ثالث.
+* كيفية ضبط أبعاد الشاشة وتعطيل الوصول إلى الشبكة.
+* الكود الجافا الدقيق الذي يفتح ملف HTML داخل الصندوق الرمل.
+* كيفية قراءة وسم العنوان بأمان، حتى إذا حاولت الصفحة تحميل سكريبتات خارجية.
+
+**المتطلبات المسبقة؟** مجرد JDK حديث (8 أو أحدث) ومكتبة Aspose.HTML for Java على مسار الـ classpath. لا حاجة إلى تعقيدات Maven، ولكن إذا كنت تستخدم Maven فما عليك سوى إضافة تبعية Aspose وستكون جاهزًا.
+
+---
+
+## الخطوة 1: إنشاء صندوق رمل للـ HTML – تكوين البيئة
+
+قبل أن نتمكن من تحميل أي مستند نحتاج إلى صندوق رمل يحاكي نافذة المتصفح لكنه يرفض التواصل مع العالم الخارجي. فكر فيه كحديقة مسيجة حيث يمكن للطفل (HTML الخاص بك) أن يلعب، لكن البوابة مقفلة.
+
+```java
+import com.aspose.html.sandbox.Sandbox;
+import com.aspose.html.sandbox.SandboxOptions;
+
+// Step 1: Define sandbox options – screen size and network policy
+SandboxOptions sandboxOptions = new SandboxOptions();
+sandboxOptions.setScreenWidth(1280); // width in pixels
+sandboxOptions.setScreenHeight(800); // height in pixels
+sandboxOptions.setEnableNetworkAccess(false); // blocks all remote resources
+
+// Pro tip: you can also set a custom user‑agent string here if needed.
+```
+
+**لماذا هذا مهم:**
+ضبط `setEnableNetworkAccess(false)` يضمن أن أي `