სტრუქტურირებული მონაცემების ტრანსფორმაციის ავტომატიზაცია დამუშავებულ დოკუმენტებში ხშირად საჭიროა უკანაბოლო სერვისებისთვის. Aspose.Cells Cloud SDK for Node.js დეველოპერებს აძლევს შესაძლებლობას მუშაობა Excel სამუშაო წიგნაკებთან და მათი გადაყვანა სხვადასხვა ფორმატში ძლიერი REST API-ის საშუალებით. ამ გზამკვლევში თქვენ გაიგებთ, როგორ იმპორტირება XML მონაცემების PDF-ში SDK-ის გამოყენებით, რაც მოიცავს ყველაფერს აუტენტიფიკაციიდან ფაილის ატვირთვას, XML-ის რუკას, და PDF-ის გენერაციას.

მოთხოვნები და დაყენება

დაწყებამდე, დარწმუნდით, რომ გაქვთ შემდეგი:

  • Node.js 14 ან უფრო მაღალი, რომელიც დაყენებულია თქვენს მანქანაზე.
  • Aspose Cloud ანგარიში, რომელსაც აქვს კლიენტის ID და კლიენტის საიდუმლო.
  • წვდომა ტერმინალზე ან IDE-ზე, სადაც შეგიძლიათ გაუშვათ Node.js სკრიპტები.

დააყენეთ Aspose.Cells Cloud SDK for 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 client-ის შექმნა

პირველად, იმპორტეთ საჭირო მოდულები და შექმენით API client.

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 საცავში.

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 ფაილის მიზნად მითითებულ სამუშაო ფურცელზე. ეს არის import XML data to 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-ში დეტალური კომენტარებით

შემდეგი კოდი აჩვენებს სრულ end‑to‑end პროცესს.

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 ინტეგრაციას. დაიმახსოვრეთ, რომ დაიცავით თქვენი კლიენტის ავტორიზაციის დეტალები და განიხილეთ დროებითი ან გადახდილი ლიცენზიის გამოყენება პროდუქციის სამუშაო დატვირთვებისათვის. შეგიძლიათ მიიღოთ დროებითი ლიცენზია დროებითი ლიცენზიის გვერდი და გაეცანით ფასის არჩევანებს პროდუქტის გვერდზე. კეთილი კოდირება!

ხშირად დასმული კითხვები

  • Aspose.Cells Cloud SDK for Node.js-ით XML მონაცემების იმპორტი PDF-ში როგორ მუშაობს?
    SDK ატვირთავს თქვენს Excel შაბლონს და XML ფაილს Aspose Cloud შენახვის სივრცეში, ასახავს XML მონაცემებს სამუშაო ფურცელზე, შემდეგ კი workbook-ი ინახავს PDF ფორმატში. იხილეთ Aspose.Cells Cloud SDK for Node.js დეტალური API მითითებებისათვის.

  • შეგიძლია PDF-ის გამოტანის მორგება XML მონაცემების PDF-ში იმპორტის გამოყენებით?
    დიახ, saveWorkbook მეთოდი იღებს ფორმატზე სპეციფიკურ პარამეტრებს, როგორიცაა გვერდის ორიენტაცია, სურათის ხარისხი და კომპრესიის დონე. შეცვალეთ ეს პარამეტრები მოთხოვნის payload-ში, როგორც აღწერილია API დოკუმენტაცია.

  • REST‑ის გამოძახებებისთვის რა აუტენთიფიკაციის მეთოდი საჭიროა?
    ყველა მოთხოვნა უნდა შეიცავდეს OAuth 2.0 წვდომის ტოკენს, რომელიც მიიღება Aspose Cloud-ის აუტენთიფიკაციის ენდპოინტიდან. გამოიყენეთ თქვენი კლაიენტის ID და კლაიენტის საიდუმლო, რათა მოთხოვნათ ტოკენი, სანამ API-ს გამოძახებთ.

  • პროცესის ტესტირება წარმოების მონაცემებზე გავლენა არ ახდენის?
    თქვენ შეგიძლიათ გამოიყენოთ დროებით ლიცენზია, რომელიც მიწოდებულია დროებითი ლიცენზიის გვერდზე კოდის გაუშვათ არ‑წარმოშვების გარემოში.

მეტი კითხვა