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.
- 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"
- 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"
- 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"
- 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
}'
- 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"
- 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 azimportDataOnly-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, asaveWorkbookmetó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.