Extrahujte obrázky ze souborů PDF pomocí Node.js

PDF dokumenty uchovávají obsah včetně obrázků a textu tak, jak jsou. V některých případech může být nutné extrahovat obrázky ze souborů PDF akrobat, abychom je mohli znovu použít. Můžeme snadno extrahovat všechny obrázky nebo obrázky z konkrétních stránek vložených do dokumentů PDF programově v cloudu. V tomto článku se naučíme, jak extrahovat obrázky ze souborů PDF pomocí REST API v Node.js.

Následující témata by měla být pokryta pro extrahování fotografií z pdf v tomto článku:

Image Extractor REST API a Node.js SDK

Pro extrahování obrázků z dokumentů PDF budeme používat Node.js SDK of GroupDocs.Parser Cloud API. Umožňuje extrakci textu, obrázků a analýzu dat pomocí šablony ze všech oblíbených formátů dokumentů. Nainstalujte jej pomocí následujícího příkazu v konzole:

npm install groupdocs-parser-cloud

Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:

// Tento příklad kódu ukazuje, jak do kódu přidat ID klienta a tajný klíč.
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";

Extrahujte obrázky z PDF pomocí REST API v Node.js

Obrázky z dokumentů PDF můžeme extrahovat pomocí následujících jednoduchých kroků:

Nahrajte dokument

Nejprve nahrajeme dokument PDF obsahující obrázky do cloudu pomocí níže uvedeného příkladu kódu:

// Tento příklad kódu ukazuje, jak nahrát PDF do cloudu v node.js 
// Vytvořte FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Vstupní cesta k souboru
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Žádost o nahrání souboru
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // Nahrát soubor
  fileApi.uploadFile(request);
});

V důsledku toho bude nahraný soubor PDF k dispozici v sekce souborů řídicího panelu v cloudu. Tento soubor je k dispozici pro extrahování obrázku z pdf.

Extrahujte všechny obrázky ze souboru PDF v Node.js

Nyní extrahujeme všechny obrázky z nahraného souboru PDF programově podle následujících kroků:

  • Nejprve vytvořte instanci ParseApi.
  • Dále zadejte cestu k nahranému souboru PDF.
  • Poté definujte ImageOptions a přiřaďte soubor.
  • Poté vytvořte ImagesRequest s ImageOptions jako argument.
  • Nakonec extrahujte obrázky voláním metody images().

Následující ukázka kódu ukazuje, jak extrahovat všechny obrázky ze souboru PDF pomocí rozhraní REST API v Node.js.

// Tento příklad kódu ukazuje, jak extrahovat všechny obrázky z PDF v Node.js.
//Inicializace API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Vstupní cesta k souboru
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// definovat možnosti obrázku
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Žádost o obrázek
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extrahujte obrázky
let result = await parseApi.images(request);

// Ukázat výsledky
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);
});
Extrahujte obrázky z PDF pomocí REST API v Node.js

Extrahujte obrázky z PDF pomocí REST API v Node.js

Stáhněte si extrahované obrázky

Výše uvedená ukázka kódu uloží extrahované obrázky do cloudu. Tyto obrázky si můžeme stáhnout pomocí níže uvedeného příkladu kódu:

// Tento příklad kódu ukazuje, jak stahovat obrázky z cloudu pomocí Node.js
// Vytvořte potřebné instance API
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Získejte žádost o seznam souborů
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// Získejte seznam souborů
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // Žádost o stažení souboru
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

  // Stáhnout soubor
  let response = await fileApi.downloadFile(request);

  // Uložte soubor do složky na disku
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

Takto exportujete obrázek ze souboru pdf a poté jej stáhnete z cloudu.

Uložte obrázky podle čísel stránek z dokumentů PDF v Node.js

Podle níže uvedených kroků můžeme exportovat obrázek z konkrétních stránek PDF namísto celého dokumentu.

  • Nejprve vytvořte instanci ParseApi.
  • Dále zadejte cestu k nahranému souboru PDF.
  • Poté definujte ImageOptions a přiřaďte soubor.
  • Nastavte číslo úvodní stránky a celkový počet stránek, odkud se mají obrázky extrahovat.
  • Poté vytvořte ImagesRequest s ImageOptions jako argument.
  • Nakonec extrahujte obrázky voláním metody images().

Následující ukázka kódu ukazuje, jak extrahovat obrázky ze souboru PDF podle čísel stránek z dokumentu PDF pomocí REST API v Node.js. Chcete-li stáhnout extrahované obrázky, postupujte podle výše uvedených kroků.

// Tento příklad kódu ukazuje, jak extrahovat obrázky z konkrétních stránek PDF v Node.js.
//Inicializace API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Vstupní cesta k souboru
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Definujte možnosti obrázku
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// Žádost o obrázek
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extrahujte obrázky
let result = await parseApi.images(request);

// Ukázat výsledky
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);
  });
});

Extrahujte obrázky z dokumentu připojeného k PDF v Node.js

Můžeme také extrahovat obrázky z dokumentu uvnitř kontejneru, který je k dispozici jako příloha v souboru PDF, podle níže uvedených kroků.

  • Nejprve vytvořte instanci ParseApi.
  • Dále zadejte cestu k nahranému souboru PDF.
  • Poté definujte ImageOptions a přiřaďte soubor.
  • Dále definujte ContainerItemInfo a zadejte relativní cestu vnitřního dokumentu.
  • Poté vytvořte ImagesRequest s ImageOptions jako argument.
  • Nakonec extrahujte obrázky voláním metody images().

Následující ukázka kódu ukazuje, jak extrahovat obrázky z dokumentu uvnitř dokumentu PDF pomocí rozhraní REST API v Node.js. Chcete-li stáhnout extrahované obrázky, postupujte podle výše uvedených kroků.

// Tento příklad kódu ukazuje, jak extrahovat obrázky z dokumentu připojeného v PDF v Node.js.
// Inicializace API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Vstupní cesta k souboru
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// Definujte možnosti obrázku
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Položka kontejneru
options.ContainerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
options.ContainerItemInfo.relativePath = "template-document.pdf";

// Žádost o obrázek
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extrahujte obrázky
let result = await parseApi.images(request);

// Ukázat výsledky
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

Vyzkoušejte online

Jak extrahovat obrázky z pdf zdarma? Vyzkoušejte prosím následující bezplatný online nástroj pro analýzu PDF k extrahování obrázků PDF online, který je vyvinut pomocí výše uvedeného rozhraní API. https://products.groupdocs.app/parser/pdf

Závěr

V tomto článku jsme se naučili, jak:

  • extrahovat obrázky ze souborů PDF pomocí Node.js v cloudu;
  • programově nahrát soubor PDF do cloudu;
  • stáhnout extrahované obrázky z cloudu.

Kromě toho se můžete dozvědět více o GroupDocs.Parser Cloud API pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat a pracovat s našimi API přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také