Die Automatisierung der Umwandlung strukturierter Daten in hochwertige Dokumente ist ein häufiges Bedürfnis für Backend‑Dienste. Aspose.Cells Cloud SDK for Node.js ermöglicht Entwicklern die Arbeit mit Excel‑Arbeitsmappen und die Konvertierung in verschiedene Formate über eine leistungsstarke REST‑API. In diesem Leitfaden lernen Sie, wie Sie XML‑Daten in PDF mithilfe des SDK importieren, wobei alles von der Authentifizierung über das Hochladen von Dateien, das XML‑Mapping bis hin zur PDF‑Erstellung abgedeckt wird.

Voraussetzungen und Einrichtung

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Node.js 14 oder höher auf Ihrem Rechner installiert.
  • Ein Aspose Cloud‑Konto mit Client‑ID und Client‑Secret.
  • Zugriff auf ein Terminal oder eine IDE, in der Sie Node.js‑Skripte ausführen können.

Installieren Sie das Aspose.Cells Cloud SDK for Node.js:

npm install asposecellscloud

Als Nächstes konfigurieren Sie Ihre Authentifizierungsdaten. Das folgende Snippet stammt direkt aus der Referenzimplementierung:

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

Sie müssen das SDK‑Paket auch von der offiziellen Release‑Seite herunterladen: Aspose.Cells Cloud SDK for Node.js Download. Mit den Voraussetzungen im Griff können wir mit der eigentlichen Implementierung fortfahren.

Importieren von XML-Daten in PDF in Node.js: Schritt‑für‑Schritt‑Anleitung

Schritt 1: Erforderliche Module laden und API-Client erstellen

Zuerst importieren Sie die erforderlichen Module und instanziieren den 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);

Schritt 2: Hilfsfunktion für den Datei-Upload definieren

Erstellen Sie eine wiederverwendbare Funktion, die eine lokale Datei in den Aspose Cloud storage hochlädt.

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

Schritt 3: Arbeitsmappe und XML-Dateien hochladen

Laden Sie die Excel‑Vorlage und die XML‑Datendatei in den Temp‑Ordner im Cloud‑Speicher hoch.

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

Schritt 4: XML-Daten in das Arbeitsblatt importieren

Ordnen Sie die XML-Datei dem Zielarbeitsblatt zu. Dies ist der Kern des XML-Daten nach PDF importieren Workflows.

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

Schritt 5: Konvertieren des aktualisierten Arbeitsbuchs in PDF und Herunterladen

Speichern Sie das Arbeitsbuch schließlich als PDF und rufen Sie die Datei ab.

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

Nachdem diese Schritte abgeschlossen sind, wurden die XML‑Daten erfolgreich importiert und das resultierende PDF ist einsatzbereit.

Vollständiges Codebeispiel: XML-Daten in PDF importieren mit detaillierten Kommentaren

Der folgende Code demonstriert den vollständigen End‑zu‑Ende‑Prozess.

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

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.

XML-zu-PDF-Konvertierung mit cURL und der REST-API

Unten ist ein cURL‑basierter Workflow, der dieselben Vorgänge ausführt, ohne Node.js‑Code zu schreiben.

  1. Zugriffstoken erhalten
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. Laden Sie die Excel-Vorlage hoch
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-Datendatei hochladen
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 in das Arbeitsblatt importieren
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. Arbeitsmappe in PDF konvertieren
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. Laden Sie das generierte PDF herunter
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/Temp/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf

Für eine vollständige Liste der Parameter und zusätzlicher Optionen siehe die API-Referenz.

Feinabstimmung von XML zu PDF-Optionen

Der Importvorgang bietet mehrere Flags, mit denen Sie steuern können, wie die XML-Daten zusammengeführt werden:

  • importDataOnly - Wenn auf true gesetzt, werden nur die Datenzeilen importiert, wobei die vorhandene Formatierung unverändert bleibt.
  • importDataOnlySpecified - Muss zusammen mit importDataOnly auf true gesetzt werden, um die Option zu aktivieren.
  • xmlMapIndex - Wählt aus, welche XML‑Map (falls mehrere definiert sind) für den Import verwendet werden soll.

Diese Optionen werden bereits im importXmlRequest-Objekt gezeigt, das zuvor verwendet wurde:

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

Sie können PDF‑spezifische Einstellungen wie Seitengröße, Ausrichtung und Bildqualität anpassen, indem Sie ein PdfSaveOptions‑Objekt an die Methode saveWorkbook übergeben. Weitere Informationen finden Sie in der API reference für die vollständige Liste der verfügbaren Optionen.

Fazit

Durch das Befolgen dieses Tutorials haben Sie nun eine vollständige Lösung für XML‑Daten in PDF importieren mit dem Aspose.Cells Cloud SDK for Node.js. Der Ansatz kombiniert einfache SDK‑Aufrufe mit optionalen cURL‑Befehlen und bietet Ihnen Flexibilität, egal ob Sie eine Full‑Stack‑Node.js‑Implementierung oder eine leichte REST‑Integration bevorzugen. Denken Sie daran, Ihre Client‑Anmeldeinformationen zu sichern und für Produktionslasten eine temporäre oder kostenpflichtige Lizenz zu verwenden. Sie können eine temporäre Lizenz von der temporäre Lizenzseite erhalten und Preisoptionen auf der Produktseite erkunden. Viel Spaß beim Coden!

FAQs

  • Wie funktioniert das Importieren von XML-Daten in PDF mit Aspose.Cells Cloud SDK for Node.js?
    Das SDK lädt Ihre Excel-Vorlage und XML-Datei in den Aspose Cloud storage hoch, ordnet die XML-Daten einem Arbeitsblatt zu und speichert anschließend die Arbeitsmappe als PDF. Siehe das Aspose.Cells Cloud SDK for Node.js für detaillierte API-Referenzen.

  • Kann ich die PDF‑Ausgabe anpassen, wenn ich XML‑Daten in PDF importiere?
    Ja, die Methode saveWorkbook akzeptiert format‑spezifische Optionen wie Seitenorientierung, Bildqualität und Komprimierungsgrad. Passen Sie diese Einstellungen im Anforderungspayload wie in der API‑Referenz beschrieben an.

  • Welche Authentifizierungsmethode ist für die REST‑Aufrufe erforderlich?
    Alle Anfragen müssen ein OAuth 2.0‑Zugriffstoken enthalten, das vom Aspose Cloud‑Authentifizierungsendpunkt erhalten wurde. Verwenden Sie Ihre Client‑ID und Ihr Client‑Secret, um ein Token anzufordern, bevor Sie eine API aufrufen.

  • Gibt es eine Möglichkeit, den Prozess zu testen, ohne Produktionsdaten zu beeinflussen?
    Sie können die temporäre Lizenz verwenden, die auf der temporären Lizenzseite bereitgestellt wird, um den Code in einer Nicht‑Produktionsumgebung auszuführen.

Read More