تحويل zip إلى html وتعيين عدد العناصر لكل صفحة باستخدام GroupDocs.Viewer Java
في العديد من تطبيقات الويب تحتاج إلى عرض محتويات أرشيف ZIP أو RAR مباشرةً في المتصفح. How to convert zip إلى HTML باستخدام GroupDocs.Viewer for Java هو طلب شائع، وتتيح المكتبة تضمين الصور وCSS والخطوط بحيث يكون الناتج صفحة واحدة محمولة. يشرح هذا الدرس كل شيء—من إعداد Maven إلى العرض متعدد الصفحات—مع توضيح سبب أهمية كل خيار للأداء وسهولة الاستخدام.

إجابات سريعة
- What does “set items per page” control? يحدد عدد الملفات أو المجلدات من الأرشيف التي تظهر في كل صفحة HTML مُولَّدة.
- Can I embed images and CSS directly in the HTML? نعم – استخدم خيار
forEmbeddedResourcesلتضمين الموارد داخل HTML. - Is batch conversion possible? بالتأكيد؛ يمكنك تكرار العملية على مجموعة من الأرشيفات وعرض كل واحدة بالإعدادات نفسها.
- Do I need Maven to use GroupDocs.Viewer? نعم، أضف تبعية
groupdocs-viewerفي Maven كما هو موضح أدناه. - Which output formats are supported? كل من HTML صفحة واحدة وHTML متعدد الصفحات متاحان، وتدعم المكتبة أكثر من 50 نوعًا من أنواع الأرشيفات المدخلة.
ما هو “set items per page” في GroupDocs.Viewer؟
يخبر المشاهد بعدد إدخالات الأرشيف (ملفات أو مجلدات) التي يجب عرضها في كل صفحة HTML عند إنشاء مستند متعدد الصفحات. يساعد ضبط هذه القيمة على موازنة حجم الصفحة وسرعة التنقل، خاصةً للأرشيفات الكبيرة، من خلال الحد من كمية البيانات المحمَّلة لكل صفحة وتقليل وقت العرض للمستخدم النهائي.
لماذا تضمين الموارد html؟
تضمين الموارد (الصور، CSS، الخطوط) مباشرة داخل ملف HTML يُنشئ مستندًا واحدًا محمولًا يمكن فتحه دون ملفات خارجية. هذا مثالي لمرفقات البريد الإلكتروني، العرض دون اتصال، أو تضمين الناتج في صفحات ويب أخرى. كما أنه يلغي الحاجة لإدارة مسارات الأصول الخارجية.
المتطلبات المسبقة
- المكتبات المطلوبة: تضمين GroupDocs.Viewer الإصدار 25.2 أو أحدث.
- البيئة: تثبيت وتكوين Java Development Kit (JDK).
- المعرفة: أساسيات Java وإدارة تبعيات Maven.
إعداد Maven لمكتبة GroupDocs Viewer
أضف مستودع GroupDocs وتبعية المشاهد إلى ملف 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 رابط تجربة مجانية، ترخيصًا مؤقتًا، أو خيار شراء كامل. اختر ما يناسب جدول مشروعك.
التهيئة الأساسية
فئة Viewer هي نقطة الدخول لعرض المستندات والأرشيفات. بعد إعداد Maven، استدعِ المشاهد في الكود الخاص بك:
import com.groupdocs.viewer.Viewer;
// Your initialization code here
كيفية تحويل الأرشيفات إلى html صفحة واحدة
تحدد فئة HtmlViewOptions إعدادات إخراج HTML، مثل تضمين الموارد. حمِّل الأرشيف، اضبط خيارات HTML لتضمين الموارد، وعرض كل شيء في صفحة واحدة ذاتية المحتوى. ينتج عن ذلك ملف HTML واحد يحتوي على جميع الملفات، الصور، CSS، والخطوط، جاهز للاستخدام دون اتصال أو كمرفق بريد إلكتروني.
Direct answer: أنشئ كائن Viewer لملف ZIP، استدعِ HtmlViewOptions.forEmbeddedResources()، ثم نفّذ viewer.view(documentPath, options). ينتج ملف HTML واحد يحتوي على جميع الملفات، الصور، CSS، والخطوط، جاهز للاستخدام دون اتصال أو كمرفق بريد إلكتروني.
الخطوة 1: تحديد دليل الإخراج
Path outputDirectory = Utils.getOutputDirectoryPath("YOUR_OUTPUT_DIRECTORY");
الخطوة 2: تعيين اسم الملف للإخراج صفحة واحدة
Path pageFilePathFormat = outputDirectory.resolve("RAR_result.html");
الخطوة 3: تهيئة المشاهد
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_RAR_WITH_FOLDERS)) {
// Further configuration steps follow
}
الخطوة 4: تكوين خيارات العرض (تضمين الموارد html)
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
الخطوة 5: العرض كصفحة واحدة
options.setRenderToSinglePage(true);
viewer.view(options);
كيفية تحويل الأرشيفات إلى html متعدد الصفحات وتعيين عدد العناصر لكل صفحة
تدعم فئة HtmlViewOptions أيضًا الترقيم. عبر استدعاء options.setItemsPerPage(N)، تُخبر المشاهد بتقسيم الأرشيف إلى عدة ملفات HTML، كل منها يعرض حتى N إدخالات. يحسن هذا من سرعة التنقل للأرشيفات الكبيرة مع الحفاظ على خفة كل صفحة.
Direct answer: استخدم HtmlViewOptions.forEmbeddedResources()، استدعِ options.setItemsPerPage(N)، وعرض الأرشيف. سيولد المشاهد ملفات HTML منفصلة—واحدة لكل صفحة—كل منها يحتوي على ما يصل إلى N إدخالات، مما يسرّع التنقل في الأرشيفات الكبيرة.
الخطوة 1: إعادة استخدام دليل الإخراج
Path outputDirectory = Utils.getOutputDirectoryPath("YOUR_OUTPUT_DIRECTORY");
الخطوة 2: تحديد تنسيق اسم الملف للصفحات المتعددة
Path pageFilePathFormat = outputDirectory.resolve("RAR_result_page_{0}.html");
الخطوة 3: تهيئة المشاهد مرة أخرى
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_RAR_WITH_FOLDERS)) {
// Continue with multi‑page configuration
}
الخطوة 4: تكوين خيارات متعددة الصفحات (تضمين الموارد html)
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
الخطوة 5: تعيين عدد العناصر لكل صفحة (الكلمة المفتاحية الأساسية في الإجراء)
options.setItemsPerPage(20); // كيفية تحويل أرشيفات zip مع 20 مدخلًا لكل صفحة
options.getArchiveOptions().setItemsPerPage(10); // Default is 16
viewer.view(options);
التطبيقات العملية
- أنظمة إدارة المستندات: إضافة وظيفة معاينة الأرشيفات دون تثبيت عارضات إضافية.
- بوابات الويب: تقديم طريقة سريعة للمستخدمين لاستكشاف المستندات المجمعة دون تحميل.
- أدوات التعاون: تمكين الفرق من فحص الأرشيفات المشتركة مباشرةً في المتصفح.
اعتبارات الأداء
- إدارة الموارد: حافظ على انخفاض استهلاك الذاكرة بمعالجة الأرشيفات عبر التدفقات؛ يمكن للمشاهد التعامل مع أرشيفات تصل إلى 500 ميغابايت دون تحميل الملف بالكامل في الذاكرة.
- تحويل دفعي للأرشيفات: كرّر العملية عبر قائمة من ملفات الأرشيف واستدعِ نفس منطق العرض لتعظيم الإنتاجية.
- استراتيجية التخزين المؤقت: احفظ HTML المُحوَّل في ذاكرة مؤقتة إذا تم الوصول إلى نفس الأرشيف بشكل متكرر، مما يقلل وقت المعالجة المتكرر حتى 70 %.
الأسئلة المتكررة
س: ما هو GroupDocs.Viewer Java؟
ج: GroupDocs.Viewer Java هي مكتبة خادم تُحوِّل أكثر من 50 تنسيق مستند وأرشيف — بما في ذلك ZIP وRAR — إلى HTML أو PDF أو ملفات صور دون الحاجة لتطبيقات خارجية.
س: كيف يمكنني الحصول على تجربة مجانية من GroupDocs.Viewer؟
ج: زر free trial link للتحميل والتجربة.
س: هل يمكنني تحويل أنواع مستندات أخرى غير الأرشيفات؟
ج: نعم، يدعم المشاهد ملفات PDF وWord وExcel وPowerPoint وأكثر من 35 تنسيقًا إضافيًا.
س: ماذا أفعل إذا كان العرض بطيئًا؟
ج: قلل عدد العناصر لكل صفحة، فعّل التدفق، أو عالج الأرشيفات على دفعات أصغر لتحسين السرعة.
س: أين يمكنني الحصول على مساعدة أو دعم؟
ج: تواصل عبر support forum.
س: هل يمكن تضمين CSS والصور مباشرة في HTML؟
ج: بالتأكيد — استخدم HtmlViewOptions.forEmbeddedResources كما هو موضح في الأمثلة.
س: كيف أقوم بتحويل دفعي لمجلد من الأرشيفات؟
ج: كرّر عبر كل ملف باستخدام حلقة for، مع تطبيق نفس تكوين Viewer وHtmlViewOptions لكل تكرار.
س: أين يمكنني مناقشة المشكلات مع مستخدمين آخرين؟
ج: زر GroupDocs forum للمناقشات المجتمعية.
الموارد
- Documentation: استكشف المزيد من الوظائف عبر GroupDocs documentation.
- API reference: تصفح API الكامل على GroupDocs API.
- Download: احصل على أحدث الثنائيات من download page.
- Purchase and licensing: راجع الخيارات على purchase page.
- Support and community: انضم إلى المناقشات عبر support forum.
- GroupDocs forum: احصل على مساعدة المجتمع في GroupDocs forum.
آخر تحديث: 2026-10-10
Tested With: GroupDocs.Viewer 25.2
Author: GroupDocs