Chuyển đổi các biểu đồ 3D phức tạp từ một sổ làm việc Excel sang tệp PDF di động là một nhu cầu thường gặp cho việc báo cáo và chia sẻ dữ liệu trực quan. Aspose.Cells Cloud SDK for Java cung cấp một thư viện dựa trên đám mây mạnh mẽ giúp đơn giản hoá công việc này cho các nhà phát triển Java. Trong hướng dẫn này, chúng tôi sẽ đi qua toàn bộ quy trình chuyển đổi 3D sang PDF trong Java, từ việc chuẩn bị môi trường đến việc lấy tài liệu cuối cùng. Bạn sẽ thấy một hướng dẫn chi tiết về mã, một ví dụ hoàn chỉnh, và các lệnh cURL tương đương cho việc tích hợp REST API.

Cài đặt Aspose.Cells Cloud SDK for Java

Trước khi bắt đầu, hãy chắc chắn rằng bạn có những thứ sau:

  • Java 17 hoặc mới hơn đã được cài đặt.
  • Maven hoặc Gradle để quản lý phụ thuộc.
  • Một tài khoản Aspose Cloud với Client IdClient Secret.
  • Truy cập internet để gọi dịch vụ đám mây.

Thêm SDK vào dự án của bạn bằng phụ thuộc Maven được hiển thị bên dưới và tải xuống JAR mới nhất từ trang tải xuống chính thức.

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells-cloud</artifactId>
    <version>26.7</version>
</dependency>

Bạn cũng có thể tải thư viện trực tiếp từ URL tải xuống.

Cấu hình client với thông tin xác thực của bạn. Đoạn mã này được lấy trực tiếp từ ví dụ đầy đủ.

Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default

Với cấu hình đã được thiết lập, bạn đã sẵn sàng bắt đầu quy trình chuyển đổi.

Chuyển đổi 3D sang PDF trong Java - Hướng dẫn từng bước

Bước 1: Tải lên sổ làm việc Excel lên lưu trữ đám mây

Đầu tiên, tải lên tệp XLSX chứa các biểu đồ 3D. FilesApi xử lý việc tải lên.

FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
    System.err.println("Upload failed.");
    return;
}

Bước 2: Chuẩn bị tùy chọn lưu PDF

Tinh chỉnh đầu ra PDF bằng cách bật bộ nhớ đệm phông chữ, nén hình ảnh và tối ưu hóa bộ nhớ. Các tùy chọn này giúp giữ kích thước PDF thấp đồng thời duy trì chất lượng hình ảnh 3D.

PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);

Bước 3: Chuyển đổi Workbook sang PDF

Gọi phương thức postWorkbookSaveAs của CellsApi để thực hiện việc chuyển đổi. Tham chiếu API cho phương thức này có sẵn trong Tham chiếu 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)

Bước 4: Tải xuống PDF kết quả

Sau khi chuyển đổi thành công, tải xuống các byte PDF và ghi chúng vào một tệp cục bộ.

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);

Bước 5: Dọn dẹp tùy chọn

Xóa các tệp tạm thời khỏi lưu trữ đám mây để giữ tài khoản của bạn gọn gàng.

filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);

Triển khai Java đầy đủ cho chuyển đổi 3D sang PDF - Ví dụ mã hoàn chỉnh

Ví dụ sau đây trình bày quá trình chuyển đổi đầu‑cuối một workbook Excel 3D sang PDF bằng 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) {
            }
        }
    }
}

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (input.xlsx, output.pdf, v.v.) cho phù hợp với vị trí tệp thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển của bạn. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Chuyển đổi API REST bằng cURL sử dụng Aspose.Cells Cloud

Nếu bạn muốn một cách tiếp cận không phụ thuộc vào ngôn ngữ, việc chuyển đổi tương tự có thể được thực hiện bằng các lệnh cURL đơn giản đối với Aspose.Cells Cloud REST API.

1. Xác thực và nhận token truy cập

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"

Phản hồi chứa một access_token mà bạn sẽ sử dụng trong các cuộc gọi tiếp theo.

2. Tải lên tệp XLSX nguồn

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. Chuyển đổi sổ làm việc sang 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. Tải xuống PDF đã tạo

curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

Các lệnh này thực hiện cùng một quy trình chuyển đổi 3D sang PDF trong Java mà không cần viết bất kỳ mã Java nào. Để biết thêm chi tiết, xem tài liệu API chính thức.

Kết luận

Bằng cách làm theo các bước ở trên, bạn có thể chuyển đổi một cách đáng tin cậy các sổ làm việc Excel 3D thành các tệp PDF chất lượng cao bằng cách sử dụng Aspose.Cells Cloud SDK for Java. Thư viện xử lý phần nặng của việc hiển thị các biểu đồ 3D, trong khi các tùy chọn lưu PDF cho phép bạn kiểm soát kích thước và hiệu năng. Hãy nhớ đảm bảo có giấy phép phù hợp cho việc sử dụng trong môi trường sản xuất; chi tiết giá cả có sẵn trên trang sản phẩm và bạn có thể nhận giấy phép tạm thời từ trang giấy phép tạm thời. Với kiến thức này, bạn đã sẵn sàng tích hợp chuyển đổi 3D sang PDF vào các ứng dụng Java của mình và cung cấp các báo cáo được hoàn thiện cho người dùng cuối.

FAQs

  • Làm thế nào để tôi thực hiện chuyển đổi 3D sang PDF trong Java với Aspose.Cells?
    Sử dụng SDK để tải lên tệp XLSX của bạn, cấu hình PdfSaveOptions, gọi postWorkbookSaveAs, và tải xuống PDF kết quả. Mẫu mã đầy đủ trong bài viết này cho thấy trình tự chính xác.

  • Có cách nào thực hiện chuyển đổi PDF biểu đồ 3D trong Java mà không cần viết mã không?
    Có, REST API và các lệnh cURL được cung cấp cho phép bạn đạt được kết quả tương tự từ bất kỳ nền tảng nào có thể thực hiện các yêu cầu HTTP.

  • Sự khác nhau giữa chuyển đổi PDF với trực quan hoá 3D và chuyển đổi tiêu chuẩn từ Excel sang PDF là gì?
    Trực quan hoá 3D yêu cầu việc render thêm các đối tượng biểu đồ, mà SDK sẽ tự động xử lý. Quá trình chuyển đổi tiêu chuẩn có thể bỏ qua các bước render 3D này, dẫn đến thiếu đồ họa.

  • Tôi có thể sử dụng cùng một quy trình làm việc cho việc chuyển đổi Excel sang PDF bằng Java cho các workbook không phải 3D không?
    Hoàn toàn có thể. Các cuộc gọi API giống nhau hoạt động với bất kỳ tệp Excel nào; bạn chỉ cần bỏ qua hoặc điều chỉnh các tùy chọn đặc thù cho 3D nếu không cần thiết.

Đọc Thêm