استخراج تصاویر از فایل های PDF با استفاده از Node.js

PDF اسناد محتوا از جمله تصاویر و متن را همانطور که هست حفظ می‌کنند. در موارد خاص، ممکن است نیاز به استخراج تصاویر از فایل‌های آکروبات PDF برای استفاده مجدد از آنها داشته باشیم. ما به راحتی می توانیم تمام تصاویر یا تصاویر را از صفحات خاصی که در اسناد PDF تعبیه شده است را به صورت برنامه نویسی در فضای ابری استخراج کنیم. در این مقاله نحوه استخراج تصاویر از فایل های PDF با استفاده از REST API در Node.js را یاد می گیریم.

برای استخراج عکس ها از pdf در این مقاله موضوعات زیر پوشش داده می شود:

Image Extractor REST API و Node.js SDK

برای استخراج تصاویر از اسناد PDF، از API Node.js SDK of GroupDocs.Parser Cloud استفاده خواهیم کرد. این امکان استخراج متن، تصاویر و تجزیه داده ها توسط یک الگو را از همه [فرمت های سند محبوب] فراهم می کند. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

npm install groupdocs-parser-cloud

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 4 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

// این مثال کد نشان می دهد که چگونه شناسه مشتری و Secret خود را در کد اضافه کنید.
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";

استخراج تصاویر از PDF با استفاده از REST API در Node.js

می‌توانیم با دنبال کردن مراحل ساده زیر، تصاویر را از اسناد PDF استخراج کنیم:

سند را آپلود کنید

ابتدا سند PDF حاوی تصاویر را با استفاده از نمونه کد زیر در فضای ابری آپلود می کنیم:

// این مثال کد نحوه آپلود PDF را در فضای ابری در node.js نشان می دهد 
// FileApi را بسازید
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// مسیر فایل ورودی
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // درخواست آپلود فایل
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // آپلود فایل
  fileApi.uploadFile(request);
});

در نتیجه، فایل PDF آپلود شده در بخش فایل ها داشبورد در فضای ابری در دسترس خواهد بود. این فایل برای استخراج تصویر از pdf موجود است.

تمام تصاویر را از فایل PDF در Node.js استخراج کنید

اکنون با انجام مراحل زیر تمامی تصاویر را از فایل PDF آپلود شده به صورت برنامه نویسی استخراج می کنیم:

  • ابتدا یک نمونه از ParseApi ایجاد کنید.
  • سپس مسیر فایل PDF آپلود شده را ارائه دهید.
  • سپس ImageOptions را تعریف کرده و فایل را اختصاص دهید.
  • پس از آن، ImagesRequest را با ImageOptions به عنوان آرگومان ایجاد کنید.
  • در نهایت با فراخوانی متد images() تصاویر را استخراج کنید.

نمونه کد زیر نحوه استخراج تمام تصاویر از یک فایل PDF را با استفاده از REST API در Node.js نشان می دهد.

// این مثال کد نشان می دهد که چگونه می توان تمام تصاویر را از یک PDF در Node.js استخراج کرد.
//مقداردهی اولیه Api
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// مسیر فایل ورودی
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// گزینه های تصویر را تعریف کنید
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// درخواست تصویر
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// استخراج تصاویر
let result = await parseApi.images(request);

// نمایش نتایج
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);
});
استخراج تصاویر از PDF با استفاده از REST API در Node.js

استخراج تصاویر از PDF با استفاده از REST API در Node.js

دانلود تصاویر استخراج شده

نمونه کد بالا تصاویر استخراج شده را در فضای ابری ذخیره می کند. با استفاده از نمونه کد زیر می توانیم این تصاویر را دانلود کنیم:

// این مثال کد نحوه دانلود تصاویر از ابر با استفاده از Node.js را نشان می دهد
// نمونه های ضروری api را بسازید
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// دریافت درخواست لیست فایل ها
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// دریافت لیست فایل ها
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // درخواست دانلود فایل
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

  // دریافت فایل
  let response = await fileApi.downloadFile(request);

  // فایل را در پوشه روی دیسک ذخیره کنید
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

به این صورت می توان تصویر را از فایل pdf صادر کرد و سپس آن را از ابر دانلود کرد.

تصاویر را بر اساس شماره صفحه از اسناد PDF در Node.js ذخیره کنید

با دنبال کردن مراحل زیر می‌توانیم به جای کل سند، تصویر را از صفحات خاص PDF صادر کنیم.

  • ابتدا یک نمونه از ParseApi ایجاد کنید.
  • سپس مسیر فایل PDF آپلود شده را ارائه دهید.
  • سپس ImageOptions را تعریف کرده و فایل را اختصاص دهید.
  • شماره صفحه شروع و تعداد کل صفحات را از جایی که می توان تصاویر استخراج کرد را تنظیم کنید.
  • پس از آن، ImagesRequest را با ImageOptions به عنوان آرگومان ایجاد کنید.
  • در نهایت با فراخوانی متد images() تصاویر را استخراج کنید.

نمونه کد زیر نحوه استخراج تصاویر از فایل pdf با شماره صفحه از یک سند PDF را با استفاده از REST API در Node.js نشان می دهد. لطفا برای دانلود تصاویر استخراج شده مراحل ذکر شده را انجام دهید.

// این مثال کد نحوه استخراج تصاویر از صفحات خاص یک PDF در Node.js را نشان می دهد.
//مقداردهی اولیه Api
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// مسیر فایل ورودی
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// گزینه های تصویر را تعریف کنید
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// درخواست تصویر
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// استخراج تصاویر
let result = await parseApi.images(request);

// نمایش نتایج
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);
  });
});

استخراج تصاویر از سند پیوست شده با PDF در Node.js

همچنین می‌توانیم با دنبال کردن مراحل زیر، تصاویر را از یک سند در یک ظرف استخراج کنیم که به صورت پیوست در یک فایل PDF موجود است.

  • ابتدا یک نمونه از ParseApi ایجاد کنید.
  • سپس مسیر فایل PDF آپلود شده را ارائه دهید.
  • سپس ImageOptions را تعریف کرده و فایل را اختصاص دهید.
  • سپس ContainerItemInfo را تعریف کرده و مسیر نسبی سند داخلی را ارائه دهید.
  • پس از آن، ImagesRequest را با ImageOptions به عنوان آرگومان ایجاد کنید.
  • در نهایت با فراخوانی متد images() تصاویر را استخراج کنید.

نمونه کد زیر نحوه استخراج تصاویر از یک سند در یک سند PDF را با استفاده از REST API در Node.js نشان می دهد. لطفا برای دانلود تصاویر استخراج شده مراحل ذکر شده را انجام دهید.

// این مثال کد نحوه استخراج تصاویر از یک سند پیوست شده در PDF در Node.js را نشان می دهد.
// مقداردهی اولیه Api
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// مسیر فایل ورودی
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// گزینه های تصویر را تعریف کنید
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// اقلام ظرف
options.ContainerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
options.ContainerItemInfo.relativePath = "template-document.pdf";

// درخواست تصویر
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// استخراج تصاویر
let result = await parseApi.images(request);

// نمایش نتایج
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

آنلاین را امتحان کنید

چگونه تصاویر را از pdf به صورت رایگان استخراج کنیم؟ لطفاً ابزار تجزیه و تحلیل PDF آنلاین رایگان زیر را برای استخراج آنلاین تصاویر پی دی اف که با استفاده از API فوق توسعه یافته است، امتحان کنید. https://products.groupdocs.app/parser/pdf

نتیجه

در این مقاله یاد گرفتیم که چگونه:

  • استخراج تصاویر از فایل های PDF با استفاده از Node.js در فضای ابری.
  • به صورت برنامه نویسی یک فایل PDF را در فضای ابری آپلود کنید.
  • تصاویر استخراج شده را از ابر دانلود کنید.

علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Parser Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [فروم 13 تماس بگیرید.

همچنین ببینید