บทนำ
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 ที่สร้างโดยเครื่องมืออื่นจะสามารถทำรอบได้อย่างปลอดภัย.