Entwickler müssen häufig große PDF-Dateien in kleinere, besser handhabbare Abschnitte aufteilen. Mit dem GroupDocs.Merger Cloud SDK for Node.JS wird das Aufteilen eines PDFs in mehrere Teile unkompliziert, da der Cloud‑Dienst die schwere Arbeit übernimmt, während Sie sich auf die Logik Ihrer Anwendung konzentrieren. Dieser Leitfaden liefert ein vollständiges, funktionierendes Beispiel, zeigt, wie dieselbe Aufgabe über cURL ausgeführt werden kann, und erklärt die Konfigurationsoptionen, mit denen Sie den Split‑Vorgang feinabstimmen können.
PDF in mehrere PDFs in Node.JS – vollständiges Codebeispiel
Dieses Beispiel zeigt, wie man ein PDF mit Hilfe von GroupDocs.Merger Cloud SDK for Node.JS in mehrere PDF‑Dateien aufteilt.
const fs = require('fs');
const path = require('path');
const GroupDocsMergerCloud = require('@groupdocs/merger-cloud');
// ---------- Set up API credentials ----------
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
// ---------- Initialize API instances ----------
const mergerApi = new GroupDocsMergerCloud.MergerApi(client);
const storageApi = new GroupDocsMergerCloud.StorageApi(client);
// ---------- Helper to upload a local file to cloud storage ----------
async function uploadFile(localPath, cloudPath) {
const fileData = fs.readFileSync(localPath);
const uploadRequest = new GroupDocsMergerCloud.UploadFileRequest({
path: cloudPath,
file: fileData
});
await storageApi.uploadFile(uploadRequest);
}
// ---------- Helper to download a cloud file to local storage ----------
async function downloadFile(cloudPath, localPath) {
const downloadRequest = new GroupDocsMergerCloud.DownloadFileRequest({ path: cloudPath });
const response = await storageApi.downloadFile(downloadRequest);
fs.writeFileSync(localPath, response);
}
// ---------- Main execution ----------
(async () => {
try {
// 1. Upload source PDF to cloud storage
const localInputPdf = path.resolve(__dirname, 'input.pdf'); // local source PDF
const cloudInputPdf = 'input/input.pdf'; // cloud path
await uploadFile(localInputPdf, cloudInputPdf);
console.log('Uploaded PDF to cloud storage.');
// 2. Configure split options (example: split into two parts: pages 1‑2 and 3‑5)
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
pages: ['1-2', '3-5'] // page ranges to split
});
// 3. Build split request
const splitRequest = new GroupDocsMergerCloud.SplitDocumentRequest({
fileInfo: new GroupDocsMergerCloud.FileInfo({ filePath: cloudInputPdf }),
options: splitOptions
});
// 4. Execute split operation
const splitResult = await mergerApi.splitDocument(splitRequest);
console.log(`Split operation completed. ${splitResult.length} parts generated.`);
// 5. Download each split part and save locally
for (let i = 0; i < splitResult.length; i++) {
const partInfo = splitResult[i];
const localOutputPath = path.resolve(__dirname, `output_part_${i + 1}.pdf`);
await downloadFile(partInfo.path, localOutputPath);
console.log(`Saved split part ${i + 1} to ${localOutputPath}`);
}
// 6. (Optional) Clean up cloud storage – delete uploaded source file
const deleteRequest = new GroupDocsMergerCloud.DeleteFileRequest({ path: cloudInputPdf });
await storageApi.deleteFile(deleteRequest);
console.log('Cleaned up source file from cloud storage.');
} catch (error) {
console.error('Error during PDF split process:', error);
}
})();
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, überprüfen Sie, 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.
PDF mit REST-API und cURL aufteilen
Wenn Sie einen reinen REST-Ansatz bevorzugen, kann dieselbe Aufteilungsoperation mit cURL-Befehlen durchgeführt werden. Die nachstehenden Schritte zeigen, wie Sie ein Zugriffstoken erhalten, das Quell-PDF hochladen, die Aufteilung ausführen und jeden Teil herunterladen.
# 1. Zugriffstoken abrufen (ersetzen Sie YOUR_CLIENT_ID und YOUR_CLIENT_SECRET)
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"
# 2. Upload the source PDF (replace YOUR_ACCESS_TOKEN and adjust paths)
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @./input.pdf
# 3. Execute the split operation (pages 1-2 and 3-5)
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/split" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "input.pdf" },
"options": { "pages": ["1-2","3-5"] }
}'
# 4. Download each generated part (example for part 1)
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output_part_1.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o ./output_part_1.pdf
Für eine vollständige Liste der Endpunkte und Parameter siehe die offizielle API-Dokumentation.
Wie das Aufteilen von PDF in mehrere PDFs in Node.JS funktioniert
Das Verständnis des Ablaufs hilft Ihnen, den Code an komplexere Szenarien anzupassen.
- API-Client initialisieren -
new GroupDocsMergerCloud.ApiClient()erstellt einen Client, der Ihre App SID und App Key enthält.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
- Quelldatei hochladen – Der Helfer
uploadFileliest das lokale PDF und sendet es mithilfe vonstorageApi.uploadFilean den Cloud‑Speicher.
await uploadFile(localInputPdf, cloudInputPdf);
- Split-Optionen konfigurieren -
new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] })teilt dem Dienst mit, welche Seitenbereiche extrahiert werden sollen.
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
pages: ['1-2', '3-5']
});
- Senden Sie die Aufteilungsanforderung -
mergerApi.splitDocument(splitRequest)sendet die Anforderung und gibt ein Array mit Informationen zu jedem erzeugten Teil zurück.
const splitResult = await mergerApi.splitDocument(splitRequest);
- Ergebnisse herunterladen - Die Schleife iteriert über
splitResult, ruftdownloadFilefür jeden Teil auf und speichert ihn lokal.
for (let i = 0; i < splitResult.length; i++) {
const partInfo = splitResult[i];
await downloadFile(partInfo.path, localOutputPath);
}
Für detailliertere Informationen zu jeder Klasse und Methode siehe die API‑Referenz.
Voraussetzungen und Einrichtung
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Node.js 14 oder neuer installiert.
- Ein GroupDocs Cloud-Konto mit gültiger App SID und App Key.
- Zugriff auf das Internet für API-Aufrufe.
Installieren Sie das SDK über npm und laden Sie das neueste Paket herunter:
npm install groupdocs-merger-cloud
Sie können die Binärdateien auch direkt von der Download‑Seite abrufen.
Feinabstimmung der Split-Optionen
Das SplitOptions-Objekt bietet mehrere Eigenschaften, die Sie anpassen können:
- pages - Ein Array von Seitenbereichen (z. B.
['1-2','3-5']). Dies ist die zentrale Einstellung, die im Beispiel verwendet wird. - outputPath - Optionaler Ordner, in dem die geteilten Dateien im Cloud‑Speicher abgelegt werden.
- preserveMetadata - Wenn auf
truegesetzt, werden die ursprünglichen Dokumentmetadaten in jeden Teil kopiert. Siehe die API‑Referenz für weitere Optionen.
Durch Anpassen dieser Werte können Sie die Größe, Benennung und Metadaten jeder resultierenden PDF steuern.
Fazit
Das Aufteilen von PDFs in mehrere PDFs in Node.JS wird mit dem GroupDocs.Merger Cloud SDK for Node.JS unkompliziert. Das SDK übernimmt das Hochladen von Dateien, die Auswahl von Seitenbereichen und das Abrufen des Ergebnisses, sodass Sie sich darauf konzentrieren können, die Ausgabe in Ihren Arbeitsablauf zu integrieren. Denken Sie daran, Ihre App SID und Ihren App Key zu sichern, und ziehen Sie in Betracht, für Produktionsumgebungen eine kommerzielle Lizenz zu verwenden. Preisdetails finden Sie auf der Produktseite, und Sie können eine temporäre Lizenz von der temporäre Lizenzseite erhalten. Mit dem Code, den cURL‑Beispielen und den Konfigurationstipps in diesem Leitfaden sind Sie bereit, ein robustes PDF‑Aufteilen in Ihren Node.JS‑Anwendungen zu implementieren.
FAQs
Wie splitte ich ein PDF in mehrere PDFs in Node.JS mit benutzerdefinierten Seitenbereichen?
Verwenden Sie diepages-Eigenschaft vonSplitOptions, um einen beliebigen Bereich zu definieren, z. B.['1-3','4-6']. Das SDK erzeugt für jeden Bereich ein separates PDF.Kann ich ein PDF teilen, ohne es dauerhaft im Cloud‑Speicher zu speichern?
Ja. Nachdem Sie die Quelldatei hochgeladen und das Teilen abgeschlossen haben, können Sie die Originaldatei mitstorageApi.deleteFilelöschen, wie im Beispiel gezeigt.Benötige ich eine kostenpflichtige Lizenz, um die Split‑Funktion in der Produktion zu verwenden?
Für die Nutzung in der Produktion ist eine kommerzielle Lizenz erforderlich. Besuchen Sie die Produktseite für Preisangaben und erhalten Sie eine temporäre Lizenz von der temporäre Lizenzseite für die Evaluierung.
