إنشاء صورة مصغرة لجدول بيانات Java باستخدام GroupDocs.Parser

إذا كنت تبحث عن إنشاء صورة مصغرة لجدول بيانات Java، فقد وصلت إلى المكان الصحيح. في هذا الدليل سنستعرض كيفية إنشاء معاينات PNG عالية الجودة من دفاتر العمل .xlsx باستخدام GroupDocs.Parser للـ Java — مثالي للصور المصغرة السريعة، مشاركة اللقطات، أو بناء ميزة معاينة المستندات في تطبيقك. يعمل الحل دون الحاجة إلى تثبيت Microsoft Office ويتعامل مع دفاتر عمل كبيرة مع الحفاظ على استهلاك الذاكرة منخفضًا.

إجابات سريعة

  • ماذا يعني “preview Excel”؟ إنشاء ملفات صور (مثل PNG) تمثل كل صفحة من ورقة العمل.
  • ما الصيغة الموصى بها؟ PNG توفر جودة غير مضغوطة وتعمل جيدًا للصور المصغرة على الويب.
  • هل أحتاج إلى ترخيص؟ النسخة التجريبية المجانية تكفي للتطوير؛ يتطلب الترخيص التجاري للإنتاج.
  • هل يمكنني تغيير دقة الصورة؟ نعم — اضبط DPI في PreviewOptions.
  • هل يمكن معاينة صيغ أخرى؟ GroupDocs.Parser يدعم أيضًا PDF و Word والعديد من أنواع الصور.

ما هو “كيفية معاينة Excel” باستخدام GroupDocs.Parser؟

حمّل دفتر عمل Excel الخاص بك وقم بعرض كل ورقة كصورة PNG دون الحاجة إلى Microsoft Office. يقوم GroupDocs.Parser ببث الصفحات واحدة تلو الأخرى، منتجًا صورًا مصغرة غير مضغوطة يمكن حفظها على القرص أو إرجاعها عبر HTTP، مما يجعلها مثالية لخدمات المعاينة عبر الويب.

يقوم GroupDocs.Parser بقراءة دفاتر عمل Excel، ويعرض كل ورقة كصفحة بصرية، ويسمح لك ببث تلك الصفحات إلى ملفات صور. هذا يلغي الحاجة إلى تفاعل Office أو محولات الطرف الثالث.

لماذا نستخدم GroupDocs.Parser لمعالجة معاينات Excel؟

يجب عليك استخدام GroupDocs.Parser لأنه يعمل على أي خادم Java، ولا يحتاج إلى تثبيت Office، ويتعامل مع دفاتر عمل كبيرة بذاكرة منخفضة، وينتج صور PNG غير مضغوطة مع DPI قابل للتكوين. يدعم SDK أكثر من 100 صيغة إدخال وإخراج، ويمكنه معالجة دفتر عمل مكوّن من 200 صفحة في أقل من 3 ثوانٍ، ويحافظ على استهلاك الذاكرة أقل من 50 ميغابايت لكل ورقة.

  • لا يتطلب تثبيت Office – يعمل على أي بيئة Java من جانب الخادم.
  • يدعم الملفات الكبيرة – يبث الصفحات واحدة تلو الأخرى، مما يحافظ على انخفاض استهلاك الذاكرة.
  • إخراج عالي الجودة – تحكم في DPI، الصيغة، وخيارات العرض.
  • مرونة متعددة الصيغ – نفس الـ API يعمل مع PDF، مستندات Word، وأكثر.

المتطلبات المسبقة

  • مجموعة تطوير Java (8 +).
  • بيئة تطوير متكاملة (IDE) مثل IntelliJ IDEA أو Eclipse.
  • GroupDocs.Parser for Java SDK – حمّل من here.
  • الوثائق – راجع documentation.
  • ملف Excel تجريبي (.xlsx) الذي تريد معاينته.
  • Maven أو Gradle (اختياري) لإدارة التبعيات.

استيراد الحزم

تتيح لك هذه الاستيرادات الوصول إلى المحلل، خيارات المعاينة، وأدوات معالجة التدفقات.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PreviewOptions;
import com.groupdocs.parser.options.PreviewFormats;
import com.groupdocs.parser.options.ICreatePageStream;
import com.groupdocs.parser.options.IPreviewPageRender;
import com.groupdocs.parser.results.PageRenderInfo;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.IOException;

دليل خطوة بخطوة لإنشاء معاينات صفحات جدول البيانات

الخطوة 1: تهيئة كائن Parser

Parser هو الفئة الأساسية في GroupDocs.Parser التي توفر وصول قراءة إلى ملفات جداول البيانات وتمكن من العرض حسب الصفحات.
أنشئ كائن Parser يشير إلى دفتر عمل Excel الخاص بك. يضمن كتلة try‑with‑resources إغلاق المحلل تلقائيًا.

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    // Your subsequent code will go here
}

نصيحة احترافية: استخدم مسارًا مطلقًا أو قم بتهيئة مجلد موارد لتجنب FileNotFoundException.

الخطوة 2: إعداد خيارات المعاينة الخاصة بك

PreviewOptions يضبط معلمات العرض مثل صيغة الإخراج و DPI.
ICreatePageStream هي واجهة رد نداء توفر تدفق إخراج لكل صفحة مُولدة. حدد كيفية حفظ كل صفحة. تُعيد تنفيذ ICreatePageStream كائن FileOutputStream جديد لكل صفحة من أوراق العمل.

PreviewOptions previewOptions = new PreviewOptions(new ICreatePageStream() {
    @Override
    public OutputStream createPageStream(int pageNumber) {
        try {
            String outputPath = getOutputPath(pageNumber); // define this method later
            return new FileOutputStream(outputPath);
        } catch (IOException ex) {
            throw new RuntimeException("Error creating output stream", ex);
        }
    }
});

هذه هي الخطوة التي تحول xlsx إلى png — يقوم التدفق بكتابة بيانات PNG إلى القرص.

الخطوة 3: إرفاق مندوب لالتقاط معلومات العرض

إذا كنت بحاجة إلى تفاصيل حول كل ورقة مُعروضة (مثل الأبعاد، اسم الورقة)، سجّل رد نداء.

final PageRenderInfo[] renderInfoHolder = {null}; // to store info

previewOptions.setPreviewPageRender(new IPreviewPageRender() {
    @Override
    public void previewPageRender(PageRenderInfo pageRenderInfo) {
        renderInfoHolder[0] = pageRenderInfo;
    }
});

الخطوة 4: تحديد صيغة الإخراج و DPI

اختر PNG كصيغة الصورة واضبط DPI بحيث يوازن بين الجودة وحجم الملف.

previewOptions.setPreviewFormat(PreviewFormats.Png); // PNG images
previewOptions.setDpi(150); // Higher DPI for better clarity

اضبط DPI إذا كنت تحتاج إلى صور مصغرة أصغر (مثلاً 96) أو طباعة عالية الدقة (مثلاً 300).

الخطوة 5: إنشاء المعاينات

بعد ضبط جميع الإعدادات، استدعِ generatePreview. سيقوم SDK بتكرار كل ورقة عمل واستدعاء التدفق الذي قدمته.

parser.generatePreview(previewOptions);

الخطوة 6: تعريف الدالة المساعدة getOutputPath()

getOutputPath() يبني اسم ملف بناءً على رقم الصفحة (الورقة) ويعيد المسار الكامل لصورة الإخراج. يمكنك تعديل بنية المجلد حسب رغبتك.

private static String getOutputPath(int pageNumber) {
    return "output/preview_page_" + pageNumber + ".png"; // Custom path
}

مشكلة شائعة: نسيان إنشاء مجلد output مسبقًا سيسبب IOException. أنشئه برمجيًا أو تأكد من وجوده.

مثال عملي كامل (مبسط)

فيما يلي نسخة مختصرة تجمع جميع الأجزاء معًا. تُظهر سير عمل إنشاء صورة مصغرة لجدول بيانات Java من البداية إلى النهاية.

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    final PageRenderInfo[] renderInfoHolder = {null};

    PreviewOptions options = new PreviewOptions(new ICreatePageStream() {
        @Override
        public OutputStream createPageStream(int pageNumber) {
            try {
                return new FileOutputStream(getOutputPath(pageNumber));
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    });

    options.setPreviewPageRender(pageRenderInfo -> {
        renderInfoHolder[0] = pageRenderInfo;
    });
    options.setPreviewFormat(PreviewFormats.Png);
    options.setDpi(150);

    parser.generatePreview(options);
} catch (Exception e) {
    e.printStackTrace();
}

شغّل هذا المقتطف، وستجد سلسلة من الملفات preview_page_1.png, preview_page_2.png, … في مجلد output — كل منها يمثل ورقة من دفتر عمل Excel الأصلي.

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

المشكلةالسببالحل
لم يتم إنشاء صورgetOutputPath يُعيد دليلًا غير صالحتأكد من وجود المجلد الهدف أو أنشئه باستخدام new File("output").mkdirs();
خطأ نفاد الذاكرة على ملفات ضخمةتحميل دفتر العمل بالكامل مرة واحدةاستخدم نهج البث (كما هو موضح) وعالج الصفحات واحدة تلو الأخرى
DPI غير صحيحsetDpi لم يتم استدعاؤه أو تم تعيينه إلى القيمة الافتراضية (96)استدعِ previewOptions.setDpi(yourDesiredValue); قبل generatePreview
صيغة غير مدعومةمحاولة معاينة ملف .xlsx تالفتحقق من صحة الملف باستخدام Excel أو استخدم Parser.isSupported قبل المعالجة

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

س: هل يمكنني إنشاء معاينات لملفات PDF والصور باستخدام GroupDocs.Parser؟
ج: نعم، نفس الـ API يعمل مع PDF، مستندات Word، والعديد من صيغ الصور.

س: كيف يمكنني تغيير صيغة صورة الإخراج؟
ج: استدعِ previewOptions.setPreviewFormat(PreviewFormats.Jpeg) (أو Gif، Bmp، إلخ).

س: هل الأداء يمثل مشكلة مع دفاتر عمل كبيرة جدًا؟
ج: يقوم SDK ببث الصفحات، مما يحافظ على انخفاض استهلاك الذاكرة. للملفات الضخمة، فكر في المعالجة على دفعات متوازية.

س: كيف يمكنني التعامل مع الأخطاء أثناء إنشاء المعاينات؟
ج: غلف الكود بكتل try‑catch (كما هو موضح) وسجّل تفاصيل الاستثناء. تأكد من إغلاق التدفقات في كتلة finally إذا لم تستخدم try‑with‑resources.

س: هل تتطلب المكتبة تثبيت Microsoft Office؟
ج: لا. GroupDocs.Parser حل Java نقي ويعمل على أي منصة تدعم Java 8+.


آخر تحديث: 2026-07-16
تم الاختبار مع: GroupDocs.Parser 23.11 (أحدث نسخة عند كتابة هذا)
المؤلف: GroupDocs

دروس ذات صلة