Łączenie wielu dokumentów PDF w jeden plik jest częstym wymogiem przy budowaniu przepływów dokumentów lub generowaniu raportów. GroupDocs.Merger Cloud SDK for Node.js ułatwia scalanie PDF w Node.JS bez konieczności zajmowania się niskopoziomowymi strukturami PDF. Ten przewodnik prowadzi Cię przez konfigurację, krok po kroku implementację, pełny przykład kodu, równoważne wywołania cURL oraz wskazówki dotyczące wydajności przy dużych lub zaszyfrowanych plikach PDF.
Zanim zaczniesz: Wymagania wstępne i instalacja
Zanim rozpoczniesz, upewnij się, że masz następujące:
- Node.js 14 lub nowszy zainstalowany na Twojej maszynie deweloperskiej.
- Aktywne konto GroupDocs Cloud z identyfikatorem klienta i sekretem klienta.
- Dostęp do plików PDF, które chcesz połączyć, przechowywanych w magazynie GroupDocs Cloud.
Zainstaluj SDK za pomocą npm i pobierz najnowszy pakiet:
npm install groupdocs-merger-cloud
Możesz również pobrać SDK ze strony oficjalnych wydań: Pobierz SDK. Po instalacji jesteś gotowy, aby rozpocząć kodowanie.
Przewodnik krok po kroku łączenia PDF w Node.JS
Krok 1: Zainstaluj SDK i zaimportuj wymagane klasy
Najpierw zaimportuj klasy, które będą potrzebne do scalania plików PDF.
const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");
Ten import zapewnia dostęp do podstawowego API, obiektów konfiguracyjnych i deskryptorów plików.
Krok 2: Skonfiguruj swoje poświadczenia GroupDocs
Utwórz obiekt konfiguracji ze swoimi poświadczeniami klienta.
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
Podanie prawidłowych poświadczeń pozwala bibliotece uwierzytelnić Twoje żądania.
Krok 3: Zdefiniuj pliki PDF do scalenia
Wymień dokumenty PDF, które chcesz połączyć. Ten krok przygotowuje Cię do efektywnego łączenia PDF w Node.JS.
const filesToMerge = [
new FileInfo({ filePath: "input1.pdf" }),
new FileInfo({ filePath: "input2.pdf" })
];
Każdy FileInfo wskazuje na plik przechowywany w Twoim magazynie GroupDocs Cloud.
Krok 4: Ustaw opcje scalania
Skonfiguruj lokalizację wyjścia i dołącz listę plików do żądania scalenia.
const mergeOptions = new MergeOptions();
mergeOptions.fileInfos = filesToMerge;
mergeOptions.outputPath = "merged_output.pdf";
Te ustawienia kontrolują, jak łączysz PDF w Node.JS i gdzie zostanie zapisany wynik.
Krok 5: Wykonaj operację scalania
Utwórz instancję API, wywołaj metodę merge i obsłuż odpowiedź.
const mergeApi = new MergeApi(config);
try {
const result = await mergeApi.mergeDocuments(mergeOptions);
console.log("Merge completed. Output file stored at:", result.path);
} catch (error) {
console.error("Error during PDF merge:", error);
}
Wywołanie asynchroniczne zwraca ścieżkę do połączonego dokumentu, jeśli operacja zakończy się sukcesem.
Pełny przykład implementacji łączenia plików PDF w Node.JS
Poniższy kod demonstruje kompletny przepływ pracy od konfiguracji po obsługę wyników.
const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");
// Configure the SDK (replace with your actual credentials)
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
async function mergePdfFiles() {
// Initialize the Merge API
const mergeApi = new MergeApi(config);
// Define the PDF files to be merged (must exist in GroupDocs Cloud storage)
const filesToMerge = [
new FileInfo({ filePath: "input1.pdf" }),
new FileInfo({ filePath: "input2.pdf" })
];
// Set merge options
const mergeOptions = new MergeOptions();
mergeOptions.fileInfos = filesToMerge;
mergeOptions.outputPath = "merged_output.pdf";
try {
// Perform the merge operation
const result = await mergeApi.mergeDocuments(mergeOptions);
console.log("Merge completed. Output file stored at:", result.path);
} catch (error) {
console.error("Error during PDF merge:", error);
}
}
// Execute the merge
mergePdfFiles();
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ą poprawnie zainstalowane, i dokładnie przetestuj w swoim środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Scalanie plików PDF za pomocą REST API przy użyciu cURL
Jeśli wolisz czyste podejście REST, tę samą operację można wykonać przy użyciu poleceń cURL.
Najpierw uzyskaj token dostępu:
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","grant_type":"client_credentials"}'
Prześlij pliki PDF źródłowe do swojego magazynu (zastąp YOUR_ACCESS_TOKEN tokenem z poprzedniego kroku):
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input1.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/local/path/input1.pdf"
Powtórz przesyłanie pliku input2.pdf. Następnie żądaj operacji scalania:
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfos": [
{"filePath":"input1.pdf"},
{"filePath":"input2.pdf"}
],
"outputPath":"merged_output.pdf"
}'
Na koniec pobierz połączony plik:
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=merged_output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o merged_output.pdf
Aby uzyskać pełną listę punktów końcowych i parametrów, zobacz referencję API.
Konfigurowanie opcji scalania
SDK udostępnia kilka opcji, które pozwalają precyzyjnie dostosować proces scalania:
- outputPath – Ścieżka docelowa dla scalonego pliku PDF. Dostosuj ją, aby kontrolować, gdzie zostanie zapisany wynik.
- fileInfos – Tablica obiektów
FileInfo, które określają źródłowe pliki PDF i ich kolejność.
Możesz także ustawić dodatkowe właściwości, takie jak pages, aby scalić określone zakresy stron, lub password dla zaszyfrowanych plików PDF. Odwołaj się do oficjalnej dokumentacji po pełną listę konfigurowalnych pól.
Rozważania dotyczące wydajności przy łączeniu plików PDF
Podczas łączenia dużych lub wielu plików PDF, pamiętaj o tych wskazówkach:
- Używaj async/await aby uniknąć blokowania pętli zdarzeń, szczególnie przy dużych dokumentach.
- Przesyłanie wsadowe: przesyłaj pliki PDF źródłowe równolegle przed wywołaniem scalania, aby zmniejszyć całkowite opóźnienie.
- Przetwarzanie strumieniowe: dla wyjątkowo dużych plików PDF rozważ przechowywanie wyników pośrednich w chmurze i scalanie ich w mniejszych fragmentach.
- Zaszyfrowane PDF: podaj hasła w obiektach
FileInfo; przetwarzanie zaszyfrowanych plików zwiększa obciążenie, więc scal je po odszyfrowaniu, jeśli to możliwe.
Stosowanie tych praktyk pomaga efektywnie łączyć pliki PDF w Node.JS, minimalizując zużycie pamięci.
Pytania, które możesz mieć
Jak scalić pliki PDF w Node.JS przy użyciu GroupDocs?
Użyj GroupDocs.Merger Cloud SDK for Node.js aby utworzyć instancjęMergeApi, skonfigurowaćMergeOptionsz źródłowymi plikami PDF i wywołaćmergeDocuments. Pełny przykład kodu w tym przewodniku demonstruje proces.Czy mogę scalać zaszyfrowane pliki PDF w Node.JS?
Tak, SDK obsługuje scalanie zaszyfrowanych plików PDF. Podaj prawidłowe hasła w obiektachFileInfoprzed wywołaniemmergeDocuments. Zobacz oficjalną dokumentację po szczegóły.Jakie są opcje licencjonowania dla GroupDocs.Merger?
GroupDocs oferuje elastyczne plany cenowe. Do testów możesz poprosić o tymczasową licencję, aby ocenić bibliotekę przed zakupem pełnej subskrypcji.Gdzie mogę znaleźć więcej przykładów i wsparcia?
Dodatkowe przykłady są dostępne w repozytorium GitHub. Aby uzyskać pomoc, odwiedź forum wsparcia.
