Wyodrębnij obrazy z plików PDF za pomocą Node.js

Dokumenty PDF zachowują treść, w tym obrazy i tekst, w niezmienionej postaci. W niektórych przypadkach może być konieczne wyodrębnienie obrazów z plików PDF Acrobat w celu ich ponownego wykorzystania. Możemy łatwo wyodrębnić wszystkie obrazy lub obrazy z określonych stron osadzonych w dokumentach PDF programowo w chmurze. W tym artykule dowiemy się, jak wyodrębnić obrazy z plików PDF za pomocą REST API w Node.js.

W tym artykule zostaną omówione następujące tematy, aby wyodrębnić zdjęcia z pliku PDF:

Image Extractor REST API i Node.js SDK

Do wyodrębniania obrazów z dokumentów PDF będziemy używać Node.js SDK of GroupDocs.Parser Cloud API. Umożliwia wyodrębnianie tekstu, obrazów i analizowanie danych za pomocą szablonu ze wszystkich popularnych formatów dokumentów. Zainstaluj go za pomocą następującego polecenia w konsoli:

npm install groupdocs-parser-cloud

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

// Ten przykład kodu pokazuje, jak dodać identyfikator klienta i klucz tajny do kodu.
global.clientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
global.clientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
global.myStorage = "";

const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Wyodrębnij obrazy z pliku PDF za pomocą interfejsu API REST w Node.js

Możemy wyodrębnić obrazy z dokumentów PDF, wykonując proste czynności wymienione poniżej:

Prześlij dokument

Najpierw prześlemy dokument PDF zawierający obrazy do chmury, korzystając z przykładowego kodu podanego poniżej:

// Ten przykład kodu demonstruje, jak przesłać plik PDF do chmury w pliku node.js 
// Skonstruuj FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Wprowadź ścieżkę pliku
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Prześlij prośbę o plik
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // Przesyłanie pliku
  fileApi.uploadFile(request);
});

W rezultacie przesłany plik PDF będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze. Ten plik jest dostępny do wyodrębnienia obrazu z pliku PDF.

Wyodrębnij wszystkie obrazy z pliku PDF w Node.js

Teraz programowo wyodrębnimy wszystkie obrazy z przesłanego pliku PDF, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję ParseApi.
  • Następnie podaj ścieżkę przesłanego pliku PDF.
  • Następnie zdefiniuj ImageOptions i przypisz plik.
  • Następnie utwórz ImagesRequest z ImageOptions jako argumentem.
  • Na koniec wyodrębnij obrazy, wywołując metodę images().

Poniższy przykładowy kod pokazuje, jak wyodrębnić wszystkie obrazy z pliku PDF przy użyciu interfejsu API REST w Node.js.

// Ten przykład kodu demonstruje, jak wyodrębnić wszystkie obrazy z pliku PDF w Node.js.
//Inicjalizacja interfejsu API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Wprowadź ścieżkę pliku
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// zdefiniuj opcje obrazu
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Prośba o zdjęcie
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Wyodrębnij obrazy
let result = await parseApi.images(request);

// Pokaż wyniki
let images = result.images;
images.forEach(image => {
  console.log("Image path in storage: " + image.path);
  console.log("Download url: " + image.downloadUrl);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});
Wyodrębnij obrazy z pliku PDF za pomocą interfejsu API REST w Node.js

Wyodrębnij obrazy z pliku PDF za pomocą interfejsu API REST w Node.js

Pobierz wyodrębnione obrazy

Powyższy przykładowy kod zapisze wyodrębnione obrazy w chmurze. Możemy pobrać te obrazy, korzystając z przykładowego kodu podanego poniżej:

// Ten przykład kodu demonstruje, jak pobierać obrazy z chmury przy użyciu Node.js
// Skonstruuj niezbędne instancje interfejsu API
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Pobierz żądanie listy plików
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// Pobierz listę plików
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // Pobierz prośbę o plik
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

  // Pobieranie pliku
  let response = await fileApi.downloadFile(request);

  // Zapisz plik w folderze na dysku
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

Oto jak wyeksportować obraz z pliku pdf, a następnie pobrać go z chmury.

Zapisz obrazy według numerów stron z dokumentów PDF w Node.js

Możemy wyeksportować obraz z określonych stron PDF zamiast całego dokumentu, wykonując czynności podane poniżej.

  • Najpierw utwórz instancję ParseApi.
  • Następnie podaj ścieżkę przesłanego pliku PDF.
  • Następnie zdefiniuj ImageOptions i przypisz plik.
  • Ustaw numer strony początkowej i całkowitą liczbę stron, z których mają zostać wyodrębnione obrazy.
  • Następnie utwórz ImagesRequest z ImageOptions jako argumentem.
  • Na koniec wyodrębnij obrazy, wywołując metodę images().

Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z pliku pdf według numerów stron z dokumentu PDF przy użyciu interfejsu API REST w Node.js. Wykonaj czynności wymienione wcześniej, aby pobrać wyodrębnione obrazy.

// Ten przykład kodu demonstruje, jak wyodrębnić obrazy z określonych stron pliku PDF w Node.js.
//Inicjalizacja interfejsu API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Wprowadź ścieżkę pliku
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Zdefiniuj opcje obrazu
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// Prośba o zdjęcie
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Wyodrębnij obrazy
let result = await parseApi.images(request);

// Pokaż wyniki
let pages = result.pages;
pages.forEach(page => {
  console.log("Page index: " + page.pageIndex);
  page.images.forEach(image => {
    console.log("Download url: " + image.downloadUrl);
    console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
  });
});

Wyodrębnij obrazy z dokumentu załączonego w formacie PDF w Node.js

Możemy również wyodrębnić obrazy z dokumentu znajdującego się w kontenerze, dostępnego jako załącznik w pliku PDF, wykonując czynności podane poniżej.

  • Najpierw utwórz instancję ParseApi.
  • Następnie podaj ścieżkę przesłanego pliku PDF.
  • Następnie zdefiniuj ImageOptions i przypisz plik.
  • Następnie zdefiniuj ContainerItemInfo i podaj względną ścieżkę do dokumentu wewnętrznego.
  • Następnie utwórz ImagesRequest z ImageOptions jako argumentem.
  • Na koniec wyodrębnij obrazy, wywołując metodę images().

Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z dokumentu wewnątrz dokumentu PDF przy użyciu interfejsu API REST w Node.js. Wykonaj czynności wymienione wcześniej, aby pobrać wyodrębnione obrazy.

// Ten przykład kodu demonstruje, jak wyodrębnić obrazy z dokumentu załączonego w pliku PDF w Node.js.
// Inicjalizacja interfejsu API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Wprowadź ścieżkę pliku
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// Zdefiniuj opcje obrazu
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Element kontenera
options.ContainerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
options.ContainerItemInfo.relativePath = "template-document.pdf";

// Prośba o zdjęcie
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Wyodrębnij obrazy
let result = await parseApi.images(request);

// Pokaż wyniki
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

Wypróbuj online

Jak wyodrębnić obrazy z pdf za darmo? Wypróbuj następujące bezpłatne narzędzie online do analizowania plików PDF, aby wyodrębnić obrazy PDF online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/parser/pdf

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • wyodrębniaj obrazy z plików PDF za pomocą Node.js w chmurze;
  • programowo przesłać plik PDF do chmury;
  • pobierz wyodrębnione obrazy z chmury.

Poza tym możesz dowiedzieć się więcej o GroupDocs.Parser Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też