將 Excel 工作簿中的複雜 3D 圖表轉換為可攜式 PDF 檔案是報告與共享視覺資料時常見的需求。Aspose.Cells Cloud SDK for Java 提供了功能強大的雲端庫,為 Java 開發人員簡化此任務。在本指南中,我們將逐步說明在 Java 中完成 3D 到 PDF 轉換的整個流程,從環境準備到取得最終文件。您將看到詳細的程式碼說明、完整範例,以及用於 REST API 整合的等效 cURL 命令。
設定 Aspose.Cells Cloud SDK for Java
開始之前,請確保您具備以下條件:
- 已安裝 Java 17 或更新版本。
- 用於相依性管理的 Maven 或 Gradle。
- 擁有 Client Id 和 Client Secret 的 Aspose Cloud 帳戶。
- 需要能連接網際網路以呼叫雲端服務。
使用以下顯示的 Maven 依賴將 SDK 添加到您的專案,並從官方下載頁面下載最新的 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
在完成配置後,您已準備好開始轉換工作流程。
Java 中的 3D 轉 PDF 轉換 - 步驟式說明
步驟 1:上傳 Excel 工作簿至雲端儲存
首先,上傳包含 3D 圖表的 XLSX 檔案。FilesApi 處理上傳。
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
第 2 步:準備 PDF 保存選項
透過啟用字型快取、影像壓縮與記憶體最佳化,微調 PDF 輸出。這些選項有助於在保持 3D 視覺品質的同時,降低 PDF 檔案大小。
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);
第 3 步:將工作簿轉換為 PDF
呼叫 CellsApi 的 postWorkbookSaveAs 方法以執行轉換。此方法的 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 轉換 - 完整程式碼示例
以下範例示範如何使用 Aspose.Cells Cloud SDK for Java 將 3D Excel 活頁簿端到端轉換為 PDF。
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等)以符合實際檔案位置,驗證所有必要的相依性已正確安裝,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文件或聯繫支援團隊尋求協助。
使用 cURL 的 REST API 轉換 (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 應用程式中,為最終使用者提供精緻的報告。
常見問題
-
如何在 Java 中使用 Aspose.Cells 實作 3D 轉 PDF 轉換?
使用 SDK 上傳您的 XLSX 檔案,設定PdfSaveOptions,呼叫postWorkbookSaveAs,並下載產生的 PDF。本文中的完整程式碼範例展示了確切的步驟。 -
是否有辦法在 Java 中執行 3D 圖表 PDF 轉換而不撰寫程式碼?
是的,提供的 REST API 與 cURL 命令可讓您在任何能發送 HTTP 請求的平台上實現相同的結果。 -
什麼是 3D 可視化 PDF 轉換與標準 Excel 轉 PDF 之間的差異?
3D 可視化需要額外渲染圖表物件,SDK 會自動處理。標準轉換可能會跳過這些 3D 渲染步驟,導致圖形缺失。 -
我可以對非‑3D 工作簿使用相同的 java Excel 轉 PDF 工作流程嗎?
當然。相同的 API 呼叫適用於任何 Excel 檔案;如果不需要 3D‑特定選項,只需省略或調整它們。