Das Konvertieren von PDF-Dateien in das DOCX-Format ist eine häufige Anforderung beim Aufbau dokumenten‑zentrierter Anwendungen, insbesondere wenn ein editierbarer Word‑Ausgabe benötigt wird. Das GroupDocs.Conversion Cloud SDK for Node.js bietet eine robuste API, die diese Aufgabe einfach und skalierbar macht. In diesem Leitfaden sehen Sie ein vollständiges asynchrones Codebeispiel, erfahren, wie Sie dasselbe Ergebnis mit cURL‑REST‑Aufrufen erzielen, das SDK einrichten und bewährte Praxisempfehlungen für zuverlässige Konvertierungen anwenden.
Vollständiges Codebeispiel: Asynchrone PDF-zu-DOCX-Konvertierung in Node.JS
Dieses Beispiel zeigt, wie man eine asynchrone PDF‑zu‑DOCX‑Konvertierung mit GroupDocs.Conversion Cloud SDK for Node.js durchführt.
// PDF to DOCX conversion using GroupDocs.Conversion Cloud SDK for Node.js
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const path = require('path');
// -------------------- Configuration --------------------
const CLIENT_ID = process.env.GROUPDOCS_CLIENT_ID || 'YOUR_CLIENT_ID';
const CLIENT_SECRET = process.env.GROUPDOCS_CLIENT_SECRET || 'YOUR_CLIENT_SECRET';
// Initialize API client
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
apiInstance.apiClient = new GroupDocsConversionCloud.ApiClient();
apiInstance.apiClient.basePath = 'https://api.groupdocs.cloud';
apiInstance.apiClient.authentications['JWT'].clientId = CLIENT_ID;
apiInstance.apiClient.authentications['JWT'].clientSecret = CLIENT_SECRET;
// -------------------- Conversion Logic --------------------
async function convertPdfToDocx() {
try {
// Input file information (must already be uploaded to GroupDocs Cloud storage)
const inputFileInfo = new GroupDocsConversionCloud.FileInfo();
inputFileInfo.filePath = path.normalize('input.pdf'); // generic path in cloud storage
// DOCX specific conversion options (optional, shown for demonstration)
const docxOptions = new GroupDocsConversionCloud.DocxConvertOptions();
docxOptions.preserveOriginalFormatting = true; // keep original PDF layout as much as possible
docxOptions.password = null; // if PDF is password protected, set it here
// Build conversion request
const convertRequest = new GroupDocsConversionCloud.ConvertDocumentRequest();
convertRequest.format = 'docx';
convertRequest.fileInfo = inputFileInfo;
convertRequest.outputPath = path.normalize('output.docx'); // result will be stored in cloud storage
convertRequest.options = docxOptions; // attach format‑specific options
// Perform conversion (async)
const conversionResult = await apiInstance.convertDocument(convertRequest);
// conversionResult contains the path of the generated file and other metadata
console.log('Conversion succeeded.');
console.log('Output file path:', conversionResult.path);
console.log('File size (bytes):', conversionResult.size);
} catch (error) {
// Detailed error handling
if (error.response && error.response.body) {
console.error('API error:', error.response.body);
} else {
console.error('Unexpected error:', error.message);
}
}
}
// -------------------- Execution --------------------
(async () => {
// Optional: set a timeout to avoid hanging indefinitely
const timeoutMs = 300000; // 5 minutes
const timeout = setTimeout(() => {
console.error('Conversion timed out after', timeoutMs / 1000, 'seconds');
process.exit(1);
}, timeoutMs);
await convertPdfToDocx();
clearTimeout(timeout);
// Graceful shutdown
process.exit(0);
})();
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie die Dateipfade (
input.pdf,output.docxusw.) an Ihre tatsächlichen Speicherorte anpassen, überprüfen Sie, dass alle erforderlichen Abhängigkeiten 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.
Dokumente mit cURL und der REST-API konvertieren
Sie können dieselbe PDF‑zu‑DOCX‑Konvertierung ohne Code zu schreiben erreichen, indem Sie die GroupDocs.Conversion Cloud REST‑Endpunkte direkt aufrufen. Die nachstehenden Schritte zeigen, wie Sie ein Zugriffstoken erhalten, ein PDF hochladen, die Konvertierung starten und die resultierende DOCX‑Datei herunterladen.
- Authentifizieren und ein Zugriffstoken erhalten
Ersetzen SieYOUR_CLIENT_IDundYOUR_CLIENT_SECRETdurch Ihre Anmeldeinformationen.
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{
"grant_type":"client_credentials",
"client_id":"YOUR_CLIENT_ID",
"client_secret":"YOUR_CLIENT_SECRET"
}'
Die Antwort enthält access_token, das Sie in nachfolgenden Aufrufen verwenden.
- Laden Sie die Quell‑PDF hoch
curl -X PUT "https://api.groupdocs.cloud/v1.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @./local/input.pdf
- Konvertierung ausführen
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"format":"docx",
"fileInfo":{"filePath":"input.pdf"},
"outputPath":"output.docx",
"options":{"preserveOriginalFormatting":true}
}'
Die Antwort gibt den Pfad der generierten DOCX‑Datei zurück.
- Laden Sie das konvertierte DOCX herunter
curl -X GET "https://api.groupdocs.cloud/v1.0/storage/file/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o ./local/output.docx
Weitere Details zu Anfrage‑Payloads und zusätzlichen Optionen finden Sie in der offiziellen API‑Dokumentation.
Aufschlüsselung der PDF-zu-DOCX-Konvertierung in Node.JS
Im Folgenden finden Sie eine kurze Durchsicht der wichtigsten Teile des asynchronen Codebeispiels.
- Importieren und konfigurieren Sie den Client
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
Die ConversionApi-Klasse (API-Referenz) ist der Einstiegspunkt für alle Konvertierungsoperationen.
- Authentifizierungsdaten festlegen
apiInstance.apiClient.authentications['JWT'].clientId = CLIENT_ID;
apiInstance.apiClient.authentications['JWT'].clientSecret = CLIENT_SECRET;
Die JWT-Authentifizierung sichert jede Anfrage an den Cloud‑Dienst.
- Bereiten Sie die Eingabedateiinformationen vor
const inputFileInfo = new GroupDocsConversionCloud.FileInfo();
inputFileInfo.filePath = path.normalize('input.pdf');
FileInfo teilt der API mit, wo sich die Quell‑PDF im GroupDocs Cloud‑Speicher befindet.
- DOCX-spezifische Optionen konfigurieren
const docxOptions = new GroupDocsConversionCloud.DocxConvertOptions();
docxOptions.preserveOriginalFormatting = true;
DocxConvertOptions ermöglicht es Ihnen, das ursprüngliche Layout beizubehalten und bei Bedarf Passwörter zu verarbeiten.
- Erstellen und Senden der Konvertierungsanforderung
const convertRequest = new GroupDocsConversionCloud.ConvertDocumentRequest();
convertRequest.format = 'docx';
convertRequest.fileInfo = inputFileInfo;
convertRequest.outputPath = path.normalize('output.docx');
convertRequest.options = docxOptions;
const conversionResult = await apiInstance.convertDocument(convertRequest);
Die convertDocument-Methode führt die eigentliche Konvertierung durch und gibt Metadaten zurück, wie z. B. den Ausgabepfad und die Dateigröße.
Installation und Konfiguration GroupDocs.Conversion Cloud SDK for Node.JS
- Installieren Sie das Paket
npm install groupdocs-conversion-cloud
Das Paket ist im öffentlichen npm‑Registry verfügbar. Siehe die Download‑Seite für Versionsdetails.
Voraussetzungen
- Node.js 12 oder höher.
- Ein GroupDocs Cloud-Konto mit Client-ID und Client-Secret.
Initialisieren Sie das SDK in Ihrem Projekt (Auszug aus dem vollständigen Beispiel)
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
apiInstance.apiClient.basePath = 'https://api.groupdocs.cloud';
Passen Sie den basePath an, wenn Sie einen regionalen Endpunkt verwenden.
Bewährte Verfahren für die Hochleistungs‑Dokumentkonvertierung
- Den API‑Client wiederverwenden anstatt für jede Konvertierung eine neue Instanz zu erstellen; das reduziert den Authentifizierungsaufwand.
- Streaming‑Uploads aktivieren für große PDFs, um zu vermeiden, dass die gesamte Datei in den Speicher geladen wird.
- Ein angemessenes Timeout festlegen (z. B. 5 Minuten), um hängende Vorgänge zu verhindern und gleichzeitig komplexen Dokumenten das Abschließen zu ermöglichen.
- Originalformatierung nur bei Bedarf beibehalten; das Deaktivieren kann die Konvertierung für einfache, rein textbasierte PDFs beschleunigen.
- API‑Nutzungsgrenzen überwachen im Dashboard Ihres GroupDocs‑Kontos, um eine Drosselung bei Batch‑Operationen zu vermeiden.
Fazit
GroupDocs.Conversion Cloud SDK for Node.js macht die PDF‑zu‑DOCX‑Konvertierung unkompliziert, egal ob Sie eine voll ausgestattete Bibliothek oder direkte REST‑Aufrufe mit cURL bevorzugen. Wenn Sie dem asynchronen Codebeispiel folgen, den Client korrekt konfigurieren und die oben genannten Performance‑Tipps anwenden, können Sie eine zuverlässige Dokumentkonvertierung in jeden Node.JS‑Dienst integrieren. Denken Sie daran, für den Produktionseinsatz eine gültige Lizenz zu erwerben; Preisdetails finden Sie auf der Produktseite, und eine temporäre Lizenz kann für Evaluierungszwecke von der temporäre Lizenzseite bezogen werden.
FAQs
Wie geht die PDF-zu-DOCX-Konvertierung in Node.JS mit komplexen Layouts um?
Das SDK versucht standardmäßig, das ursprüngliche Format beizubehalten. Sie könnenpreserveOriginalFormattinginDocxConvertOptionsumschalten, um die Treue zugunsten der Geschwindigkeit zu tauschen. Siehe die API-Referenz für alle Optionen.Was sind die Beschränkungen für die Dateigröße bei der PDF‑zu‑DOCX‑Konvertierung?
Der Cloud‑Dienst akzeptiert Dateien bis zu 200 MB für kostenlose Konten; größere Dateien erfordern einen Upgrade‑Plan. Uploads werden gestreamt, sodass die Speichernutzung auf Ihrem Server gering bleibt.Kann ich mehrere PDFs in einer einzigen Anfrage in DOCX konvertieren?
Die API verarbeitet ein Dokument pro Anfrage, aber Sie können über eine Liste von Dateien in Node.JS iterieren und Konvertierungen parallel ausführen, wobei Sie die gleichzeitigen Begrenzungen Ihres Kontos beachten.Gibt es eine Möglichkeit, die Konvertierung lokal ohne kostenpflichtige Lizenz zu testen?
Ja, Sie können eine temporäre Evaluierungslizenz über die temporäre Lizenzseite anfordern. Dies bietet volle Funktionalität für Entwicklung und Tests.
