Jak łączyć i scalać pliki PDF w jeden online za pomocą Node.js

Łącz i scalaj pliki PDF w One Online za pomocą Node.js

Czasami może być konieczne połączenie dwóch lub więcej plików PDF, aby uzyskać pełniejszy plik. Na przykład musisz scalić pliki PDF w celu utworzenia dokumentów przy użyciu wcześniej utworzonych plików w celu odniesienia do danych lub gdy różni użytkownicy pracują nad tym samym tematem. Łączenie plików PDF pomaga zachować spójność informacji i zwiększyć wydajność dokumentów. Ręczne kopiowanie i wklejanie treści lub importowanie zawartości z innych dokumentów w celu scalania może być uciążliwe. Dlatego nauczymy się łączyć i scalać pliki PDF w jeden online za pomocą Node.js REST API.

W tym artykule omówimy następujące tematy.

Online Document Merger REST API i Node.js SDK

Aby połączyć wiele plików PDF, użyję Node.js SDK of GroupDocs.Merger Cloud API. Pozwala łączyć, wyodrębniać, usuwać i zmieniać kolejność pojedynczej strony lub zbioru stron z obsługiwanych formatów dokumentów, takich jak Word, Excel, PowerPoint, rysunki Visio, PDF i HTML itp.

Następujące polecenie w konsoli włączy chmurę GroupDocs.Merger dla Twojej aplikacji Node.js:

npm install groupdocs-merger-cloud

Przed wykonaniem wspomnianych kroków uzyskaj swój identyfikator klienta i klucz tajny z panelu nawigacyjnego. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

# Zaimportuj Node.js SDK do swojej aplikacji węzła z http://api.groupdocs.cloud
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// pobierz clientId i clientSecret z https://dashboard.groupdocs.cloud (wymagana jest bezpłatna rejestracja).
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Scalanie i łączenie plików PDF w jeden za pomocą Node.js

W tej sekcji nauczymy się, jak programowo łączyć wiele plików PDF w jeden plik w chmurze, wykonując proste czynności podane poniżej:

Prześlij pliki PDF

Najpierw użyj poniższego przykładu kodu, aby przesłać pliki PDF do chmury:

// skonstruuj FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// otwórz plik w IOStream z dysku systemowego.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // czytać pliki jeden po drugim
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // utwórz prośbę o przesłanie pliku
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // Przesyłanie pliku
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Przesłane pliki PDF będą zatem dostępne w sekcji plików pulpitu nawigacyjnego w chmurze.

Połącz wiele plików PDF w jeden online za pomocą Node.js

Następnie programowo połącz wiele plików PDF w jeden plik, wykonując czynności wymienione poniżej:

  • Utwórz instancję DocumentApi
  • Teraz utwórz pierwszy JoinItem
  • Następnie utwórz pierwszy element FileInfo
  • Podaj ścieżkę pliku wejściowego dla pierwszego elementu łączenia w informacjach o pliku
  • Utwórz drugi JoinItem
  • Utwórz drugi element FileInfo
  • Podaj ścieżkę pliku wejściowego dla drugiego elementu JoinItem w pliku FileInfo
  • Utwórz wiele plików JoinOptions
  • Dodaj oddzieloną przecinkami listę utworzonych elementów dołączania
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz JoinRequest z JoinOptions jako argumentem
  • Na koniec uzyskaj wyniki, wywołując metodę join() interfejsu DocumentAPI

Poniższy fragment kodu pokazuje, jak scalić wiele plików PDF za pomocą REST API w Node.js:

// Jak scalać i łączyć pliki PDF w jeden za pomocą Node.js
const combine = async () => {

let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// utwórz pierwszy element łączenia
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";

// utwórz drugi element łączenia
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";

// utwórz opcje dołączania
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Utwórz prośbę o dołączenie dokumentów
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

combine()
.then(() => {
  console.log("Successfully combined PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

Pobierz Połącz pliki PDF

Scalony plik PDF zostanie zapisany w chmurze przy użyciu powyższego fragmentu kodu. Możesz go pobrać, korzystając z następującego przykładowego kodu:

// skonstruować FileApi, aby pobrać scalony plik
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// utwórz żądanie pobrania pliku
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pdf", myStorage);
// pobierz plik i typ odpowiedzi Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // zapisz plik w katalogu systemowym
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Jak scalić wiele stron plików PDF w Node.js

Możesz szybko programowo scalić określone slajdy z wielu plików PDF w jeden plik, wykonując czynności wymienione poniżej:

  • Najpierw utwórz instancję DocumentApi
  • Następnie utwórz pierwszy JoinItem
  • Teraz utwórz pierwszy element FileInfo
  • Ustaw ścieżkę pliku wejściowego dla pierwszego JoinItem w pliku FileInfo
  • Podaj oddzieloną przecinkami listę stron do połączenia
  • Utwórz drugi JoinItem
  • Utwórz drugi element FileInfo
  • Ustaw ścieżkę pliku wejściowego dla drugiego JoinItem w pliku FileInfo
  • Teraz ustaw wartość startPageNumber
  • następnie ustaw wartość endPageNumber
  • Utwórz wiele plików JoinOptions
  • Dodaj oddzieloną przecinkami listę utworzonych elementów dołączania
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz JoinRequest z JoinOptions jako argumentem
  • Uzyskaj wyniki, wywołując metodę join() interfejsu DocumentAPI

Poniższy fragment kodu pokazuje, jak scalić określone pliki PDF za pomocą REST API w Node.js:

// Jak scalić wiele stron plików PDF w Node.js
const mergespecific = async () => {

  // Scalanie inicjalizacji interfejsu API plików PDF
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // utwórz pierwszy element łączenia
  let item1 = new groupdocs_merger_cloud.JoinItem();
  item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";
  item1.pages = [1, 3];

  // utwórz drugi element łączenia
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // utwórz opcje dołączania
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Utwórz prośbę o dołączenie dokumentów
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

mergespecific()
.then(() => {
  console.log("Successfully merged PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

Połącz pliki PDF w jeden darmowy online

Wypróbuj następujące bezpłatne narzędzie online do łączenia plików PDF, które zostało opracowane przy użyciu powyższego interfejsu API.

Wniosek

Z tego artykułu dowiedziałeś się:

  • jak scalić wiele plików PDF w jeden plik PDF za pomocą Node.js;
  • jak scalać określone strony plików PDF w Node.js za pomocą REST API;
  • programowo przesyłaj pliki PDF i pobieraj scalony plik PDF z chmury;

Interfejs API umożliwia również zmianę kolejności lub zamianę stron dokumentu, zmianę orientacji strony, zarządzanie hasłami do dokumentów i łatwe wykonywanie innych operacji dla dowolnego obsługiwanego formatu pliku. Zapewnia również zestawy SDK .NET, Java, PHP, Ruby, Android i Python jako członkowie rodziny łączenia dokumentów dla Cloud API. Możesz dowiedzieć się więcej o GroupDocs.Merge Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację i interakcję z naszymi interfejsami API bezpośrednio w przeglądarce.

Zalecamy również przeczytanie naszego Przewodnika wprowadzającego.

Ponadto groupdocs.cloud pisze inne artykuły na blogu na nowe tematy. Prosimy o zapoznanie się z najnowszymi aktualizacjami.

Zadać pytanie

Możesz zadawać pytania dotyczące łączenia plików PDF za pośrednictwem naszego Bezpłatnego forum wsparcia

Często zadawane pytania

Jak połączyć wiele stron w jeden plik PDF za pomocą Node.js?

Postępuj zgodnie z kodem Node.js, aby dowiedzieć się, jak szybko i łatwo łączyć pliki PDF w oknach. Możesz odwiedzić dokumentację, aby uzyskać szczegółowe informacje o interfejsie API.

Zobacz też

Sugerujemy przeczytanie następujących artykułów, aby dowiedzieć się więcej: