אוטומציה של שינוי נתונים מובנים למסמכים מלוטשים היא צורך נפוץ לשירותי backend. Aspose.Cells Cloud SDK for Node.js מאפשרת למפתחים לעבוד עם חוברות Excel ולהמיר אותן לפורמטים שונים באמצעות REST API חזק. במדריך זה תלמדו כיצד לייבא נתוני XML ל-PDF באמצעות ה‑SDK, כולל כל מה שקשור לאימות, העלאת קבצים, מיפוי XML והפקת PDF.

דרישות מקדימות והגדרה

לפני שתתחיל, ודא שיש לך את הדברים הבאים:

  • Node.js 14 או גרסה גבוהה יותר מותקנת במחשב שלך.
  • חשבון Aspose Cloud עם מזהה לקוח וסוד לקוח.
  • גישה למסוף או IDE שבהם ניתן להריץ סקריפטים של Node.js.

התקן את Aspose.Cells Cloud SDK עבור Node.js:

npm install asposecellscloud

לאחר מכן, הגדר את פרטי האימות שלך. הקטע הבא נלקח ישירות מיישום ההפניה:

const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const config = new Configuration(clientId, clientSecret);
const apiClient = new ApiClient(config);
const cellsApi = new CellsApi(apiClient);

תצטרך גם להוריד את חבילת ה‑SDK מדף השחרור הרשמי: Aspose.Cells Cloud SDK for Node.js Download. עם הדרישות המקדימות במקום, נוכל להמשיך ליישום בפועל.

ייבוא נתוני XML ל-PDF ב-Node.js: מדריך שלב אחר שלב

שלב 1: טען מודולים נדרשים וצור לקוח API

ראשית, ייבא את המודולים הנדרשים והפעל את לקוח ה-API.

const fs = require('fs');
const path = require('path');
const { CellsApi, Configuration, ApiClient } = require('asposecellscloud');

const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const config = new Configuration(clientId, clientSecret);
const apiClient = new ApiClient(config);
const cellsApi = new CellsApi(apiClient);

שלב 2: הגדר פונקציית עזר להעלאת קובץ

צור פונקציה שניתנת לשימוש חוזר המעלה קובץ מקומי ל‑Aspose Cloud storage.

async function uploadFile(localFilePath, remoteFileName) {
    const fileContent = fs.readFileSync(localFilePath);
    await cellsApi.uploadFile(`${remoteFolder}/${remoteFileName}`, fileContent);
}

שלב 3: העלאת חוברת עבודה וקבצי XML

העלה את תבנית ה-Excel ואת קובץ הנתונים XML לתיקייה Temp באחסון בענן.

await uploadFile(path.join(localFolder, workbookName), workbookName);
await uploadFile(path.join(localFolder, xmlDataName), xmlDataName);

שלב 4: ייבא נתוני XML לגיליון העבודה

מפה את קובץ ה-XML אל הגיליון היעד. זהו הלב של זרימת העבודה של ייבוא נתוני XML ל-PDF.

const importXmlRequest = {
    xmlFile: `${remoteFolder}/${xmlDataName}`,
    xmlMapIndex: 0,
    importDataOnly: true,
    importDataOnlySpecified: true
};
await cellsApi.importXML(workbookName, 'Sheet1', importXmlRequest, remoteFolder);

שלב 5: המרת חוברת העבודה המעודכנת ל-PDF והורדה

לבסוף, שמור את חוברת העבודה כ-PDF וקבל את הקובץ.

const remotePdfPath = `${remoteFolder}/${outputPdfName}`;
await cellsApi.saveWorkbook(workbookName, 'pdf', remotePdfPath, remoteFolder);
const downloadResponse = await cellsApi.downloadFile(remotePdfPath);
fs.writeFileSync(path.join(localFolder, outputPdfName), downloadResponse.body);

לאחר השלמת הצעדים האלה, נתוני ה‑XML מיובאים בהצלחה וה‑PDF שנוצר מוכן לשימוש.

דוגמת קוד מלאה: ייבוא נתוני XML ל-PDF עם הערות מפורטות

הקוד הבא מדגים את תהליך הקצה‑אל‑קצה המלא.

const fs = require('fs');
const path = require('path');
const { CellsApi, Configuration, ApiClient } = require('asposecellscloud');

// ---- Configuration ---------------------------------------------------------
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const config = new Configuration(clientId, clientSecret);
const apiClient = new ApiClient(config);
const cellsApi = new CellsApi(apiClient);

// ---- File definitions -------------------------------------------------------
const localFolder = __dirname;
const remoteFolder = 'Temp';                     // folder in Aspose Cloud storage
const workbookName = 'template.xlsx';            // existing workbook template
const xmlDataName = 'data.xml';                  // XML file containing data
const outputPdfName = 'result.pdf';              // final PDF name

// ---- Helper functions -------------------------------------------------------
async function uploadFile(localFilePath, remoteFileName) {
    const fileContent = fs.readFileSync(localFilePath);
    await cellsApi.uploadFile(`${remoteFolder}/${remoteFileName}`, fileContent);
}

async function importXml() {
    const importXmlRequest = {
        xmlFile: `${remoteFolder}/${xmlDataName}`,
        xmlMapIndex: 0,
        importDataOnly: true,
        importDataOnlySpecified: true
    };
    await cellsApi.importXML(workbookName, 'Sheet1', importXmlRequest, remoteFolder);
}

async function convertToPdf() {
    const remotePdfPath = `${remoteFolder}/${outputPdfName}`;
    await cellsApi.saveWorkbook(workbookName, 'pdf', remotePdfPath, remoteFolder);
    const downloadResponse = await cellsApi.downloadFile(remotePdfPath);
    fs.writeFileSync(path.join(localFolder, outputPdfName), downloadResponse.body);
}

// ---- Main execution ---------------------------------------------------------
(async () => {
    try {
        // Upload required files to Aspose Cloud storage
        await uploadFile(path.join(localFolder, workbookName), workbookName);
        await uploadFile(path.join(localFolder, xmlDataName), xmlDataName);

// Import XML data into the workbook
        await importXml();

// Convert the updated workbook to PDF and download locally
        await convertToPdf();

console.log('XML data imported and PDF generated successfully.');
    } catch (err) {
        console.error('Error:', err.response ? err.response.text : err.message);
    }
})();

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

המרת XML ל-PDF באמצעות cURL ו-REST API

להלן זרימת עבודה מבוססת cURL שמבצעת את אותן הפעולות ללא כתיבת קוד Node.js.

  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"
  1. העלה את תבנית ה-Excel
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/Temp/template.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@template.xlsx"
  1. העלה את קובץ הנתונים XML
   curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/Temp/data.xml" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -H "Content-Type: application/octet-stream" \
        --data-binary "@data.xml"
  1. ייבא XML לגיליון העבודה
curl -X POST "https://api.aspose.cloud/v3.0/cells/template.xlsx/worksheets/Sheet1/importxml" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "xmlFile": "Temp/data.xml",
           "xmlMapIndex": 0,
           "importDataOnly": true,
           "importDataOnlySpecified": true
         }'
  1. המר את חוברת העבודה ל-PDF
curl -X POST "https://api.aspose.cloud/v3.0/cells/template.xlsx/save?format=pdf&outPath=Temp/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  1. הורד את קובץ ה-PDF שנוצר
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/Temp/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf

לרשימה מלאה של פרמטרים ואפשרויות נוספות, ראה את תיעוד API.

כוונון מדויק של אפשרויות XML ל-PDF

פעולת הייבוא מציעה מספר דגלים המאפשרים לך לשלוט כיצד הנתונים ב‑XML מתמזגים:

  • importDataOnly - כאשר מוגדר ל-true, רק שורות הנתונים מיובאות, והשארת העיצוב הקיים ללא שינוי.
  • importDataOnlySpecified - חייב להיות מוגדר ל-true יחד עם importDataOnly כדי להפעיל את האפשרות.
  • xmlMapIndex - בוחר איזו מפת XML (אם מוגדרות מספר) יש להשתמש בייבוא.

אפשרויות אלה כבר הוצגו באובייקט importXmlRequest ששימש קודם לכן:

const importXmlRequest = {
    xmlFile: `${remoteFolder}/${xmlDataName}`,
    xmlMapIndex: 0,
    importDataOnly: true,
    importDataOnlySpecified: true
};

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

סיכום

על‑ידי ביצוע המדריך הזה, כעת יש לך פתרון מלא לייבוא נתוני XML ל‑PDF באמצעות Aspose.Cells Cloud SDK for Node.js. הגישה משלבת קריאות SDK פשוטות עם פקודות cURL אופציונליות, ומספקת לך גמישות בין אם אתה מעדיף יישום מלא ב‑Node.js או אינטגרציה קלה של REST. זכור לאבטח את אישורי הלקוח שלך ולשקול להחיל רישיון זמני או בתשלום עבור עומסי עבודה בייצור. אתה יכול לקבל רישיון זמני מדף הרישיון הזמני ולחקור אפשרויות תמחור בדף המוצר. קידוד מהנה!

שאלות נפוצות

  • איך מתבצע ייבוא נתוני XML ל‑PDF עם Aspose.Cells Cloud SDK for Node.js?
    ה‑SDK מעלה את תבנית ה‑Excel וקובץ ה‑XML שלך לאחסון Aspose Cloud, ממפה את נתוני ה‑XML אל גיליון עבודה, ולאחר מכן שומר את חוברת העבודה כ‑PDF. ראה את Aspose.Cells Cloud SDK for Node.js לקבלת הפניות API מפורטות.

  • האם ניתן להתאים את פלט ה-PDF בעת שימוש בייבוא נתוני XML ל-PDF?
    כן, השיטה saveWorkbook מקבלת אפשרויות ספציפיות לפורמט כגון כיוון העמוד, איכות תמונה ורמת דחיסה. ניתן להתאים הגדרות אלו במטען הבקשה כפי שמתואר ב-תיעוד API.

  • איזו שיטת אימות נדרשת עבור קריאות REST?
    כל הבקשות חייבות לכלול אסימון גישה OAuth 2.0 שמתקבל מנקודת הקצה של אימות Aspose Cloud. השתמש במזהה הלקוח ובסוד הלקוח שלך כדי לבקש אסימון לפני קריאה לכל API.

  • האם יש דרך לבדוק את התהליך מבלי להשפיע על נתוני הייצור?
    ניתן להשתמש ברישיון הזמני המסופק בדף הרישיון הזמני כדי להפעיל את הקוד בסביבה שאינה ייצור.

קרא עוד