OLE ย่อมาจาก Object Linking and Embedding ให้บริการโดย Microsoft และอนุญาตให้คุณสร้างและแก้ไขเอกสารที่มีรายการหรือวัตถุที่สร้างโดยแอปพลิเคชันต่างๆ

ตัวอย่างเช่น คุณสามารถฝังสเปรดชีต รูปภาพ และคลิปเสียงเป็นวัตถุ OLE ในเอกสาร Word คุณสามารถใช้ออบเจกต์ OLE เหล่านี้ในเอกสาร Word และไม่ต้องกังวลกับการเปลี่ยนไปใช้หลายแอปพลิเคชันครั้งแล้วครั้งเล่า คุณสามารถฝังหรือแทรกวัตถุดังกล่าวโดยทางโปรแกรมโดยใช้ OLE ใน C#

บทความนี้จะแนะนำคุณเกี่ยวกับวิธีการ:

ขั้นตอนในบทความนี้และตัวอย่างโค้ดใช้ GroupDocs.Merger for .NET ดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ติดตั้ง API จากวิธีใดๆ ต่อไปนี้:

แทรก PDF เป็นวัตถุ OLE ลงในเอกสาร MS Word ใน C#

แทรก PDF เป็น OLE ในเอกสาร Word ใน C#

ต่อไปนี้เป็นขั้นตอนและตัวอย่างโค้ด C# เพื่อแสดงวิธีการฝังไฟล์ PDF ลงในเอกสาร Word เป็นวัตถุ OLE:

  1. สร้างอินสแตนซ์ของ OleWordProcessingOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในเอกสาร Word
  2. ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยเส้นทางหรือสตรีมเอกสาร Word ต้นทาง
  3. เรียกใช้เมธอด ImportDocument และส่งวัตถุของตัวเลือกการประมวลผลคำ OLE ที่กำหนดไว้ในขั้นตอนที่ 1
  4. แค่นั้นแหละ. เรียกเมธอด Save เพื่อรับเอกสาร Word ที่เป็นผลลัพธ์ซึ่งมีเอกสาร PDF เป็นวัตถุ OLE
// Embed a PDF file into a Word document as an OLE Object in C#
int pageNumber = 2;
OleWordProcessingOptions oleWordProcessingOptions = new OleWordProcessingOptions(@"embedded-doc.pdf", pageNumber)
{ 
    Width = 300, // Just setting the height & width, you have more options.
    Height = 300
};
// Use Merger class to start with source Word document and embed PDF as OLE object.
using (Merger merger = new Merger(@"source-doc.docx"))
{
    merger.ImportDocument(oleWordProcessingOptions);
    merger.Save(@"word-document-with-OLE.docx");
}

แทรกเอกสาร Word เป็นวัตถุ OLE ลงในสเปรดชีต Excel ใน C#

แทรก OLE ของไฟล์ Word ในสเปรดชีต Excel ใน C#

เราสามารถฝังวัตถุ OLE ลงในสเปรดชีต Excel ตัวอย่างรหัส CSharp และขั้นตอนด้านล่างอธิบายวิธีเพิ่มเอกสาร Word ลงในสเปรดชีต Excel เป็นวัตถุ OLE:

  1. สร้างอินสแตนซ์ของ OleSpreadsheetOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในสเปรดชีต Excel
  2. ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยเส้นทางหรือสตรีมสเปรดชีตต้นทาง
  3. ตอนนี้เรียกเมธอด ImportDocument และส่งวัตถุของตัวเลือกสเปรดชีต OLE ที่ตั้งไว้ในขั้นตอนที่ 1
  4. สุดท้าย ให้เรียกเมธอด Save เพื่อให้ได้สเปรดชีต Excel ที่มีเอกสาร Word เป็นวัตถุ OLE
// Embed a Word file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OleSpreadsheetOptions oleSpreadsheetOptions = new OleSpreadsheetOptions(@"embedded-doc.docx", pageNumber)
{
    RowIndex = 2, // Setting the Row & height Index, you have more options.
    ColumnIndex = 2
};
// Using Merger class with source spreadsheet and embedding a Word document as an OLE object.
using (Merger merger = new Merger(@"sample-doc.xlsx"))
{
    merger.ImportDocument(oleSpreadsheetOptions);
    merger.Save(@"excel-sheet-with-ole.xlsx");
}

เพิ่ม PDF เป็นวัตถุ OLE เพื่อนำเสนอ PowerPoint ใน C#

แทรก PDF เป็น OLE ในงานนำเสนอ PowerPoint ใน C#

ในทำนองเดียวกัน ที่นี่เรากำลังแทรกวัตถุในงานนำเสนอ PowerPoint

  1. สร้างอินสแตนซ์ของ OlePresentationOptions ด้วยตัวเลือกการฝังและเอกสารที่จะฝังในงานนำเสนอ PowerPoint
  2. ตอนนี้สร้างอินสแตนซ์ของวัตถุ Merger ด้วยพาธหรือสตรีมการนำเสนอต้นทาง
  3. เรียกใช้เมธอด ImportDocument และส่งวัตถุของตัวเลือกการนำเสนอ OLE ที่กำหนดไว้ในขั้นตอนที่ 1
  4. สุดท้าย เรียกใช้เมธอด บันทึก เพื่อรับงานนำเสนอ PowerPoint ที่เป็นผลลัพธ์พร้อมเอกสาร PDF เป็นวัตถุ OLE
// Embed a PDF file into an Excel Spreadsheet as an OLE Object in C#
int pageNumber = 2;
OlePresentationOptions olePresentationOptions = new OlePresentationOptions(@"embedded.pdf", pageNumber)
{
    X = 10, // Setting only X & Y coordinates, you can customize more.
    Y = 10
};
// Using Merger class to embed a PDF file as an OLE object in the PowerPoint presentation.
using (Merger merger = new Merger(@"sample-presentation.ppt"))
{
    merger.ImportDocument(olePresentationOptions);
    merger.Save(@"powerpoint-presentation-with-ole.ppt");
}

บทสรุป

เราได้พูดถึงวิธีที่ง่ายและรวดเร็วในการแทรกวัตถุ OLE ในเอกสาร Word, Excel หรือ PowerPoint โดยทางโปรแกรมใน C# มีความแตกต่างเพียงเล็กน้อยในโค้ดสำหรับแต่ละวัตถุประสงค์ เช่น คลาสตัวเลือก OLE ที่แตกต่างกันและตัวเลือกสำหรับแต่ละรูปแบบไฟล์:

  • OleWordProcessingOptions เพื่อฝังวัตถุ OLE ในเอกสาร Word
  • OleSpreadsheetOptions เพื่อฝังวัตถุ OLE ในสเปรดชีต Excel
  • OlePresentationOptions เพื่อฝังวัตถุ OLE ในงานนำเสนอ PowerPoint

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API ได้จาก เอกสารประกอบ หรือมาคุยกันเพิ่มเติมที่ ฟอรัมสนับสนุนฟรี