แปลง Excel เป็น PDF

แปลง Excel เป็น PDF โดยใช้ Node.js

Excel เป็นรูปแบบไฟล์ยอดนิยมรูปแบบหนึ่งสำหรับการจัดเก็บข้อมูลการคำนวณ สามารถจัดเก็บข้อมูล เช่น ตัวเลขและสูตร ข้อความ และรูปร่าง นอกจากนี้ Excel ยังเป็นส่วนหนึ่งของชุดซอฟต์แวร์ Microsoft Office ดังนั้นผู้ใช้จำนวนมากจึงใช้ Excel เพื่อสร้างไฟล์ XLS นอกจากนี้ เนื่องจาก Excel สามารถจัดเก็บข้อมูลในตารางเซลล์ที่จัดเรียงเป็นแถวที่มีหมายเลขและคอลัมน์ที่มีชื่อเป็นตัวอักษรเพื่อจัดระเบียบการจัดการข้อมูล เช่น การดำเนินการทางคณิตศาสตร์ จึงทำให้ Excel ได้รับความนิยมอย่างมาก แต่ในการดูไฟล์เหล่านี้ คุณจะต้องติดตั้งแอปพลิเคชันเฉพาะ นอกจากนี้ ซอฟต์แวร์เวอร์ชันต่างๆ ยังแสดงไฟล์ในรูปแบบที่แตกต่างกัน ดังนั้น เพื่อแก้ไขปัญหาเหล่านี้ การแปลงไฟล์เป็นรูปแบบ PDF จึงเป็นวิธีแก้ปัญหาที่ใช้งานได้ เนื่องจากเว็บเบราว์เซอร์ส่วนใหญ่บนเดสก์ท็อปและแอปพลิเคชันฟรีต่างๆ บนอุปกรณ์พกพาสามารถแสดงเอกสาร PDF ได้อย่างสะดวก

ในบทความนี้ เราจะพูดถึงการแปลง Excel เป็น PDF โดยใช้ Cloud REST API

API การแปลง Excel เป็น PDF

Aspose.Cells Cloud คือ REST API ที่ได้รับรางวัลของเรา ซึ่งมีความสามารถในการสร้างไฟล์ Excel ตั้งแต่ต้น แก้ไขเนื้อหาในไฟล์ที่มีอยู่ และเรนเดอร์ไฟล์เป็นรูปแบบต่างๆ เช่น XLSM, HTML, XPS, TIFF, SVG และอื่นๆ อีกมากมาย ดังนั้น ตามขอบเขตของบทความนี้ เราจะใช้ Aspose.Cells Cloud SDK สำหรับ Node.js

แปลง Excel เป็น PDF โดยใช้คำสั่ง cURL

ในส่วนนี้ เราจะใช้คำสั่ง cURL เพื่อบันทึก Excel เป็นรูปแบบ PDF ดังนั้นขั้นตอนแรกคือการสร้างบัญชีสมัครสมาชิกฟรีบน Aspose.Cloud Dashboard หากคุณมีบัญชี GitHub หรือ Google เพียงลงทะเบียน มิฉะนั้น ให้คลิกที่ปุ่ม สร้างบัญชีใหม่ และระบุข้อมูลที่จำเป็น เข้าสู่ระบบแดชบอร์ดเพื่อเข้าถึงข้อมูลประจำตัวลูกค้าของคุณ

ตอนนี้โปรดดำเนินการคำสั่งต่อไปนี้เพื่อสร้างโทเค็นการเข้าถึง JWT

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

เมื่อเรามีโทเค็น JWT แล้ว เราจะต้องดำเนินการคำสั่ง cURL ต่อไปนี้เพื่ออัปโหลดไฟล์จากระบบภายในเครื่องไปยังที่จัดเก็บข้อมูลบนคลาวด์ จากนั้นจึงดำเนินการแปลงเป็นรูปแบบ PDF

curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xls" \
-H  "accept: application/json" 
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}
https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xlsx

ในกรณีที่คุณต้องการแปลงไฟล์ XLS ที่มีอยู่ในระบบจัดเก็บข้อมูลบนคลาวด์เป็นรูปแบบ PDF โปรดลองใช้คำสั่ง cURL ต่อไปนี้:

curl -X GET "https://api.aspose.cloud/v3.0/cells/conditional.xls?format=PDF&isAutoFit=true&onlySaveTable=false&outPath=output.pdf" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

แปลง XLS เป็น PDF ใน Node.js

ในส่วนนี้ เราจะมาพูดถึงขั้นตอนและรายละเอียดเกี่ยวกับวิธีการแปลงเวิร์กชีต Excel เป็นรูปแบบ PDF โดยใช้ Node.js SDK ขั้นตอนแรกคือการติดตั้ง SDK บนระบบภายในเครื่อง ซึ่งสามารถดาวน์โหลดได้ที่ NPM และ GitHub ดังนั้น เราจะเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง SDK จาก NPM

npm i asposecellscloud

หลังจากการติดตั้งแล้ว เราสามารถรันโค้ดสั้นๆ ต่อไปนี้เพื่อดำเนินการแปลง XLS เป็น PDF โดยใช้ Node.js

  • สร้างวัตถุโดยกำหนดรหัสไคลเอนต์และรายละเอียดความลับของไคลเอนต์
  • จากนั้นสร้างอ็อบเจ็กต์ของคลาส CellsApi ที่รับรายละเอียด Client ID และ Client Secret เป็นอาร์กิวเมนต์
  • ขั้นตอนถัดไปคือการอ่านเนื้อหาของไฟล์ XLS อินพุตที่มีอยู่ในระบบท้องถิ่นโดยใช้เมธอด createReadStream(…) ของโมดูลระบบไฟล์
  • ตอนนี้ให้สร้างอินสแตนซ์ของคลาส UploadFileRequest จากนั้นส่งข้อมูลสตรีมอินพุตไปยังคุณสมบัติไฟล์
  • เพื่ออัปโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์ โปรดเรียกใช้เมธอด uploadFile(…) ของ CellsApi
  • ขั้นตอนถัดไปคือการสร้างอ็อบเจ็กต์ของคลาส CellsSaveAsPostDocumentSaveAsRequest(…)
  • นอกจากนี้ ให้สร้างอินสแตนซ์ของคลาส PdfSaveOptions และส่งค่าของ PDF ไปยังคุณสมบัติ saveFormat
  • ในที่สุด เรียกใช้เมธอด cellsSaveAsPostDocumentSaveAs(..) ของคลาส CellsApi เพื่อเริ่มกระบวนการแปลง
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// รับ ClientId และ ClientSecret ของคุณจาก https://dashboard.aspose.cloud (ต้องลงทะเบียนฟรี)
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// สร้างอินสแตนซ์ของ CellsApi
const cellsApi = new CellsApi(clientId, clientSecret);

// ชื่อเอกสารอินพุต Excel
filename = "conditional.xlsx"

// รวมการอ้างอิงโมดูลระบบไฟล์ในโค้ดของคุณ
const fs = require("fs");

// อ่านเนื้อหาอินพุตไฟล์ Excel
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// สร้างอินสแตนซ์คำขอ FileUpload
var req = new UploadFileRequest();
req.path = filename;
// ตั้งค่าเนื้อหาเป็นอินสแตนซ์สตรีมที่มีไฟล์ Excel ที่โหลดไว้
req.file = data;

// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
return cellsApi.uploadFile(req)
    .then((result) => {
        // สร้างเอกสารอินสแตนซ์ SaveAsRequest
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // สร้างวัตถุของคลาส PdfSaveOptions
        req.saveOptions = new PdfSaveOptions();
  
        // ตั้งค่ารูปแบบไฟล์ผลลัพธ์เป็น PDF
        req.saveOptions.saveFormat = "pdf";
        
        // ตั้งชื่อไฟล์ผลลัพธ์ใหม่
        req.newfilename = "newbook.pdf";
        // เนื่องจากเราจะบันทึกในตำแหน่งเริ่มต้น ดังนั้นเราจะตั้งค่า null เป็นค่าโฟลเดอร์        
        req.folder = null;
    
        // เรียกใช้เมธอด SaveAsPostDocument เพื่อเริ่มกระบวนการแปลง     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

บทสรุป

ในบทความนี้ เราได้กล่าวถึงรายละเอียดเกี่ยวกับการแปลง Excel เป็นรูปแบบ PDF ในรูปแบบที่เรียบง่ายและสะดวกสบาย โปรดทราบว่า Aspose.Cells Cloud SDK สำหรับ Node.js ได้รับการพัฒนาตามหลักการโอเพ่นซอร์ส ดังนั้นโค้ดต้นฉบับทั้งหมดจึงพร้อมให้ดาวน์โหลดที่ GitHub หากคุณพบปัญหาใดๆ ในขณะใช้ API หรือมีคำถามที่เกี่ยวข้อง โปรดอย่าลังเลที่จะถามผ่าน ฟอรัมสนับสนุนผลิตภัณฑ์ฟรี

บทความที่เกี่ยวข้อง

คุณอาจลองเยี่ยมชมลิงค์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ