การแทรกวัตถุ Ole ใน Word ด้วยแพ็คเกจ Ole

การแนะนำ

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

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

ก่อนที่เราจะเริ่ม โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  1. Aspose.Words สำหรับ .NET: หากคุณยังไม่ได้ดาวน์โหลด ให้ดาวน์โหลดจากที่นี่.
  2. สภาพแวดล้อมการพัฒนา: Visual Studio หรือสภาพแวดล้อมการพัฒนา .NET อื่นๆ
  3. ความเข้าใจพื้นฐานเกี่ยวกับ C#: คุณไม่จำเป็นต้องเป็นผู้เชี่ยวชาญ แต่การรู้จักใช้งาน C# จะเป็นประโยชน์
  4. ไดเรกทอรีเอกสาร: โฟลเดอร์ที่คุณสามารถจัดเก็บและค้นหาเอกสารได้

นำเข้าเนมสเปซ

ขั้นแรก เรามาจัดเนมสเปซของเราให้เรียบร้อยกันก่อน คุณต้องรวมเนมสเปซต่อไปนี้ไว้ในโปรเจ็กต์ของคุณ:

using System;
using System.IO;
using Aspose.Words;
using Aspose.Words.Drawing;

มาแบ่งขั้นตอนออกเป็นขั้นตอนเล็กๆ น้อยๆ เพื่อให้ทำตามได้ง่าย

ขั้นตอนที่ 1: ตั้งค่าเอกสารของคุณ

ลองนึกภาพว่าคุณเป็นศิลปินที่มีผืนผ้าใบเปล่า ขั้นแรก เราต้องการผืนผ้าใบเปล่า ซึ่งก็คือเอกสาร Word ของเรา วิธีตั้งค่ามีดังนี้

// เส้นทางไปยังไดเรกทอรีเอกสารของคุณ
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

โค้ดนี้จะเริ่มต้นเอกสาร Word ใหม่และตั้งค่า DocumentBuilder ซึ่งเราจะใช้ในการแทรกเนื้อหาเข้าไปในเอกสารของเรา

ขั้นตอนที่ 2: อ่านวัตถุ Ole ของคุณ

ต่อไปเรามาอ่านไฟล์ที่คุณต้องการฝังกัน ลองนึกภาพว่านี่เป็นการหยิบสมบัติที่คุณต้องการซ่อนไว้ในช่องลับของคุณ:

byte[] bs = File.ReadAllBytes(dataDir + "Zip file.zip");

บรรทัดนี้จะอ่านไบต์ทั้งหมดจากไฟล์ ZIP ของคุณและจัดเก็บไว้ในอาร์เรย์ไบต์

ขั้นตอนที่ 3: แทรกวัตถุ Ole

ตอนนี้มาถึงส่วนที่มหัศจรรย์แล้ว เราจะฝังไฟล์ลงในเอกสาร Word ของเรา:

using (Stream stream = new MemoryStream(bs))
{
    Shape shape = builder.InsertOleObject(stream, "Package", true, null);
    OlePackage olePackage = shape.OleFormat.OlePackage;
    olePackage.FileName = "filename.zip";
    olePackage.DisplayName = "displayname.zip";
}

ที่นี่เราสร้างสตรีมหน่วยความจำจากอาร์เรย์ไบต์และใช้InsertOleObject วิธีการฝังลงในเอกสาร เรายังตั้งชื่อไฟล์และชื่อที่แสดงสำหรับวัตถุที่ฝังไว้ด้วย

ขั้นตอนที่ 4: บันทึกเอกสารของคุณ

สุดท้ายนี้เรามาบันทึกผลงานชิ้นเอกของเราไว้:

doc.Save(dataDir + "WorkingWithOleObjectsAndActiveX.InsertOleObjectWithOlePackage.docx");

การดำเนินการนี้จะบันทึกเอกสารพร้อมไฟล์ฝังของคุณลงในไดเร็กทอรีที่ระบุ

บทสรุป

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

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

ฉันสามารถฝังไฟล์ประเภทอื่นโดยใช้วิธีนี้ได้หรือไม่?

ใช่ คุณสามารถฝังไฟล์ประเภทต่างๆ เช่น แผ่นงาน Excel, PDF และรูปภาพได้

ฉันต้องมีใบอนุญาตสำหรับ Aspose.Words หรือไม่?

ใช่ คุณต้องมีใบอนุญาตที่ถูกต้อง คุณสามารถรับได้ใบอนุญาตชั่วคราว เพื่อการประเมินผล

ฉันจะปรับแต่งชื่อที่แสดงของวัตถุ OLE ได้อย่างไร

คุณสามารถตั้งค่าได้DisplayName ทรัพย์สินของOlePackage เพื่อปรับแต่งมัน

Aspose.Words เข้ากันได้กับ .NET Core ได้หรือไม่

ใช่ Aspose.Words รองรับทั้ง .NET Framework และ .NET Core

ฉันสามารถแก้ไขวัตถุ OLE ที่ฝังไว้ในเอกสาร Word ได้หรือไม่

ไม่ คุณไม่สามารถแก้ไขวัตถุ OLE โดยตรงภายใน Word ได้ คุณต้องเปิดวัตถุนั้นในแอปพลิเคชันดั้งเดิม