Das Konvertieren von umfangreichen HTML Seiten in editierbare DOCX Dateien ist ein häufiger Bedarf für Reporting‑ und Dokumentenautomatisierungs‑Workflows. GroupDocs.Conversion Cloud SDK for Node.js ermöglicht Entwicklern, diese Konvertierung vollständig über eine REST‑basierte Bibliothek durchzuführen. In diesem Tutorial sehen Sie, wie Sie das SDK einrichten, Node.JS‑Code schreiben, der HTML‑zu‑DOCX‑Konvertierung in Node.JS ausführt, cURL verwenden, um die API aufzurufen, und Konfigurationsoptionen für optimale Ergebnisse anwenden.

Voraussetzungen und Einrichtung

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

  • Node.js 14 oder neuer, installiert auf Ihrem Entwicklungsrechner.
  • Ein aktives GroupDocs.Conversion Cloud‑Konto (Sie können sich für eine kostenlose Testversion auf der Produktseite anmelden).
  • Ihre Client ID und Client Secret aus dem GroupDocs Cloud‑Dashboard.
  • Internetverbindung zum Aufrufen der Cloud‑REST‑API.

Installieren Sie das SDK über npm:

npm install groupdocs-conversion-cloud

Laden Sie das neueste Paket herunter und sehen Sie sich den Quellcode auf GitHub an, wenn Sie den Code erkunden möchten:

Herunterladen GroupDocs.Conversion Cloud SDK for Node.js

Nachdem das SDK installiert und die Anmeldeinformationen bereit sind, können Sie mit der Implementierung fortfahren.

HTML zu DOCX-Konvertierung in Node.JS: Schritt‑für‑Schritt‑Anleitung

Im Folgenden finden Sie eine kompakte Schritt‑für‑Schritt‑Anleitung, die jeden logischen Schritt zeigt. Der vollständige Quellcode wird später bereitgestellt.

Schritt 1: Initialisieren des Conversion API-Clients

Erstellen Sie eine Instanz von ConversionApi und konfigurieren Sie die Authentifizierung.

const { ConversionApi, Configuration } = require('groupdocs-conversion-cloud');

const config = new Configuration({
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET'
});

const conversionApi = new ConversionApi(config);

Schritt 2: Laden Sie die HTML-Quelldatei hoch

Laden Sie die HTML-Datei hoch, die Sie konvertieren möchten. Die API gibt einen Dateibezeichner zurück, den Sie für die Konvertierung verwenden.

const fs = require('fs');
const path = require('path');

const htmlPath = path.resolve(__dirname, 'sample.html');
const fileBytes = fs.readFileSync(htmlPath);

const uploadResponse = await conversionApi.uploadFile({
    file: fileBytes,
    fileName: 'sample.html'
});
const sourceFileId = uploadResponse.id;

Schritt 3: Konvertierungsoptionen festlegen

Konfigurieren Sie alle DOCX‑spezifischen Optionen, wie das Einbetten von Schriftarten oder das Festlegen von Seitenrändern. Dieser Schritt demonstriert die DOCX-Generierung aus HTML‑Anpassung.

const convertSettings = {
    outputFormat: 'DOCX',
    options: {
        embedFonts: true,
        pageSize: 'A4',
        marginTop: 20,
        marginBottom: 20,
        marginLeft: 15,
        marginRight: 15
    }
};

Schritt 4: Konvertierung ausführen

Rufen Sie die convert‑Methode mit der Quelldatei‑ID und den oben definierten Einstellungen auf.

const convertResponse = await conversionApi.convert({
    fileId: sourceFileId,
    convertSettings: convertSettings
});
const docxFileId = convertResponse.id;

Schritt 5: Herunterladen des resultierenden DOCX

Rufen Sie die generierte DOCX‑Datei ab und speichern Sie sie lokal.

const docxData = await conversionApi.downloadFile({ fileId: docxFileId });
fs.writeFileSync(path.resolve(__dirname, 'output.docx'), docxData);
console.log('DOCX file saved as output.docx');

Die oben genannten Schritte veranschaulichen einen vollständigen HTML-zu-DOCX-Konvertierung in Node.JS Workflow unter Verwendung des GroupDocs.Conversion Cloud SDK.

Vollständiges Codebeispiel: Erzeugen von DOCX aus HTML-Inhalt

Das folgende Programm fügt alle Teile zu einem einzigen, ausführbaren Skript zusammen.

// Full working example for HTML to DOCX conversion using GroupDocs.Conversion Cloud SDK for Node.js

const { ConversionApi, Configuration } = require('groupdocs-conversion-cloud');
const fs = require('fs');
const path = require('path');

async function convertHtmlToDocx() {
    // 1. Configure the API client
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    const conversionApi = new ConversionApi(config);

// 2. Read the HTML file
    const htmlPath = path.resolve(__dirname, 'sample.html');
    const htmlBytes = fs.readFileSync(htmlPath);

// 3. Upload the HTML file
    const uploadResult = await conversionApi.uploadFile({
        file: htmlBytes,
        fileName: 'sample.html'
    });
    const sourceFileId = uploadResult.id;

// 4. Define conversion settings
    const convertSettings = {
        outputFormat: 'DOCX',
        options: {
            embedFonts: true,
            pageSize: 'A4',
            marginTop: 20,
            marginBottom: 20,
            marginLeft: 15,
            marginRight: 15
        }
    };

// 5. Perform the conversion
    const convertResult = await conversionApi.convert({
        fileId: sourceFileId,
        convertSettings: convertSettings
    });
    const docxFileId = convertResult.id;

// 6. Download the DOCX file
    const docxBytes = await conversionApi.downloadFile({ fileId: docxFileId });
    const outputPath = path.resolve(__dirname, 'output.docx');
    fs.writeFileSync(outputPath, docxBytes);
    console.log(`Conversion successful. DOCX saved to ${outputPath}`);
}

// Execute the conversion
convertHtmlToDocx().catch(err => {
    console.error('Conversion failed:', err);
});

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie die Dateipfade (sample.html, output.docx) aktualisieren, 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.

Ausführen der Konvertierung über cURL und die REST-API

Wenn Sie lieber direkt mit HTTP arbeiten, führen die folgenden cURL‑Befehle die gleiche Konvertierung durch.

  1. Zugriffstoken erhalten

Ersetzen Sie YOUR_CLIENT_ID und YOUR_CLIENT_SECRET durch Ihre Anmeldeinformationen.

curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

Die Antwort enthält access_token.

  1. HTML-Datei hochladen
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/files/sample.html" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@sample.html"
  1. Starten Sie die Konvertierung
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "sourceFilePath": "sample.html",
           "outputFilePath": "output.docx",
           "outputFormat": "DOCX",
           "options": {
               "embedFonts": true,
               "pageSize": "A4"
           }
         }'
  1. Laden Sie das konvertierte DOCX herunter
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/files/output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.docx

Für eine vollständige Liste der Parameter siehe die offizielle API-Dokumentation.

Konfigurieren von Optionen für die HTML-Inhaltskonvertierung in DOCX

Das SDK stellt mehrere Eigenschaften bereit, mit denen Sie die Ausgabe feinabstimmen können:

  • embedFonts - Betten Sie alle referenzierten Schriftarten in die DOCX ein, um die visuelle Treue zu gewährleisten.
  • pageSize - Legt die Seitengröße fest (A4, Letter usw.).
  • marginTop / marginBottom / marginLeft / marginRight - Passt die Seitenränder in Punkten an.

Beispiel für die Anwendung dieser Optionen:

const convertSettings = {
    outputFormat: 'DOCX',
    options: {
        embedFonts: true,
        pageSize: 'Letter',
        marginTop: 30,
        marginBottom: 30,
        marginLeft: 20,
        marginRight: 20
    }
};

Siehe die ConversionOptions class für die vollständige Liste.

Leistungsüberlegungen bei der Konvertierung von HTML-Inhalten in DOCX

Beim Konvertieren großer oder komplexer HTML-Dokumente sollten Sie diese Tipps beachten:

  1. Wiederverwenden des API-Clients - Das Erstellen einer neuen ConversionApi-Instanz für jede Datei verursacht zusätzlichen Aufwand.
  2. Große HTML-Dateien streamen - Anstatt die gesamte Datei in den Speicher zu laden, verwenden Sie Streams (fs.createReadStream) und die uploadFileStream-Methode des SDK.
  3. Eingebettete Ressourcen begrenzen - Entfernen Sie unnötige Bilder oder Skripte aus dem HTML, bevor Sie es hochladen, um die Verarbeitungszeit zu verkürzen.
  4. Batch-Konvertierungen - Verarbeiten Sie Dateien sequenziell in einer Schleife, achten Sie jedoch auf die API‑Ratenlimits, um Drosselungen zu vermeiden.

Die Anwendung dieser Praktiken trägt dazu bei, niedrige Latenz und einen moderaten Speicherverbrauch beizubehalten.

Fazit

HTML‑zu‑DOCX‑Konvertierung in Node.JS wird mit dem GroupDocs.Conversion Cloud SDK for Node.js unkompliziert. Wenn Sie den oben beschriebenen Schritten folgen, können Sie eine zuverlässige DOCX‑Erstellung aus HTML in jede serverseitige Anwendung integrieren, die Ausgabe anpassen und die Leistung für große Arbeitslasten optimieren. Denken Sie daran, eine geeignete Lizenz für den Produktionseinsatz zu erwerben; Sie können ein Abonnement kaufen oder eine temporäre Lizenz von der temporären Lizenzseite erhalten. Viel Spaß beim Programmieren!

FAQs

Wie starte ich eine HTML-zu-DOCX-Konvertierung in Node.JS?

Verwenden Sie das SDK, um einen ConversionApi‑Client zu erstellen, Ihre HTML‑Datei hochzuladen, die gewünschten Konvertierungsoptionen festzulegen und die convert‑Methode aufzurufen. Der Vorgang ist vollständig asynchron und gibt die DOCX‑Datei‑Kennung zum Herunterladen zurück.

Welche Optionen kann ich für die DOCX-Generierung aus HTML anpassen?

Das ConversionOptions‑Objekt ermöglicht das Einbetten von Schriftarten, die Auswahl der Seitengröße, das Festlegen von Rändern und die Steuerung der Bildverarbeitung. Siehe die API‑Referenz für alle verfügbaren Einstellungen.

Kann ich HTML konvertieren, das externes CSS oder Bilder enthält?

Ja. Laden Sie alle referenzierten Ressourcen (CSS, Bilder) in denselben Speicherordner hoch, bevor Sie die Konvertierung starten, und das SDK wird die Links während der Verarbeitung auflösen.

Benötige ich eine Lizenz für Produktionsbereitstellungen?

Eine gültige Lizenz ist für die Produktion erforderlich. Sie können eine temporäre Lizenz zum Testen von der temporären Lizenzseite erhalten und ein vollständiges Abonnement erwerben, wenn Sie bereit sind, live zu gehen.

Mehr lesen