| date | 2026-03-22 | |||
|---|---|---|---|---|
| description | تعلم كيفية إنشاء HTML من PDF وتعطيل تجميع الأحرف باستخدام GroupDocs Viewer for Java للحصول على تمثيل نصي دقيق. | |||
| keywords |
|
|||
| title | إنشاء HTML من PDF وتعطيل التجميع – GroupDocs Java | |||
| type | docs | |||
| url | /ar/java/advanced-rendering/groupdocs-viewer-java-disable-character-grouping-pdf/ | |||
| weight | 1 |
في العديد من المشاريع تحتاج إلى إنشاء HTML من PDF مع الحفاظ على كل حرف في موضعه الدقيق. هذا صحيح بشكل خاص للخطوط المعقدة، اللغات القديمة، أو المستندات القانونية حيث يمكن أن يغيّر حرف واحد في غير موضعه المعنى. في هذا الدرس سنرشدك عبر العملية الكاملة لتحويل ملفات PDF إلى HTML باستخدام GroupDocs Viewer للـ Java وسنوضح لك كيفية تعطيل التجميع بحيث يُعامل كل حرف كعنصر مستقل.
- ماذا يفعل “تعطيل التجميع”؟ يجبر المحول على معالجة كل حرف كعنصر مستقل، مع الحفاظ على التخطيط الدقيق.
- ما هو خيار API الذي يتحكم بهذا؟
viewOptions.getPdfOptions().setDisableCharsGrouping(true). - هل أحتاج إلى ترخيص؟ النسخة التجريبية تعمل للاختبار، لكن الترخيص الكامل مطلوب للإنتاج.
- هل يمكنني إنشاء HTML من PDF في نفس الوقت؟ نعم—استخدم
HtmlViewOptionsلإنشاء مخرجات HTML مع تعطيل التجميع. - هل هذه الميزة مقصورة على ملفات PDF؟ هي مخصصة أساساً لملفات PDF، لكن العارض يدعم العديد من الصيغ الأخرى.
عند العمل مع مستندات PDF، تكون الدقة في العرض أمرًا حيويًا—خاصةً عند التعامل مع هياكل نصية معقدة مثل الرسوم الهيروغليفية أو اللغات التي تتطلب تمثيلًا دقيقًا للحروف. غالبًا ما يسبب ميزة “تجميع الأحرف” مشاكل عن طريق تجميع الأحرف بشكل غير صحيح، مما يؤدي إلى سوء تفسير محتوى المستند. يمكن أن يكون هذا مشكلة خاصة للمستخدمين الذين يحتاجون إلى استنساخ دقيق لتخطيط نصوص مستنداتهم.
قبل الغوص في تنفيذ الكود، تأكد من استيفاء المتطلبات التالية:
- المكتبات والاعتمادات: ستحتاج إلى GroupDocs.Viewer للـ Java الإصدار 25.2 أو أحدث.
- إعداد البيئة: تأكد من تثبيت مجموعة تطوير جافا (JDK) وإعداد بيئة التطوير المتكاملة (IDE) للعمل مع مشاريع Maven.
- المعرفة المسبقة: فهم أساسي لبرمجة Java، خاصةً التعامل مع مسارات الملفات واستخدام المكتبات الخارجية.
إنشاء HTML من PDF هو عملية من خطوتين: تكوين العارض، ثم عرض المستند. المفتاح هو إيقاف تجميع الأحرف قبل العرض بحيث يعكس مخرج HTML تخطيط PDF الأصلي حرفًا بحرف.
أولاً، دمج المكتبة اللازمة في مشروعك. أضف التكوين التالي في ملف pom.xml الخاص بك:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/viewer/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
</dependencies>للاستفادة الكاملة من GroupDocs.Viewer، فكر في الحصول على ترخيص:
- نسخة تجريبية مجانية: ابدأ بالنسخة التجريبية لاختبار الميزات.
- ترخيص مؤقت: قدّم طلبًا للحصول على ترخيص مؤقت إذا كنت بحاجة إلى مزيد من الوقت.
- شراء: للمشاريع طويلة الأجل، يُنصح بشراء ترخيص.
فيما يلي مقتطف جاهز للتنفيذ يوضح سير العمل الكامل—من تحديد مجلد الإخراج إلى عرض ملف PDF كـ HTML مع تعطيل تجميع الأحرف:
import com.groupdocs.viewer.Viewer;
import com.groupdocs.viewer.options.HtmlViewOptions;
import java.nio.file.Path;
// Initialize the GroupDocs Viewer
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
viewOptions.getPdfOptions().setDisableCharsGrouping(true);
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
viewer.view(viewOptions);
}فيما يلي نقوم بتفصيل كل سطر من المثال لتتمكن من فهم سبب قيامنا بذلك وكيفية مساهمته في إنشاء HTML من PDF دون دمج الأحرف غير المرغوب فيه.
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");لماذا؟ يضمن ذلك تخزين ملفات HTML التي تم عرضها في مجلد مخصص، مما يسهل العثور عليها وإدارتها لاحقًا.
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");لماذا؟ يسمح استخدام عنصر نائب ({0}) للعارض بإنشاء ملف HTML منفصل لكل صفحة PDF، مما يحافظ على تنظيم المخرجات.
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);لماذا؟ تجمع الموارد المضمنة الصور والخطوط وCSS مباشرةً مع كل صفحة HTML، وهو مثالي للعارضات المستندة إلى الويب أو منصات التعلم الإلكتروني.
viewOptions.getPdfOptions().setDisableCharsGrouping(true);لماذا؟ هذا هو السطر الحاسم الذي يخبر محرك العرض بعدم دمج الأحرف المتجاورة، مما يضمن أن HTML المُنشأ يعكس الموضع الدقيق للأحرف من PDF المصدر.
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
viewer.view(viewOptions);
}لماذا؟ يضمن تغليف Viewer داخل كتلة try‑with‑resources تحرير جميع الموارد الأصلية تلقائيًا، مما يمنع تسرب الذاكرة في التطبيقات طويلة التشغيل.
تتيح لك فئة HtmlViewOptions إنتاج إنشاء html من pdf مع الحفاظ على كل حرف منفصل. هذا مفيد بشكل خاص عندما تحتاج إلى تضمين الصفحات المعروضة في بوابة ويب أو منصة تعلم إلكترونية حيث يهم الموضع الدقيق للأحرف.
- FileNotFoundException – تحقق مرة أخرى من المسار الذي تمرره إلى
new Viewer(...). استخدم مسارات مطلقة أوPath.of(...)للوضوح. - أذونات الكتابة – تأكد من أن دليل الإخراج قابل للكتابة من قبل عملية Java؛ على نظام Linux قد تحتاج إلى تعديل أذونات المجلد (
chmod 775). - عدم توافق الإصدارات – خيار
setDisableCharsGroupingمتاح بدءًا من الإصدار 25.2. تأكد من أن ملفpom.xmlيعكس الإصدار الصحيح.
- حفظ اللغة – مثالي لعرض المستندات بالصينية، اليابانية، العربية، أو النصوص القديمة حيث يضيف تباعد الأحرف معنى.
- المستندات القانونية والمالية – يضمن استنساخ النص بدقة للوثائق التي تتطلب الامتثال الصارم.
- الموارد التعليمية – مثالي للكتب الدراسية التي تتضمن مخططات معقدة، تعليقات توضيحية، أو محتوى متعدد اللغات.
- تحسين استخدام الموارد – يمكن لملفات PDF الكبيرة استهلاك ذاكرة كبيرة. فكر في معالجة الصفحات على دفعات والتخلص من كائنات
Viewerبسرعة. - إدارة ذاكرة Java – اضبط حجم كومة JVM (
-Xmx2gأو أعلى) إذا كنت تتوقع معالجة ملفات PDF مئات الصفحات. - العرض المتوازي – للتحويلات الضخمة، أنشئ خيوطًا منفصلة كل منها يحتوي على نسخة
Viewerالخاصة به للاستفادة من المعالجات متعددة النوى.
س: لماذا قد أحتاج إلى تعطيل تجميع الأحرف على الإطلاق؟
ج: يمنع تعطيل التجميع المحول من دمج الأحرف التي تنتمي إلى رموز مختلفة، وهو أمر أساسي للخطوط التي يضيف فيها التباعد والترتيب معنى.
س: هل إعداد setDisableCharsGrouping ينطبق فقط على مخرجات HTML؟
ج: لا، فهو يؤثر على محرك عرض PDF الأساسي، لذا أي تنسيق مخرج (HTML، PNG، JPEG، إلخ) سيعكس التغيير.
س: هل يمكنني دمج هذا الإعداد مع خطوط مخصصة؟
ج: نعم—حمّل خطوطك المخصصة قبل تهيئة Viewer، وستظل قاعدة التجميع سارية.
س: هل يؤثر تعطيل التجميع على الأداء؟
ج: تأثيره طفيف، لأن المحرك يعالج كل حرف على حدة، لكن الأثر ضئيل لمعظم المستندات.
س: هل هناك طريقة لتبديل التجميع على أساس كل صفحة؟
ج: حاليًا الخيار عام لكل نسخة PdfOptions؛ ستحتاج إلى إنشاء نسخ Viewer منفصلة للصفحات المختلفة إذا كنت تحتاج إلى سلوك مختلط.
- توثيق GroupDocs
- مرجع API
- تحميل GroupDocs Viewer
- شراء ترخيص
- نسخة تجريبية مجانية
- طلب ترخيص مؤقت
- منتدى دعم GroupDocs
آخر تحديث: 2026-03-22
تم الاختبار مع: GroupDocs.Viewer 25.2 للـ Java
المؤلف: GroupDocs
