Az strukturált adatok átalakítása kifinomult dokumentumokká gyakori igény a háttérszolgáltatások számára. Aspose.Cells Cloud SDK for Node.js lehetővé teszi a fejlesztők számára, hogy Excel munkafüzetekkel dolgozzanak, és különféle formátumokra konvertálják őket egy erőteljes REST API-n keresztül. Ebben az útmutatóban megtanulja, hogyan importálja az XML adatot a PDF formátumba a SDK használatával, lefedve mindent az autentikációtól a fájl feltöltéséig, az XML leképezésig és a PDF generálásig.

Előfeltételek és beállítás

Mielőtt elkezdené, győződjön meg róla, hogy a következőkkel rendelkezik:

  • Node.js 14 vagy újabb telepítve van a gépén.
  • Aspose Cloud fiók ügyfél‑azonosítóval és ügyfél‑titokkal.
  • Hozzáférés egy terminálhoz vagy IDE-hez, ahol Node.js szkripteket futtathat.

Telepítse az Aspose.Cells Cloud SDK for Node.js:

npm install asposecellscloud

Ezután konfigurálja hitelesítési adatait. A következő kódrészlet közvetlenül a referencia megvalósításból származik:

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);

A hivatalos kiadási oldalról szintén le kell töltenie az SDK csomagot: Aspose.Cells Cloud SDK for Node.js Download. A szükséges előfeltételek rendelkezésre állnak, ezért áttérhetünk a tényleges megvalósításra.

XML adatok importálása PDF-be Node.js-ben: Lépésről lépésre útmutató

Lépés 1: A szükséges modulok betöltése és az API kliens létrehozása

Először importálja a szükséges modulokat, és példányosítsa az API klienst.

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. lépés: Segédfüggvény definiálása a fájl feltöltéséhez

Hozzon létre egy újrahasználható függvényt, amely feltölti a helyi fájlt az Aspose Cloud tárolóba.

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

3. lépés: Munkafüzet és XML fájlok feltöltése

Töltsd fel az Excel sablont és az XML adatfájlt a Temp mappába a felhő tárolóban.

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

4. lépés: XML-adatok importálása a munkalapra

Térképezze fel az XML-fájlt a cél munkalapra. Ez a import XML data to PDF munkafolyamat magja.

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

5. lépés: A frissített munkafüzet konvertálása PDF-be és letöltése

Végül mentse a munkafüzetet PDF formátumban, és töltse le a fájlt.

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);

Ezekkel a lépésekkel befejezve az XML‑adatok sikeresen importálva lettek, és a létrehozott PDF készen áll a használatra.

Teljes kódpélda: XML adatok importálása PDF-be részletes megjegyzésekkel

Az alábbi kód bemutatja a teljes vég‑től‑végig folyamatot.

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);
    }
})();

Megjegyzés: Ez a kódpélda bemutatja a fő funkciót. Mielőtt a projektjében használná, győződjön meg róla, hogy frissíti a fájlútvonalakat és a konfigurációs értékeket, hogy megfeleljenek a tényleges környezetnek, ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van, és alaposan tesztelje a fejlesztői környezetben. Ha problémákba ütközik, kérjük, tekintse meg a hivatalos dokumentációt vagy lépjen kapcsolatba a támogatói csapattal segítségért.

XML PDF konvertálás cURL és a REST API használatával

Az alábbiakban egy cURL‑alapú munkafolyamatot láthat, amely ugyanazokat a műveleteket hajtja végre anélkül, hogy Node.js kódot írna.

  1. Szerezzen hozzáférési tokent
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. Töltsd fel az Excel sablont
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. Töltse fel az XML adatfájlt
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 importálása a munkalapra
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. Konvertálja a munkafüzetet PDF-be
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. A generált PDF letöltése
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/Temp/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf

A paraméterek és további beállítások teljes listájáért lásd az API referenciát.

XML PDF opciók finomhangolása

Az importálási művelet több jelzőt kínál, amelyek lehetővé teszik, hogy szabályozza, hogyan egyesül az XML adat:

  • importDataOnly – Ha true értékre van állítva, csak az adat sorok kerülnek importálásra, a meglévő formázás érintetlen marad.
  • importDataOnlySpecified – true értékre kell állítani az importDataOnly-val együtt, hogy aktiválja a beállítást.
  • xmlMapIndex – Kiválasztja, hogy melyik XML térkép (ha több van definiálva) legyen használva az importáláshoz.

Ezek a beállítások már korábban bemutatásra kerültek az importXmlRequest objektumban:

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

A PdfSaveOptions objektum átadásával a saveWorkbook metódusnak PDF‑specifikus beállításokat is módosíthat, például az oldal méretét, tájolását és a képminőséget. Tekintse meg a API referenciát a rendelkezésre álló lehetőségek teljes listájáért.

Következtetés

Az útmutató követésével most már egy komplett megoldással rendelkezik az XML adatok PDF‑be importálásához az Aspose.Cells Cloud SDK for Node.js használatával. A megközelítés egyszerű SDK hívásokat kombinál opcionális cURL parancsokkal, így rugalmasságot biztosít, akár teljes körű Node.js megvalósítást, akár könnyűsúlyú REST integrációt részesíti előnyben. Ne felejtse el biztonságosra tenni ügyfélhitelesítő adatait, és fontolja meg ideiglenes vagy fizetett licenc alkalmazását a termelési feladatokhoz. Ideiglenes licencet szerezhet a ideiglenes licenc oldal oldalról, és tekintse meg az árképzési lehetőségeket a termékoldalon. Boldog kódolást!

GYIK

  • Hogyan működik az XML adatok PDF‑be importálása az Aspose.Cells Cloud SDK for Node.js segítségével?
    Az SDK feltölti az Excel sablonodat és az XML fájlt az Aspose Cloud storage‑ba, az XML adatokat egy munkalapra térképezi, majd a munkafüzetet PDF‑ként menti. Tekintse meg az Aspose.Cells Cloud SDK for Node.js részletes API hivatkozásait.

  • Testreszabhatom a PDF kimenetet XML adat importálásakor PDF‑be?
    Igen, a saveWorkbook metódus formátum‑specifikus beállításokat fogad el, például oldalorientációt, képek minőségét és tömörítési szintet. Állítsa be ezeket a beállításokat a kérés payloadjában, ahogy az API reference leírásában szerepel.

  • Milyen hitelesítési módszer szükséges a REST hívásokhoz?
    Minden kérésnek tartalmaznia kell egy OAuth 2.0 hozzáférési tokent, amelyet az Aspose Cloud hitelesítési végpontból kell beszerezni. Használja ügyfél‑azonosítóját és ügyfél‑titkos kulcsát a token kéréséhez, mielőtt bármely API-t meghívna.

  • Van mód a folyamat tesztelésére anélkül, hogy a termelési adatokat befolyásolná?
    Használhatja a ideiglenes licenc oldal által biztosított ideiglenes licencet, hogy a kódot nem‑termelési környezetben futtassa.

Olvass tovább