Skip to content

Latest commit

 

History

History
195 lines (137 loc) · 12.4 KB

File metadata and controls

195 lines (137 loc) · 12.4 KB
date 2026-03-22
description تعلم كيفية إنشاء HTML من PDF وتعطيل تجميع الأحرف باستخدام GroupDocs Viewer for Java للحصول على تمثيل نصي دقيق.
keywords
disable character grouping PDFs
GroupDocs Viewer Java configuration
precise text representation in PDFs
title إنشاء HTML من PDF وتعطيل التجميع – GroupDocs Java
type docs
url /ar/java/advanced-rendering/groupdocs-viewer-java-disable-character-grouping-pdf/
weight 1

إنشاء HTML من PDF وتعطيل التجميع باستخدام GroupDocs Viewer للـ Java

في العديد من المشاريع تحتاج إلى إنشاء HTML من PDF مع الحفاظ على كل حرف في موضعه الدقيق. هذا صحيح بشكل خاص للخطوط المعقدة، اللغات القديمة، أو المستندات القانونية حيث يمكن أن يغيّر حرف واحد في غير موضعه المعنى. في هذا الدرس سنرشدك عبر العملية الكاملة لتحويل ملفات PDF إلى HTML باستخدام GroupDocs Viewer للـ Java وسنوضح لك كيفية تعطيل التجميع بحيث يُعامل كل حرف كعنصر مستقل.

تقنيات العرض الدقيقة مع 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 باستخدام GroupDocs Viewer

إنشاء HTML من PDF هو عملية من خطوتين: تكوين العارض، ثم عرض المستند. المفتاح هو إيقاف تجميع الأحرف قبل العرض بحيث يعكس مخرج HTML تخطيط PDF الأصلي حرفًا بحرف.

إعداد GroupDocs.Viewer للـ Java

التثبيت عبر Maven

أولاً، دمج المكتبة اللازمة في مشروعك. أضف التكوين التالي في ملف 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 دون دمج الأحرف غير المرغوب فيه.

الخطوة 1: تحديد دليل الإخراج
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");

لماذا؟ يضمن ذلك تخزين ملفات HTML التي تم عرضها في مجلد مخصص، مما يسهل العثور عليها وإدارتها لاحقًا.

الخطوة 2: تكوين تنسيق مسار الملف
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");

لماذا؟ يسمح استخدام عنصر نائب ({0}) للعارض بإنشاء ملف HTML منفصل لكل صفحة PDF، مما يحافظ على تنظيم المخرجات.

الخطوة 3: تهيئة خيارات عرض HTML
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);

لماذا؟ تجمع الموارد المضمنة الصور والخطوط وCSS مباشرةً مع كل صفحة HTML، وهو مثالي للعارضات المستندة إلى الويب أو منصات التعلم الإلكتروني.

الخطوة 4: تعطيل تجميع الأحرف
viewOptions.getPdfOptions().setDisableCharsGrouping(true);

لماذا؟ هذا هو السطر الحاسم الذي يخبر محرك العرض بعدم دمج الأحرف المتجاورة، مما يضمن أن HTML المُنشأ يعكس الموضع الدقيق للأحرف من PDF المصدر.

الخطوة 5: عرض المستند
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
    viewer.view(viewOptions);
}

لماذا؟ يضمن تغليف Viewer داخل كتلة try‑with‑resources تحرير جميع الموارد الأصلية تلقائيًا، مما يمنع تسرب الذاكرة في التطبيقات طويلة التشغيل.

إنشاء HTML من PDF باستخدام Java دون تجميع

تتيح لك فئة HtmlViewOptions إنتاج إنشاء html من pdf مع الحفاظ على كل حرف منفصل. هذا مفيد بشكل خاص عندما تحتاج إلى تضمين الصفحات المعروضة في بوابة ويب أو منصة تعلم إلكترونية حيث يهم الموضع الدقيق للأحرف.

المشكلات الشائعة والحلول

  • FileNotFoundException – تحقق مرة أخرى من المسار الذي تمرره إلى new Viewer(...). استخدم مسارات مطلقة أو Path.of(...) للوضوح.
  • أذونات الكتابة – تأكد من أن دليل الإخراج قابل للكتابة من قبل عملية Java؛ على نظام Linux قد تحتاج إلى تعديل أذونات المجلد (chmod 775).
  • عدم توافق الإصدارات – خيار setDisableCharsGrouping متاح بدءًا من الإصدار 25.2. تأكد من أن ملف pom.xml يعكس الإصدار الصحيح.

التطبيقات العملية

  1. حفظ اللغة – مثالي لعرض المستندات بالصينية، اليابانية، العربية، أو النصوص القديمة حيث يضيف تباعد الأحرف معنى.
  2. المستندات القانونية والمالية – يضمن استنساخ النص بدقة للوثائق التي تتطلب الامتثال الصارم.
  3. الموارد التعليمية – مثالي للكتب الدراسية التي تتضمن مخططات معقدة، تعليقات توضيحية، أو محتوى متعدد اللغات.

اعتبارات الأداء

  • تحسين استخدام الموارد – يمكن لملفات PDF الكبيرة استهلاك ذاكرة كبيرة. فكر في معالجة الصفحات على دفعات والتخلص من كائنات Viewer بسرعة.
  • إدارة ذاكرة Java – اضبط حجم كومة JVM (-Xmx2g أو أعلى) إذا كنت تتوقع معالجة ملفات PDF مئات الصفحات.
  • العرض المتوازي – للتحويلات الضخمة، أنشئ خيوطًا منفصلة كل منها يحتوي على نسخة Viewer الخاصة به للاستفادة من المعالجات متعددة النوى.

الأسئلة المتكررة

س: لماذا قد أحتاج إلى تعطيل تجميع الأحرف على الإطلاق؟
ج: يمنع تعطيل التجميع المحول من دمج الأحرف التي تنتمي إلى رموز مختلفة، وهو أمر أساسي للخطوط التي يضيف فيها التباعد والترتيب معنى.

س: هل إعداد setDisableCharsGrouping ينطبق فقط على مخرجات HTML؟
ج: لا، فهو يؤثر على محرك عرض PDF الأساسي، لذا أي تنسيق مخرج (HTML، PNG، JPEG، إلخ) سيعكس التغيير.

س: هل يمكنني دمج هذا الإعداد مع خطوط مخصصة؟
ج: نعم—حمّل خطوطك المخصصة قبل تهيئة Viewer، وستظل قاعدة التجميع سارية.

س: هل يؤثر تعطيل التجميع على الأداء؟
ج: تأثيره طفيف، لأن المحرك يعالج كل حرف على حدة، لكن الأثر ضئيل لمعظم المستندات.

س: هل هناك طريقة لتبديل التجميع على أساس كل صفحة؟
ج: حاليًا الخيار عام لكل نسخة PdfOptions؛ ستحتاج إلى إنشاء نسخ Viewer منفصلة للصفحات المختلفة إذا كنت تحتاج إلى سلوك مختلط.

الموارد


آخر تحديث: 2026-03-22
تم الاختبار مع: GroupDocs.Viewer 25.2 للـ Java
المؤلف: GroupDocs