ควบคุมทรัพยากรภายนอกใน Excel เป็น PDF ใน Aspose.Cells

การแนะนำ

ในยุคดิจิทัลทุกวันนี้ การแปลงสเปรดชีต Excel เป็นเอกสาร PDF ถือเป็นงานทั่วไป ไม่ว่าจะเป็นการเตรียมรายงาน ข้อมูลทางการเงิน หรือเอกสารนำเสนอ คุณคงอยากจะแน่ใจว่า PDF ของคุณมีลักษณะตรงตามที่ต้องการ Aspose.Cells สำหรับ .NET เป็นไลบรารีที่มีประสิทธิภาพที่ให้คุณควบคุมกระบวนการแปลงนี้ได้อย่างละเอียด โดยเฉพาะเมื่อต้องจัดการกับทรัพยากรภายนอก เช่น รูปภาพที่มากับไฟล์ Excel ของคุณ ในคู่มือนี้ เราจะเจาะลึกถึงวิธีการควบคุมทรัพยากรภายนอกระหว่างกระบวนการแปลง Excel เป็น PDF โดยใช้ Aspose.Cells หยิบเครื่องดื่มที่คุณชอบแล้วเริ่มกันเลย!

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่มต้นลงรายละเอียด เรามาตรวจสอบกันก่อนว่าคุณได้เตรียมทุกอย่างที่จำเป็นแล้ว นี่คือรายการตรวจสอบโดยย่อ:

  1. Visual Studio หรือ IDE ที่เข้ากันได้กับ .NET ใด ๆ: คุณจะต้องการสภาพแวดล้อมในการเขียนและทดสอบโค้ดของคุณ
  2. Aspose.Cells สำหรับ .NET: หากคุณยังไม่ได้ติดตั้ง ให้ไปที่ดาวน์โหลด Aspose หน้าและรับเวอร์ชั่นล่าสุด
  3. ความรู้พื้นฐานเกี่ยวกับ C#: ความคุ้นเคยกับภาษาการเขียนโปรแกรม C# จะเป็นประโยชน์ หากคุณไม่แน่ใจเกี่ยวกับแนวคิดใด ๆ อย่าลังเลที่จะค้นหา
  4. ตัวอย่างไฟล์ Excel: เตรียมไฟล์ Excel พร้อมทรัพยากรภายนอกใดๆ ที่คุณต้องการแปลง คุณสามารถใช้ไฟล์ตัวอย่างที่ให้มา “samplePdfSaveOptions_StreamProvider.xlsx”
  5. ไฟล์รูปภาพสำหรับการทดสอบ: ไฟล์นี้จะใช้เป็นทรัพยากรภายนอกระหว่างการแปลง ไฟล์รูปภาพ “newPdfSaveOptions_StreamProvider.png” เป็นตัวแทนที่ดี

แพ็คเกจนำเข้า

ในการเริ่มต้น คุณจะต้องนำเข้าเนมสเปซที่จำเป็นจากไลบรารี Aspose.Cells ซึ่งเป็นสิ่งสำคัญสำหรับการเข้าถึงฟังก์ชันต่างๆ ของไลบรารี อย่าลืมเพิ่มคำสั่ง using ต่อไปนี้ที่ด้านบนสุดของไฟล์:

using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using Aspose.Cells;
using Aspose.Cells.Drawing;
using Aspose.Cells.Rendering;
using System;

แพ็คเกจเหล่านี้จะมอบคลาสและวิธีการที่จำเป็นทั้งหมดที่คุณจำเป็นต้องใช้ในการดำเนินการงานของคุณ

ขั้นตอนที่ 1: สร้างคลาสผู้ให้บริการสตรีมของคุณ

ลำดับแรกของธุรกิจคือการสร้างคลาสผู้ให้บริการสตรีมที่ใช้งานIStreamProvider อินเทอร์เฟซ คลาสนี้จะช่วยให้คุณควบคุมวิธีการโหลดทรัพยากรภายนอกได้

class MyStreamProvider : IStreamProvider
{
    public void CloseStream(StreamProviderOptions options)
    {
        Debug.WriteLine("-----Close Stream-----");
    }
    public void InitStream(StreamProviderOptions options)
    {
        string sourceDir = "Your Document Directory";
        Debug.WriteLine("-----Init Stream-----");
        // อ่านภาพใหม่ในสตรีมหน่วยความจำและกำหนดให้กับคุณสมบัติสตรีม
        byte[] bts = File.ReadAllBytes(sourceDir + "newPdfSaveOptions_StreamProvider.png");
        MemoryStream ms = new MemoryStream(bts);
        options.Stream = ms;
    }
}

ในชั้นเรียนนี้:

  • CloseStream: วิธีการนี้จะถูกเรียกใช้เมื่อสตรีมถูกปิด ในตอนนี้ เรากำลังเขียนข้อความดีบักเพื่อติดตาม
  • InitStream: นี่คือจุดเริ่มต้นของเวทมนตร์ ที่นี่ คุณจะอ่านภาพภายนอกของคุณเป็นอาร์เรย์ไบต์ แปลงเป็นสตรีมหน่วยความจำ และกำหนดให้กับoptions.Stream คุณสมบัติ.

ขั้นตอนที่ 2: ตั้งค่าไดเร็กทอรีแหล่งที่มาและเอาต์พุต

ตอนนี้ผู้ให้บริการสตรีมของคุณพร้อมแล้ว ถึงเวลาที่จะกำหนดว่าไฟล์ Excel ของคุณอยู่ที่ไหน และคุณต้องการบันทึก PDF ไว้ที่ใด

// ไดเรกทอรีแหล่งที่มา
string sourceDir = "Your Document Directory";
// ไดเรกทอรีผลลัพธ์
string outputDir = "Your Document Directory";

เพียงแค่แทนที่"Your Document Directory" ด้วยเส้นทางจริงบนคอมพิวเตอร์ของคุณซึ่งไฟล์ของคุณอยู่ การจัดระเบียบไฟล์ของคุณจึงเป็นสิ่งสำคัญ!

ขั้นตอนที่ 3: โหลดไฟล์ Excel ของคุณ

จากนั้นคุณจะโหลดไฟล์ Excel ที่คุณต้องการสร้าง PDF

// โหลดไฟล์ Excel ต้นฉบับที่มีรูปภาพภายนอก
Workbook wb = new Workbook(sourceDir + "samplePdfSaveOptions_StreamProvider.xlsx");

เรากำลังใช้Workbook คลาสจาก Aspose.Cells ซึ่งแสดงไฟล์ Excel ของคุณ ไฟล์ดังกล่าวสามารถรวมทรัพยากรภายนอกต่างๆ เช่น รูปภาพ ที่คุณต้องการควบคุมในระหว่างการแปลง

ขั้นตอนที่ 4: ตั้งค่าตัวเลือกการบันทึก PDF

ก่อนที่คุณจะบันทึกสมุดงานเป็น PDF เรามาระบุก่อนว่าคุณต้องการบันทึกอย่างไร คุณสามารถปรับเปลี่ยนตัวเลือกเหล่านี้ได้ตามความต้องการของคุณ

// ระบุตัวเลือกการบันทึก PDF - ผู้ให้บริการสตรีม
PdfSaveOptions opts = new PdfSaveOptions();
opts.OnePagePerSheet = true; // บันทึกแต่ละแผ่นในหน้าใหม่

ที่นี่เรากำลังสร้างอินสแตนซ์ใหม่ของPdfSaveOptions ซึ่งช่วยให้คุณปรับแต่งรูปแบบ PDF ของคุณได้OnePagePerSheetตัวเลือกนี้มีประโยชน์สำหรับการให้แน่ใจว่าแผ่นงาน Excel แต่ละแผ่นจะมีหน้าของตัวเองใน PDF ขั้นสุดท้าย

ขั้นตอนที่ 5: กำหนดผู้ให้บริการสตรีมของคุณ

เมื่อคุณตั้งค่าตัวเลือก PDF แล้ว คุณต้องแจ้งให้ Aspose ใช้ผู้ให้บริการสตรีมแบบกำหนดเองสำหรับทรัพยากรภายนอก

wb.Settings.StreamProvider = new MyStreamProvider();

เส้นนี้เชื่อมต่อของคุณWorkbook ตัวอย่างด้วยMyStreamProvider คลาสที่คุณสร้างไว้ก่อนหน้านี้ ซึ่งหมายความว่าเมื่อใดก็ตามที่พบทรัพยากรภายนอกระหว่างการแปลง ผู้ให้บริการของคุณจะจัดการทรัพยากรเหล่านั้นตามที่ระบุ

ขั้นตอนที่ 6: บันทึกสมุดงานเป็น PDF

เมื่อทุกอย่างพร้อมแล้ว ในที่สุดก็ได้เวลาบันทึกเวิร์กบุ๊ก Excel ของคุณเป็น PDF

// บันทึกสมุดงานเป็น PDF
wb.Save(outputDir + "outputPdfSaveOptions_StreamProvider.pdf", opts);

โดยการโทรหาSave วิธีการบนวัตถุเวิร์กบุ๊กและส่งผ่านไดเร็กทอรีเอาต์พุตของคุณพร้อมกับตัวเลือก PDF คุณกำลังแปลงไฟล์ Excel เป็น PDF ที่มีการจัดรูปแบบสวยงาม

ขั้นตอนที่ 7: ยืนยันการดำเนินการสำเร็จ

โดยสรุปแล้ว การยืนยันว่ากระบวนการของคุณประสบความสำเร็จนั้นเป็นเรื่องที่ดีเสมอ!

Console.WriteLine("ControlLoadingOfExternalResourcesInExcelToPDF executed successfully.\r\n");

การพิมพ์ข้อความแจ้งความสำเร็จไปยังคอนโซลจะช่วยให้คุณทราบสถานะการดำเนินการของคุณ การรวมข้อความยืนยันเล็กๆ น้อยๆ เหล่านี้ไว้ในโค้ดของคุณถือเป็นนิสัยที่ดี

บทสรุป

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

คำถามที่พบบ่อย

Aspose.Cells คืออะไร?

Aspose.Cells เป็นไลบรารีอันทรงพลังสำหรับนักพัฒนา .NET ที่ช่วยให้คุณสามารถสร้าง จัดการ แปลง และเรนเดอร์ไฟล์ Excel ในรูปแบบต่างๆ ได้

ฉันจะดาวน์โหลด Aspose.Cells ได้อย่างไร?

คุณสามารถดาวน์โหลด Aspose.Cells เวอร์ชันล่าสุดได้จากลิงค์ดาวน์โหลด.

ฉันสามารถทดลองใช้ Aspose.Cells ฟรีได้หรือไม่?

ใช่! คุณสามารถทดลองใช้งานฟรีได้โดยเข้าไปที่หน้าทดลองใช้งานฟรี.

ฉันสามารถค้นหาการสนับสนุนสำหรับ Aspose.Cells ได้ที่ไหน

สำหรับคำถามที่เกี่ยวข้องกับการสนับสนุนใด ๆ คุณสามารถเยี่ยมชมได้ที่ฟอรั่มสนับสนุน Aspose.

ฉันจะขอใบอนุญาตชั่วคราวสำหรับ Aspose.Cells ได้อย่างไร

คุณสามารถสมัครขอใบอนุญาตชั่วคราวได้ที่นี่.