Programiści często muszą podzielić duże pliki PDF na mniejsze, łatwiejsze do zarządzania sekcje. Dzięki GroupDocs.Merger Cloud SDK for Node.JS, podział pliku PDF na wiele części staje się prosty, ponieważ usługa w chmurze zajmuje się ciężką pracą, a Ty koncentrujesz się na logice aplikacji. Ten przewodnik zawiera w pełni działający przykład, pokazuje, jak wykonać to samo zadanie za pomocą cURL oraz wyjaśnia opcje konfiguracji, które pozwalają precyzyjnie dostosować operację podziału.
Podział PDF na wiele plików PDF w Node.JS – kompletny przykład kodu
Ten przykład demonstruje, jak podzielić plik PDF na wiele plików PDF przy użyciu GroupDocs.Merger Cloud SDK for Node.JS.
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);
}
})();
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są prawidłowo zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Podział PDF przy użyciu REST API z cURL
Jeśli wolisz czyste podejście REST, tę samą operację podziału można wykonać za pomocą poleceń cURL. Poniższe kroki pokazują, jak uzyskać token dostępu, przesłać źródłowy plik PDF, wykonać podział i pobrać każdą część.
# 1. Get an access token (replace YOUR_CLIENT_ID and 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. Pobierz każdą wygenerowaną część (przykład dla części 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
Aby uzyskać pełną listę punktów końcowych i parametrów, zobacz oficjalną dokumentację API.
Jak działa podział PDF na wiele plików PDF w Node.JS
Zrozumienie przepływu pomaga dostosować kod do bardziej złożonych scenariuszy.
- Zainicjalizuj klienta API -
new GroupDocsMergerCloud.ApiClient()tworzy klienta, który przechowuje Twój App SID i App Key.
const client = new GroupDocsMergerCloud.ApiClient();
client.appSid = 'YOUR_APP_SID';
client.appKey = 'YOUR_APP_KEY';
- Prześlij plik źródłowy - Pomocnicza funkcja
uploadFileodczytuje lokalny plik PDF i wysyła go do pamięci w chmurze przy użyciustorageApi.uploadFile.
await uploadFile(localInputPdf, cloudInputPdf);
- Skonfiguruj opcje podziału -
new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] })informuje usługę, które zakresy stron mają zostać wyodrębnione.
const splitOptions = new GroupDocsMergerCloud.SplitOptions({
pages: ['1-2', '3-5']
});
- Wyślij żądanie podziału -
mergerApi.splitDocument(splitRequest)wysyła żądanie i zwraca tablicę z informacjami o każdym wygenerowanym fragmencie.
const splitResult = await mergerApi.splitDocument(splitRequest);
- Pobierz wyniki - Pętla iteruje po
splitResult, wywołującdownloadFiledla każdej części i zapisując ją lokalnie.
for (let i = 0; i < splitResult.length; i++) {
const partInfo = splitResult[i];
await downloadFile(partInfo.path, localOutputPath);
}
Aby uzyskać bardziej szczegółowe informacje o każdej klasie i metodzie, zapoznaj się z referencją API.
Wymagania wstępne i konfiguracja
Zanim rozpoczniesz, upewnij się, że masz następujące:
- Zainstalowany Node.js 14 lub nowszy.
- Konto GroupDocs Cloud z ważnym App SID i App Key.
- Dostęp do Internetu w celu wywołań API.
Zainstaluj SDK za pomocą npm i pobierz najnowszy pakiet:
npm install groupdocs-merger-cloud
Możesz także pobrać pliki binarne bezpośrednio ze strony pobierania.
Dostosowywanie opcji podziału
Obiekt SplitOptions oferuje kilka właściwości, które możesz dostosować:
- pages - Tablica zakresów stron (np.
['1-2','3-5']). To jest podstawowe ustawienie użyte w przykładzie. - outputPath - Opcjonalny folder, w którym podzielone pliki będą przechowywane w chmurze.
- preserveMetadata - Gdy ustawione na
true, oryginalne metadane dokumentu są kopiowane do każdej części. Zobacz referencję API po więcej opcji.
Dostosowanie tych wartości pozwala kontrolować rozmiar, nazewnictwo i metadane każdego wygenerowanego pliku PDF.
Podsumowanie
Dzielenie plików PDF na wiele plików PDF w Node.JS staje się proste dzięki GroupDocs.Merger Cloud SDK for Node.JS. SDK obsługuje przesyłanie plików, wybór zakresu stron oraz pobieranie wyników, co pozwala skupić się na integracji wyjścia z Twoim przepływem pracy. Pamiętaj, aby zabezpieczyć swój App SID i App Key oraz rozważ użycie licencji komercyjnej w środowiskach produkcyjnych. Szczegóły cenowe są dostępne na stronie produktu, a tymczasową licencję można uzyskać na stronie tymczasowej licencji. Dzięki kodowi, przykładom cURL i wskazówkom konfiguracyjnym w tym przewodniku, jesteś gotowy wdrożyć solidne dzielenie PDF w swoich aplikacjach Node.JS.
FAQ
Jak podzielić PDF na wiele plików PDF w Node.JS używając własnych zakresów stron?
Użyj właściwościpagesklasySplitOptions, aby zdefiniować dowolny potrzebny zakres, na przykład['1-3','4-6']. SDK wygeneruje osobny plik PDF dla każdego zakresu.Czy mogę podzielić plik PDF bez przechowywania go na stałe w chmurze?
Tak. Po przesłaniu pliku źródłowego i zakończeniu podziału możesz usunąć oryginalny plik za pomocąstorageApi.deleteFile, jak pokazano w przykładzie.Czy potrzebuję płatnej licencji, aby używać funkcji podziału w produkcji?
Licencja komercyjna jest wymagana do użytku produkcyjnego. Odwiedź stronę produktu, aby sprawdzić ceny, i uzyskaj tymczasową licencję ze strony tymczasowej licencji w celu oceny.
