تحويل XLSX إلى JPG في Java هو حاجة شائعة عندما تريد عرض بيانات الجداول كصور. يقدم GroupDocs.Conversion Cloud SDK for Java مكتبة بسيطة تعتمد على REST تتيح لك تحويل أوراق Excel مباشرة إلى ملفات JPG. يوضح هذا الدليل الإعداد المطلوب، ويعرض مثالًا كاملاً للكود، ويظهر المعالجة غير المتزامنة باستخدام cURL، ويقدم نصائح أداء للتعامل مع دفاتر العمل الكبيرة.
خطوات تحويل XLSX إلى JPG في Java
- إضافة تبعية Maven: تضمين SDK في ملف
pom.xmlبحيث تكون المكتبة متاحة أثناء التجميع.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- تهيئة عميل التحويل: إنشاء مثال من
ConversionApiباستخدام بيانات اعتماد العميل الخاصة بك.
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(new ApiClient(config));
- تكوين خيارات التحويل: حدد تنسيق الإخراج إلى JPG، اختر دقةً، وقم بتمكين المعالجة غير المتزامنة إذا رغبت.
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;
JpgConvertOptions jpgOptions = new JpgConvertOptions();
jpgOptions.setResolution(300); // 300 DPI for high quality
jpgOptions.setQuality(90); // JPEG quality 0‑100
jpgOptions.setAsync(true); // Enable async conversion
ConvertOptions options = new ConvertOptions();
options.setOutputFormat("JPG");
options.setJpgOptions(jpgOptions);
- تنفيذ التحويل: إنشاء
ConvertDocumentRequestمع ملف XLSX المصدر والخيارات، ثم استدعاء API.
import java.io.File;
File sourceFile = new File("sample.xlsx");
ConvertDocumentRequest request = new ConvertDocumentRequest(sourceFile, options);
String jobId = conversionApi.convertDocument(request);
System.out.println("Conversion started, job ID: " + jobId);
- تنزيل النتيجة: استعلام حالة المهمة حتى تكتمل، ثم تنزيل كل ملف JPG تم إنشاؤه.
import com.groupdocs.conversion.cloud.model.JobStatus;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;
while (true) {
JobStatusResponse statusResponse = conversionApi.getJobStatus(jobId);
JobStatus status = statusResponse.getStatus();
if (status == JobStatus.COMPLETED) break;
Thread.sleep(2000); // wait 2 seconds before next poll
}
conversionApi.downloadResult(jobId, new File("output/"));
System.out.println("JPG files saved to output folder.");
لمزيد من التفاصيل حول كائنات الطلب، راجع مرجع API.
إنشاء JPG من XLSX في Java - مثال كامل للكود
يوضح هذا المثال تحويلًا كاملاً من البداية إلى النهاية يقوم بتحميل دفتر عمل XLSX، ويحول كل ورقة عمل إلى صورة JPG منفصلة، ويحفظ الصور محليًا.
package com.example.conversion;
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.client.ApiClient;
import com.groupdocs.conversion.cloud.configuration.Configuration;
import com.groupdocs.conversion.cloud.model.requests.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertOptions;
import com.groupdocs.conversion.cloud.model.JpgConvertOptions;
import com.groupdocs.conversion.cloud.model.responses.JobStatusResponse;
import com.groupdocs.conversion.cloud.model.JobStatus;
import java.io.File;
public class XlsxToJpgDemo {
public static void main(String[] args) throws Exception {
// 1. Configure client
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
ConversionApi api = new ConversionApi(new ApiClient(config));
// 2. Prepare conversion options
JpgConvertOptions jpgOpts = new JpgConvertOptions();
jpgOpts.setResolution(300);
jpgOpts.setQuality(90);
jpgOpts.setAsync(true); // async conversion
ConvertOptions convOpts = new ConvertOptions();
convOpts.setOutputFormat("JPG");
convOpts.setJpgOptions(jpgOpts);
// 3. Create request
File source = new File("input/sample.xlsx");
ConvertDocumentRequest request = new ConvertDocumentRequest(source, convOpts);
// 4. Start conversion
String jobId = api.convertDocument(request);
System.out.println("Job started, ID: " + jobId);
// 5. Wait for completion
while (true) {
JobStatusResponse statusResp = api.getJobStatus(jobId);
if (statusResp.getStatus() == JobStatus.COMPLETED) break;
Thread.sleep(2000);
}
// 6. Download JPG files
api.downloadResult(jobId, new File("output/"));
System.out.println("Conversion finished. JPG files are in the output folder.");
}
}
ملاحظة: هذا المثال البرمجي يوضح الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث مسارات الملفات (
input/sample.xlsx,output/) لتتناسب مع المواقع الفعلية لديك، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
تحويل Excel إلى صورة باستخدام cURL
توضح أوامر cURL التالية كيفية إجراء نفس تحويل XLSX إلى JPG باستخدام REST API. استبدل القيم النائبة ببيانات الاعتماد الفعلية وأسماء الملفات الخاصة بك.
- الحصول على رمز الوصول
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
- تحميل ملف XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- بدء التحويل غير المتزامن
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceFilePath": "sample.xlsx",
"outputFormat": "JPG",
"options": {
"resolution": 300,
"quality": 90,
"async": true
}
}'
- تحقق من حالة المهمة (استبدل
JOB_IDبالقيمة التي تم إرجاعها من الخطوة السابقة)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- تنزيل ملفات JPG الناتجة
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
للحصول على قائمة كاملة بالمعلمات، راجع الوثائق الرسمية لواجهة برمجة التطبيقات.
تثبيت وتكوين GroupDocs.Conversion Cloud SDK for Java
أضف SDK إلى مشروعك باستخدام Maven، ثم قم بتكوين بيانات اعتماد العميل الخاصة بك.
# Add the dependency (already shown in the Steps section)
mvn install com.groupdocs:groupdocs-conversion-cloud
// Example configuration (same as in the Steps section)
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
يمكنك تنزيل أحدث ملفات JAR من صفحة التحميل.
خيارات التحويل من XLSX إلى JPG
تتيح لك عدة خيارات ضبط الصور المُولَّدة بدقة.
| الخيار | الوصف | مثال |
|---|---|---|
| الدقة | دقة الصورة (DPI) الناتجة. القيم الأعلى تحسن الجودة ولكنها تزيد حجم الملف. | jpgOpts.setResolution(300); |
| الجودة | JPEG مستوى ضغط (0‑100). | jpgOpts.setQuality(90); |
| نطاق الصفحات | تحويل أوراق العمل المحددة فقط. | jpgOpts.setPageRange("1-3"); |
| غير متزامن | تشغيل التحويل في الخلفية والاستعلام عن الانتهاء. | jpgOpts.setAsync(true); |
كل خاصية هي جزء من JpgConvertOptions في SDK. راجع مرجع API للحصول على القائمة الكاملة.
تحسين سرعة التحويل واستخدام الذاكرة
- تدفق أوراق العمل - معالجة ورقة عمل واحدة في كل مرة عن طريق تمكين الوضع غير المتزامن؛ هذا يمنع تحميل المصنف بالكامل في الذاكرة.
- ضبط الدقة - استخدم أقل قيمة DPI مقبولة لحالتك؛ 150‑200 DPI غالبًا ما تكون كافية للمعاينات على الويب.
- طلبات الدفعات - عند تحويل العديد من الملفات، أرسلها في دفعات متوازية محدودة بقدرة وحدة المعالجة المركزية والشبكة في الخادم الخاص بك.
- إعادة استخدام ApiClient - أنشئ نسخة واحدة من
ConversionApiوأعد استخدامها عبر تحويلات متعددة لتجنب عبء المصادقة المتكرر.
يمكن أن يؤدي تطبيق هذه النصائح إلى تقليل وقت التحويل بنسبة تصل إلى 40 % لملفات Excel الكبيرة.
الخلاصة
تحويل XLSX إلى JPG في Java يصبح بسيطًا مع GroupDocs.Conversion Cloud SDK for Java. باتباع الخطوات المذكورة أعلاه، يمكنك تصيير كل ورقة عمل كصورة JPG عالية الجودة، والاستفادة من المعالجة غير المتزامنة لتحسين القابلية للتوسع، وتطبيق تحسينات الأداء على دفاتر العمل الكبيرة. تذكر الحصول على ترخيص مناسب للنشر في بيئة الإنتاج؛ تفاصيل التسعير متوفرة على صفحة المنتج، ويمكنك البدء بـ رخصة مؤقتة لتقييم المكتبة. دمج هذه القدرة في تطبيقاتك لتوفير معاينات بصرية سريعة لبيانات Excel دون الاعتماد على تثبيتات Office على جانب العميل.
الأسئلة الشائعة
كيف يمكنني إجراء تحويل XLSX إلى JPG في Java باستخدام GroupDocs؟
استخدم الفئة ConversionApi لتحميل ملف XLSX، واضبط JpgConvertOptions (الدقة، الجودة، غير المتزامن)، ثم استدعِ convertDocument. تُعيد SDK معرف وظيفة يمكنك الاستعلام عنه حتى تصبح ملفات JPG جاهزة.
هل يمكنني تحويل دفاتر Excel الكبيرة دون نفاد الذاكرة؟
نعم. قم بتمكين التحويل غير المتزامن وتعيين دقة معقولة. يقوم SDK بمعالجة أوراق العمل بشكل متسلسل، مما يحافظ على انخفاض استهلاك الذاكرة.
هل يتم دعم التحويل غير المتزامن من XLSX إلى JPG؟
توفر الـ SDK علامة async في JpgConvertOptions. عند تعيينها إلى true، تُعيد الـ API معرف وظيفة (job ID)، مما يتيح لك التحقق من الحالة وتنزيل النتائج لاحقًا.
هل أحتاج إلى ترخيص خاص لاستخدام ميزات التحويل في الإنتاج؟
يتطلب الاستخدام في الإنتاج ترخيصًا صالحًا لـ GroupDocs.Conversion Cloud. يمكنك البدء بترخيص مؤقت من صفحة صفحة الترخيص المؤقت قبل شراء اشتراك كامل.
