تبدیل نمودارهای پیچیدهٔ 3D از یک کتاب‌کار Excel به یک فایل PDF قابل حمل، نیاز مکرری برای گزارش‌گیری و به‌اشتراک‌گذاری داده‌های بصری است. Aspose.Cells Cloud SDK for Java کتابخانهٔ قدرتمند مبتنی بر ابر را فراهم می‌کند که این کار را برای توسعه‌دهندگان جاوا ساده می‌سازد. در این راهنما، فرآیند کامل تبدیل 3D به PDF در جاوا را از آماده‌سازی محیط تا دریافت سند نهایی مرور می‌کنیم. شما یک مرور دقیق کد، یک مثال کامل، و دستورات معادل cURL برای یکپارچه‌سازی REST API را خواهید دید.

راه‌اندازی Aspose.Cells Cloud SDK برای 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 در جاوا - راهنمای گام‌به‌گام

مرحله 1: بارگذاری کتاب کار Excel در ذخیره‌سازی ابری

ابتدا فایل XLSX که شامل نمودارهای 3D است را بارگذاری کنید. FilesApi بارگذاری را مدیریت می‌کند.

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

مرحله ۲: آماده‌سازی گزینه‌های ذخیره PDF

خروجی PDF را با فعال‌سازی کش‌کردن فونت، فشرده‌سازی تصویر و بهینه‌سازی حافظه تنظیم دقیق کنید. این گزینه‌ها به حفظ اندازه کوچک PDF در حالی که کیفیت بصری 3D را حفظ می‌کند، کمک می‌کنند.

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

گام 3: تبدیل Workbook به PDF

Call the postWorkbookSaveAs method of CellsApi to perform the conversion. The API reference for this method is available in the 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);

پیاده‌سازی کامل جاوا برای تبدیل 3D به PDF - مثال کامل کد

مثال زیر تبدیل انتها به انتهای یک کتاب‌کار 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 است که در تماس‌های بعدی استفاده خواهید کرد.

۲. بارگذاری فایل 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
         }'

۴. 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 در جاوا را بدون نوشتن هیچ کدی در جاوا انجام می‌دهند. برای جزئیات بیشتر، به مستندات رسمی API مراجعه کنید.

نتیجه‌گیری

با دنبال کردن مراحل بالا، می‌توانید به‌صورت قابل‌اعتماد کتاب‌های کار 3D اکسل را به فایل‌های PDF با کیفیت بالا تبدیل کنید با استفاده از Aspose.Cells Cloud SDK for Java. این کتابخانه بار سنگین رندر نمودارهای 3D را بر عهده می‌گیرد، در حالی که گزینه‌های ذخیره PDF به شما امکان کنترل اندازه و عملکرد را می‌دهند. به‌خاطر داشته باشید که برای استفاده در تولید، یک لایسنس مناسب تهیه کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید یک لایسنس موقت را از صفحه مجوز موقت دریافت کنید. با این دانش، آماده‌اید تا تبدیل 3D به PDF را در برنامه‌های Java خود یکپارچه کنید و گزارش‌های صیقلی به کاربران نهایی ارائه دهید.

سوالات متداول

  • چگونه تبدیل 3D به PDF را در جاوا با Aspose.Cells پیاده‌سازی کنم؟
    از SDK برای بارگذاری فایل XLSX خود استفاده کنید، PdfSaveOptions را پیکربندی کنید، postWorkbookSaveAs را فراخوانی کنید و PDF تولید شده را دانلود کنید. نمونه کد کامل در این مقاله توالی دقیق را نشان می‌دهد.

  • آیا راهی برای انجام تبدیل PDF نمودار 3D در جاوا بدون نوشتن کد وجود دارد؟
    بله، API REST و دستورات cURL ارائه شده به شما امکان می‌دهند تا همان نتیجه را از هر پلتفرمی که می‌تواند درخواست‌های HTTP ارسال کند، به دست آورید.

  • تفاوت بین تبدیل PDF با تجسم سه‌بعدی و تبدیل استاندارد Excel به PDF چیست؟
    تجسم‌های سه‌بعدی نیاز به رندر اضافی اشیای نمودار دارند که SDK به‌صورت خودکار آن را مدیریت می‌کند. تبدیل استاندارد ممکن است این مراحل رندر سه‌بعدی را نادیده بگیرد و منجر به گرافیک‌های گمشده شود.

  • آیا می‌توانم از همان جریان کار برای تبدیل Excel به PDF در جاوا برای کتاب‌کارهای غیر‑3D استفاده کنم؟
    مطمئناً. همان فراخوانی‌های API برای هر فایل Excel کار می‌کنند؛ شما به سادگی گزینه‌های خاص 3D را که لازم نیستند حذف یا تنظیم می‌کنید.

Read More