Konwersja XLSX do JPG w Javie jest powszechną potrzebą, gdy chcesz wyświetlić dane arkusza kalkulacyjnego jako obrazy. GroupDocs.Conversion Cloud SDK for Java oferuje prostą bibliotekę opartą na REST, która umożliwia renderowanie arkuszy Excel bezpośrednio do plików JPG. Ten przewodnik przeprowadzi Cię przez wymagane ustawienia, pokaże kompletny przykład kodu, zademonstruje asynchroniczne przetwarzanie przy użyciu cURL oraz dostarczy wskazówek dotyczących wydajności przy obsłudze dużych skoroszytów.
Kroki konwersji XLSX do JPG w Javie
- Dodaj zależność Maven: Dołącz SDK do swojego
pom.xml, aby biblioteka była dostępna w czasie kompilacji.
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
- Zainicjuj klienta konwersji: Utwórz instancję
ConversionApiprzy użyciu swoich danych uwierzytelniających klienta.
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));
- Skonfiguruj opcje konwersji: Ustaw format wyjściowy na JPG, wybierz rozdzielczość i włącz przetwarzanie asynchroniczne, jeśli jest to potrzebne.
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);
- Wykonaj konwersję: Utwórz
ConvertDocumentRequestz plikiem źródłowym XLSX i opcjami, a następnie wywołaj 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);
- Pobierz wynik: Sprawdzaj status zadania, aż zostanie zakończone, a następnie pobierz każdy wygenerowany plik 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.");
Aby uzyskać więcej informacji o obiektach żądania, zobacz odniesienie API.
Generowanie JPG z XLSX w Javie - Pełny przykład kodu
Ten przykład demonstruje pełną konwersję end‑to‑end, która ładuje skoroszyt XLSX, konwertuje każdy arkusz na osobny plik JPG i zapisuje obrazy lokalnie.
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.");
}
}
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś ścieżki plików (
input/sample.xlsx,output/), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w swoim środowisku programistycznym. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Konwertowanie Excela na obraz przy użyciu cURL
Poniższe polecenia cURL ilustrują, jak wykonać tę samą konwersję XLSX na JPG przy użyciu interfejsu REST API. Zamień wartości zastępcze na swoje rzeczywiste poświadczenia i nazwy plików.
- Uzyskaj token dostępu
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"}'
- Prześlij plik XLSX
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.xlsx"
- Rozpocznij konwersję asynchroniczną
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
}
}'
- Sprawdź status zadania (zamień
JOB_IDna wartość zwróconą w poprzednim kroku)
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
- Pobierz wynikowe pliki JPG
curl -X GET "https://api.groupdocs.cloud/v1.0/conversion/jobs/JOB_ID/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.zip
Aby uzyskać pełną listę parametrów, zobacz oficjalną dokumentację API.
Instalowanie i konfigurowanie GroupDocs.Conversion Cloud SDK for Java
Dodaj SDK do swojego projektu przy użyciu Maven, a następnie skonfiguruj poświadczenia klienta.
# 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");
Możesz pobrać najnowsze pliki JAR ze strony pobierania.
Opcje konwersji XLSX do JPG
Kilka opcji pozwala precyzyjnie dostosować wygenerowane obrazy.
| Opcja | Opis | Przykład |
|---|---|---|
| Rozdzielczość | DPI obrazu wyjściowego. Wyższe wartości poprawiają jakość, ale zwiększają rozmiar pliku. | jpgOpts.setResolution(300); |
| Jakość | poziom kompresji JPEG (0‑100). | jpgOpts.setQuality(90); |
| Zakres stron | Konwertuj tylko wybrane arkusze. | jpgOpts.setPageRange("1-3"); |
| Async | Uruchom konwersję w tle i sprawdzaj jej zakończenie. | jpgOpts.setAsync(true); |
Każda właściwość jest częścią JpgConvertOptions w SDK. Odwołaj się do referencji API po pełną listę.
Poprawa szybkości konwersji i zużycia pamięci
- Strumieniowanie arkuszy - Przetwarzaj jeden arkusz naraz, włączając tryb asynchroniczny; zapobiega to ładowaniu całego skoroszytu do pamięci.
- Dostosowanie rozdzielczości - Użyj najniższego dopuszczalnego DPI dla swojego przypadku; 150‑200 DPI zazwyczaj wystarcza do podglądów w sieci.
- Partie żądań - Przy konwertowaniu wielu plików wysyłaj je w równoległych partiach ograniczonych mocą CPU i przepustowością sieci serwera.
- Ponowne użycie ApiClient - Utwórz jedną instancję
ConversionApii używaj jej w wielu konwersjach, aby uniknąć powtarzającego się kosztu uwierzytelniania.
Stosowanie tych wskazówek może skrócić czas konwersji nawet o 40 % dla dużych plików Excel.
Podsumowanie
Konwersja XLSX do JPG w Javie staje się prosta dzięki GroupDocs.Conversion Cloud SDK for Java. Postępując zgodnie z powyższymi krokami, możesz renderować każdy arkusz jako wysokiej jakości JPG, wykorzystać przetwarzanie asynchroniczne dla lepszej skalowalności oraz zastosować optymalizacje wydajności dla dużych skoroszytów. Pamiętaj, aby uzyskać odpowiednią licencję do wdrożeń produkcyjnych; szczegóły cenowe są dostępne na stronie produktu, a możesz rozpocząć od tymczasowej licencji, aby ocenić bibliotekę. Zintegruj tę funkcję w swoich aplikacjach, aby zapewnić szybkie podglądy wizualne danych Excel bez konieczności instalacji Office po stronie klienta.
FAQ
Jak wykonać konwersję XLSX do JPG w Javie przy użyciu GroupDocs?
Użyj klasy ConversionApi, aby przesłać plik XLSX, ustaw JpgConvertOptions (rozdzielczość, jakość, asynchronicznie) i wywołaj convertDocument. SDK zwraca identyfikator zadania, który możesz odpytywać, aż pliki JPG będą gotowe.
Czy mogę konwertować duże skoroszyty Excel bez wyczerpania pamięci?
Tak. Włącz konwersję asynchroniczną i ustaw rozsądną rozdzielczość. SDK przetwarza arkusze kolejno, utrzymując niskie zużycie pamięci.
Czy konwersja asynchroniczna jest obsługiwana dla XLSX do JPG?
SDK udostępnia flagę async w JpgConvertOptions. Po ustawieniu na true API zwraca identyfikator zadania, co pozwala sprawdzić status i pobrać wyniki później.
Czy potrzebuję specjalnej licencji, aby używać funkcji konwersji w produkcji?
Wymagana jest ważna licencja GroupDocs.Conversion Cloud do użytku produkcyjnego. Możesz rozpocząć od tymczasowej licencji ze strony tymczasowej licencji przed zakupem pełnej subskrypcji.
