Конвертація 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
Для повного списку параметрів перегляньте офіційну документацію API.
Встановлення та налаштування 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 для повного списку.
Поліпшення швидкості конвертації та використання пам’яті
- Stream Worksheets - Обробляйте один лист за раз, увімкнувши асинхронний режим; це запобігає завантаженню всього робочого зошита в пам’ять.
- Adjust Resolution - Використовуйте найнижчу прийнятну роздільну здатність DPI для вашого випадку; 150‑200 DPI зазвичай достатньо для веб‑попереднього перегляду.
- Batch Requests - При конвертації багатьох файлів надсилайте їх у паралельних пакетах, обмежених потужністю CPU та мережею вашого сервера.
- Reuse 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 повертає ідентифікатор завдання, що дозволяє перевіряти статус і завантажувати результати пізніше.
Чи потрібна мені спеціальна ліцензія для використання функцій конвертації у продакшн?
Для використання у продакшн потрібна дійсна ліцензія GroupDocs.Conversion Cloud. Ви можете розпочати з тимчасової ліцензії на сторінці тимчасової ліцензії перед придбанням повної підписки.
