Преобразование сложных 3D диаграмм из книги Excel в портативный файл PDF часто требуется для составления отчетов и обмена визуальными данными. Aspose.Cells Cloud SDK for Java предоставляет мощную облачную библиотеку, упрощающую эту задачу для разработчиков на Java. В этом руководстве мы пошагово рассмотрим весь процесс конвертации 3D в PDF на Java, от подготовки среды до получения окончательного документа. Вы увидите подробный разбор кода, полный пример и эквивалентные команды cURL для интеграции REST API.
Настройка Aspose.Cells Cloud SDK для Java
Прежде чем начать, убедитесь, что у вас есть следующее:
- Установлен Java 17 или новее.
- Maven или Gradle для управления зависимостями.
- Учётная запись Aspose Cloud с Client Id и Client Secret.
- Доступ к интернету для облачных вызовов.
Добавьте SDK в ваш проект, используя зависимость Maven, показанную ниже, и загрузите последнюю JAR‑файл со страницы официального скачивания.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.7</version>
</dependency>
Вы также можете получить библиотеку напрямую по URL загрузки.
Настройте клиент с вашими учётными данными. Этот фрагмент взят непосредственно из полного примера.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
С учётом конфигурации вы готовы начать рабочий процесс конвертации.
Конвертация 3D в PDF в Java - Пошаговое руководство
Шаг 1: Загрузите рабочую книгу Excel в облачное хранилище
Сначала загрузите файл XLSX , содержащий 3D‑диаграммы. Загрузка обрабатывается FilesApi.
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
Шаг 2: Подготовьте параметры сохранения PDF
Тонко настройте вывод PDF, включив кэширование шрифтов, сжатие изображений и оптимизацию памяти. Эти параметры помогают сохранять небольшой размер PDF, одновременно сохраняя 3D‑визуальное качество.
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);
Шаг 3: Преобразовать рабочую книгу в PDF
Вызовите метод postWorkbookSaveAs класса CellsApi, чтобы выполнить конвертацию. Справочник API для этого метода доступен в Справочник API Aspose.Cells.
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null); // storage (default)
Шаг 4: Скачайте полученный PDF
После успешного преобразования загрузите байты PDF и запишите их в локальный файл.
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
Шаг 5: Необязательная очистка
Удалите временные файлы из облачного хранилища, чтобы ваш аккаунт оставался аккуратным.
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
Полная реализация на Java для преобразования 3D в PDF — полный пример кода
Следующий пример демонстрирует сквозное преобразование 3‑D Excel‑книги в PDF с использованием Aspose.Cells Cloud SDK for Java.
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.api.FilesApi;
import com.aspose.cloud.cells.client.ApiException;
import com.aspose.cloud.cells.client.Configuration;
import com.aspose.cloud.cells.model.PdfSaveOptions;
import com.aspose.cloud.cells.model.FilesUploadResult;
import com.aspose.cloud.cells.model.WorkbookResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class AsposeCells3DToPdfExample {
public static void main(String[] args) {
// -------------------- Configuration --------------------
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
// -------------------- API Instances --------------------
CellsApi cellsApi = new CellsApi(config);
FilesApi filesApi = new FilesApi(config);
// -------------------- Local & Remote Paths --------------------
String localInputPath = "input.xlsx"; // Excel file containing 3D charts
String remoteInputName = "input.xlsx"; // Name used in cloud storage
String remoteOutputName = "output.pdf"; // Desired PDF name in cloud storage
String localOutputPath = "output.pdf"; // Where to save the downloaded PDF
try {
// -------------------- Upload Excel to Cloud --------------------
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
// -------------------- Prepare PDF Save Options (Performance) --------------------
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true); // Cache fonts for faster processing
pdfOptions.setCompressImages(true); // Compress images to reduce size
pdfOptions.setImageQuality(80); // Balance quality and size
pdfOptions.setEnableMemoryOptimization(true); // Reduce memory footprint
// -------------------- Convert Workbook to PDF --------------------
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null // storage (default)
);
if (convertResponse == null || convertResponse.getCode() != 200) {
System.err.println("Conversion failed.");
return;
}
// -------------------- Download Resulting PDF --------------------
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
} catch (ApiException | IOException e) {
e.printStackTrace();
} finally {
// -------------------- Optional Cleanup --------------------
try {
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
} catch (ApiException ignored) {
}
}
}
}
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
input.xlsx,output.pdfи т.д.), чтобы они соответствовали фактическим расположениям ваших файлов, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.
Конвертация REST API с помощью cURL с использованием Aspose.Cells Cloud
Если вы предпочитаете язык‑независимый подход, то то же преобразование можно выполнить с помощью простых команд cURL к Aspose.Cells Cloud REST API.
1. Аутентифицируйтесь и получите токен доступа
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
Ответ содержит access_token, который вы будете использовать в последующих вызовах.
2. Загрузите исходный файл XLSX
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/input.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@input.xlsx"
3. Преобразовать книгу в PDF
curl -X POST "https://api.aspose.cloud/v3.0/cells/input.xlsx/saveAs/pdf?outputPath=output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"CacheFont": true,
"CompressImages": true,
"ImageQuality": 80,
"EnableMemoryOptimization": true
}'
4. Скачайте сгенерированный PDF
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Эти команды выполняют тот же процесс конвертации 3D в PDF в Java без написания кода на Java. Для получения более подробной информации см. официальную документацию API.
Заключение
Следуя описанным выше шагам, вы можете надёжно преобразовать 3D‑книги Excel в PDF‑файлы высокого качества, используя Aspose.Cells Cloud SDK for Java. Библиотека берёт на себя тяжёлую работу по рендерингу 3D‑диаграмм, а параметры сохранения PDF позволяют контролировать размер и производительность. Не забудьте оформить правильную лицензию для использования в продакшене; детали ценообразования доступны на странице продукта, а временную лицензию можно получить со страницы временной лицензии. Обладая этими знаниями, вы готовы интегрировать конвертацию 3D в PDF в свои Java‑приложения и предоставлять пользователям готовые отчёты.
FAQs
-
Как реализовать конвертацию 3D в PDF в Java с Aspose.Cells?
Используйте SDK для загрузки вашего файла XLSX, настройтеPdfSaveOptions, вызовитеpostWorkbookSaveAsи загрузите полученный PDF. Полный пример кода в этой статье показывает точную последовательность. -
Есть ли способ выполнить конвертацию 3D Diagram PDF в Java без написания кода?
Да, REST API и предоставленные команды cURL позволяют достичь того же результата с любой платформы, способной выполнять HTTP‑запросы. -
В чем разница между конвертацией PDF с 3D визуализацией и стандартной конвертацией Excel в PDF?
3D визуализации требуют дополнительного рендеринга объектов диаграмм, который SDK обрабатывает автоматически. При стандартной конвертации эти шаги 3D рендеринга могут быть пропущены, что приводит к отсутствию графики. -
Могу ли я использовать тот же рабочий процесс для java Excel в PDF конвертации книг без 3‑D?
Абсолютно. Те же вызовы API работают с любым файлом Excel; вы просто опускаете или корректируете параметры, специфичные для 3‑D, если они не нужны.