บทนำ

Aspose.Slides FOSS for .NET is now available on NuGet: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ไฟล์ทั้งหมดเขียนด้วย C# โดยไม่มีการพึ่งพา Microsoft Office หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ.

ไลบรารีนี้ออกแบบมาสำหรับนักพัฒนาที่ต้องการสร้างหรือจัดการไฟล์พรีเซนเทชันโดยอัตโนมัติ: สร้างสไลด์เด็คจากข้อมูล, ดึงข้อความและเมตาดาต้าจากไฟล์ PPTX ที่อัปโหลด, สร้าง pipeline รายงานที่อิงพรีเซนเทชัน, หรือฝังการสร้างพรีเซนเทชันลงในแอปพลิเคชัน ASP.NET. เนื่องจาก Aspose.Slides.Foss ต้องการ .NET 9.0 หรือใหม่กว่า, จึงสามารถปรับใช้ได้อย่างเหมือนกันบน Windows, macOS, Linux, และคอนเทนเนอร์ Docker.

คุณสมบัติหลัก

  • รองรับ PPTX แบบรอบเต็ม: เปิดไฟล์ใดก็ได้ .pptx ไฟล์, แก้ไขเนื้อหา, และบันทึกกลับโดยไม่สูญเสียส่วน XML ที่ไม่รู้จักซึ่งไลบรารียังไม่เข้าใจ.
  • การจัดการสไลด์: เพิ่ม, ลบ, และวนซ้ำสไลด์โดยใช้ prs.Slides; พรีเซนเทชันเริ่มด้วยสไลด์เปล่า 1 แผ่นหลังจาก new Presentation().
  • AutoShapes, ตาราง, และคอนเน็กเตอร์: แทรกรูปทรงผ่าน slide.Shapes.AddAutoShape(), ข้อมูลตารางผ่าน slide.Shapes.AddTable(), และคอนเน็กเตอร์ภาพระหว่างรูปทรงผ่าน slide.Shapes.AddConnector().
  • การจัดรูปแบบข้อความแบบ Rich Text: จัดรูปแบบข้อความในระดับอักขระด้วย PortionFormat: ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, และสี ARGB ผ่าน FillType.Solid และ ColorFormat.
  • ประเภทการเติม: ใช้ FillType.Solid, Gradient, Pattern, หรือ Picture เติมเต็มให้กับรูปทรงใดก็ได้.
  • เอฟเฟกต์ภาพ: เงานอก, แสงเรืองแสง, ขอบนุ่ม, เบลอ, การสะท้อน, และเงาภายใน ผ่าน shape.EffectFormat.
  • 3D formatting: Bevel, กล้อง, light rig, material, และ extrusion depth ผ่าน shape.ThreeDFormat.
  • บันทึกของผู้พูด: แนบข้อความบันทึกไปยังแต่ละสไลด์ผ่าน NotesSlideManager.AddNotesSlide().
  • คอมเมนต์แบบเธรด: เพิ่มคอมเมนต์พร้อมเมตาดาต้าของผู้เขียนและตำแหน่งสไลด์.
  • ภาพฝังในเอกสาร: ฝังจากเส้นทางไฟล์, ไบต์, หรือ Stream.
  • คุณสมบัติของเอกสาร: อ่านและเขียนคุณสมบัติ core, app, และ custom.

เริ่มต้นใช้งาน

ติดตั้งจาก NuGet. .NET 9.0 หรือใหม่กว่าเป็นสิ่งจำเป็น.

dotnet add package Aspose.Slides.Foss

สร้างการนำเสนอแรกของคุณด้วยรูปทรงและบันทึกมัน:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("hello.pptx", SaveFormat.Pptx);

ควรใช้เสมอ Presentation ภายใน using บล็อก; สิ่งนี้ทำให้ทรัพยากรภายในทั้งหมดถูกปล่อยเมื่อบล็อกสิ้นสุด.

ตัวอย่างการจัดรูปแบบข้อความ

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold heading in corporate blue");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 28;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("formatted.pptx", SaveFormat.Pptx);

ข้อจำกัดปัจจุบัน

พื้นที่ต่อไปนี้ทำให้เกิด NotImplementedException ในรุ่นนี้:

  • แผนภูมิ, SmartArt, และอ็อบเจ็กต์ OLE
  • การเคลื่อนไหวและการเปลี่ยนสไลด์
  • ส่งออกเป็น PDF, HTML, SVG หรือรูปแบบภาพ
  • ไฮเปอร์ลิงก์, การตั้งค่าการกระทำ, แมโคร VBA, และลายเซ็นดิจิทัล

ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก, ดังนั้นไฟล์ PPTX ที่สร้างโดยเครื่องมืออื่นจะสามารถทำรอบได้อย่างปลอดภัย.

ดูเพิ่มเติม