Перетворення складних 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 для цього методу доступне в Aspose.Cells API Reference.

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‑вимірної книги 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 дозволяють контролювати розмір і продуктивність. Не забудьте отримати належну ліцензію для використання у продакшн‑середовищі; деталі ціноутворення доступні на сторінці продукту, а тимчасову ліцензію можна отримати на temporary license page. З цими знаннями ви готові інтегрувати конвертацію 3D у PDF у ваші Java‑додатки та надавати користувачам відшліфовані звіти.

FAQs

  • Як реалізувати конвертацію 3D у PDF у Java за допомогою Aspose.Cells?
    Використовуйте SDK для завантаження вашого файлу XLSX, налаштуйте PdfSaveOptions, викличте postWorkbookSaveAs і завантажте отриманий PDF. Повний приклад коду в цій статті показує точну послідовність.

  • Чи існує спосіб виконати конвертацію 3D діаграми у PDF на Java без написання коду?
    Так, REST API та надані команди cURL дозволяють досягти того ж результату з будь‑якої платформи, яка може виконувати HTTP‑запити.

  • У чому різниця між конвертацією PDF з 3D візуалізацією та стандартною конвертацією Excel у PDF?
    3D візуалізації вимагають додаткового рендерингу об’єктів діаграм, який SDK виконує автоматично. Стандартна конвертація може пропускати ці кроки 3D рендерингу, що призводить до відсутності графіки.

  • Чи можу я використовувати той самий робочий процес для конвертації Excel у PDF на Java для не‑3D робочих книг?
    Абсолютно. Ті ж API‑виклики працюють з будь‑яким файлом Excel; ви просто пропускаєте або коригуєте специфічні для 3D параметри, якщо вони не потрібні.

Читати далі