המרת גרפים מורכבים של 3D מגליון Excel לקובץ נייד בפורמט PDF היא צורך נפוץ לדיווח ושיתוף נתונים חזותיים. Aspose.Cells Cloud SDK for Java מספקת ספרייה חזקה מבוססת ענן שמפשטת משימה זו למפתחים ב-Java. במדריך זה נלווה אתכם בתהליך המלא של המרת 3D ל-PDF ב-Java, החל מהכנת הסביבה ועד לקבלת המסמך הסופי. תראו מדריך קוד מפורט, דוגמה מלאה, וכן פקודות cURL מקבילות לשילוב עם REST API.

הגדרת Aspose.Cells Cloud SDK for 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>

אתה יכול גם לקבל את הספרייה ישירות מ-כתובת ההורדה.

הגדר את הלקוח עם האישורים שלך. קטע קוד זה נלקח ישירות מהדוגמה המלאה.

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 שמכיל את התרשימים בתלת‑ממד. ה-FilesApi מטפל בהעלאה.

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

שלב 2: הכנת אפשרויות שמירת PDF

התאם את פלט ה‑PDF על‑ידי הפעלת שמירת גופנים במטמון, דחיסת תמונות ואופטימיזציית זיכרון. אפשרויות אלו מסייעות לשמור על גודל PDF נמוך תוך שמירה על איכות חזותית תלת‑ממדית.

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 - דוגמת קוד מלאה

הדוגמה הבאה מציגה המרה מקצה לקצה של חוברת עבודה של 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 הרשמי.

סיכום

על‑ידי ביצוע השלבים שלמעלה, ניתן באופן אמין להמיר חוברות Excel תלת‑ממדיות לקבצי PDF באיכות גבוהה באמצעות Aspose.Cells Cloud SDK for Java. הספרייה מטפלת בעבודה הכבדה של רינדור דיאגרמות תלת‑ממד, בעוד אפשרויות השמירה ל‑PDF מאפשרות לך לשלוט בגודל ובביצועים. זכור לאבטח רישיון מתאים לשימוש בייצור; פרטי התמחור זמינים בדף המוצר וניתן לקבל רישיון זמני מהדף הרישיון הזמני. עם הידע הזה, אתה מוכן לשלב המרת 3D ל‑PDF ביישומי ה‑Java שלך ולספק דוחות מלוטשים למשתמשי הקצה.

שאלות נפוצות

  • כיצד אני מיישם המרת 3D ל-PDF ב-Java עם Aspose.Cells?
    השתמש ב‑SDK כדי להעלות את קובץ ה‑XLSX שלך, להגדיר את PdfSaveOptions, לקרוא ל‑postWorkbookSaveAs, ולהוריד את קובץ ה‑PDF שנוצר. דוגמת הקוד המלאה במאמר זה מציגה את הרצף המדויק.

  • האם יש דרך לבצע המרת PDF של דיאגרמת 3D ב-Java ללא כתיבת קוד?
    כן, ה-REST API והפקודות cURL המסופקות מאפשרות לך להשיג את אותה תוצאה מכל פלטפורמה שיכולה לבצע בקשות HTTP.

  • מה ההבדל בין המרת PDF עם ויזואליזציית 3D למרת Excel ל‑PDF רגילה?
    ויזואליזציות 3D דורשות רינדור נוסף של אובייקטי גרף, שה‑SDK מטפל בו אוטומטית. המרה רגילה עשויה לדלג על שלבי הרינדור של 3D, מה שמוביל לגרפיקה חסרה.

  • האם ניתן להשתמש באותו זרימת עבודה עבור המרת Excel ל‑PDF ב‑java של חוברות עבודה שאינן תלת‑ממדיות?
    בהחלט. קריאות ה‑API זהות עובדות עם כל קובץ Excel; אתה פשוט משמיט או מתאים את האפשרויות הספציפיות ל‑3D אם אינן נדרשות.

קרא עוד