เอกสาร PDF จะรักษาเนื้อหารวมถึงรูปภาพและข้อความไว้ตามเดิม ในบางกรณี เราอาจต้องแยกรูปภาพออกจากไฟล์ PDF acrobat เพื่อนำมาใช้ใหม่ เราสามารถแยกรูปภาพหรือรูปภาพทั้งหมดจากหน้าเฉพาะที่ฝังอยู่ในเอกสาร PDF โดยทางโปรแกรมบนคลาวด์ได้อย่างง่ายดาย ในบทความนี้ เราจะมาเรียนรู้วิธีแยกรูปภาพจากไฟล์ PDF โดยใช้ REST API ใน Node.js
หัวข้อต่อไปนี้จะกล่าวถึงเพื่อแยกรูปภาพจาก pdf ในบทความนี้:
- Image Extractor REST API และ Node.js SDK
- แยกรูปภาพจาก PDF โดยใช้ REST API ใน Node.js
- บันทึกรูปภาพตามหมายเลขหน้าจากเอกสาร PDF ใน Node.js
- แยกรูปภาพจากเอกสารที่แนบมาด้วย PDF ใน Node.js
Image Extractor REST API และ Node.js SDK
สำหรับการดึงรูปภาพออกจากเอกสาร PDF เราจะใช้ Node.js SDK ของ GroupDocs.Parser Cloud API อนุญาตให้แยกข้อความ รูปภาพ และแยกวิเคราะห์ข้อมูลโดยเทมเพลตจาก รูปแบบเอกสารยอดนิยมทั้งหมด โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:
npm install groupdocs-parser-cloud
โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:
// ตัวอย่างโค้ดนี้สาธิตวิธีเพิ่ม ID ลูกค้าและรหัสลับในโค้ด
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
- ดาวน์โหลดthe extracted images
อัปโหลดเอกสาร
ประการแรก เราจะอัปโหลดเอกสาร 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);
});
ดาวน์โหลดภาพที่แยกออกมา
ตัวอย่างโค้ดด้านบนจะบันทึกภาพที่แยกไว้บนคลาวด์ เราสามารถดาวน์โหลดรูปภาพเหล่านี้ได้โดยใช้ตัวอย่างโค้ดด้านล่าง:
// ตัวอย่างโค้ดนี้สาธิตวิธีดาวน์โหลดรูปภาพจากระบบคลาวด์โดยใช้ 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 ออนไลน์ฟรีต่อไปนี้เพื่อแยกรูปภาพ PDF ออนไลน์ ซึ่งพัฒนาโดยใช้ API ด้านบน https://products.groupdocs.app/parser/pdf
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีการ:
- แยกรูปภาพจากไฟล์ PDF โดยใช้ Node.js บนคลาวด์
- อัปโหลดไฟล์ PDF ไปยังคลาวด์โดยทางโปรแกรม
- ดาวน์โหลดภาพที่แยกจากคลาวด์
นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Parser Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม