1. ผลิตภัณฑ์
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for .NET

Aspose.Slides FOSS สำหรับ .NET

สร้าง, อ่าน, และแก้ไขงานนำเสนอ PowerPoint จาก .NET — ฟรีและเปิดแหล่งที่มา, ไม่ต้องพึ่งพา Office

ไลบรารี .NET แบบเปิดแหล่งที่มาสำหรับงานนำเสนอ PowerPoint

Aspose.Slides FOSS for .NET คือไลบรารี pure-C# ที่ได้รับอนุญาตแบบ MIT สำหรับทำงานกับไฟล์ PowerPoint .pptx. เพิ่มแพ็กเกจ NuGet เพียงหนึ่งเดียวและเริ่มสร้าง อ่าน และแก้ไขงานนำเสนอได้ทันทีโดยไม่ต้องติดตั้ง Microsoft Office หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ.

ไลบรารีนี้เปิดเผย Presentation API ที่สร้างขึ้นรอบ ๆ Presentation, Slide, Shape, TextFrame, Paragraph และ Portion, โมเดลเชิงแนวคิดที่ PowerPoint เองใช้. เพิ่มและลบสไลด์, แทรก AutoShapes, ตาราง, และคอนเนคเตอร์, จัดรูปแบบข้อความในระดับอักขระด้วยตัวหนา, ตัวเอียง, ขนาดและสีของฟอนต์, ใช้การเติมสีแบบทึบหรือไล่สี, และเพิ่มเอฟเฟกต์ภาพ (เงา, แสงเรืองแสง, เบลอ, การสะท้อน).

รูปแบบ IDisposable ทำให้การทำความสะอาดทรัพยากรเป็นไปอย่างเชื่อถือได้: ควรห่อ Presentation ไว้ในคำสั่ง using เสมอ. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก, ดังนั้นการทำราวด์‑ทริปจะไม่ทำลายเนื้อหาที่ไลบรารียังไม่เข้าใจ. ไลบรารีต้องการ .NET 9.0 หรือใหม่กว่าและไม่มีส่วนขยายเนทีฟสำหรับคอมไพล์. นักพัฒนาที่ต้องการ API ระดับองค์กรเต็มรูปแบบพร้อมการสนับสนุนการผลิตเต็มที่สามารถใช้ Aspose.Slides for .NET ควบคู่กับทรัพยากรโอเพนซอร์สเหล่านี้.

API การนำเสนอและสไลด์

  • สร้างและเปิด PPTX: สร้างงานนำเสนอใหม่หรือเปิดไฟล์ .pptx ที่มีอยู่ผ่าน new Presentation() หรือ new Presentation(file).
  • เพิ่มและลบสไลด์: จัดการ SlideCollection อย่างโปรแกรมเมติกด้วย AddClone(), AddEmptySlide(), Remove() และ RemoveAt().
  • AutoShapes: แทรกสี่เหลี่ยม, รูปวงรี, เส้น, และรูปทรง ShapeType อื่น ๆ ผ่าน AddAutoShape().
  • ตารางและตัวเชื่อมต่อ: เพิ่มรูปแบบตารางที่มีโครงสร้างและเส้นเชื่อมต่อระหว่างรูปร่างผ่าน AddConnector().
  • Speaker notes: อ่านและเขียนบันทึกผู้พูดต่อสไลด์ผ่าน NotesSlideManager.
  • ความคิดเห็นแบบต่อเนื่อง: เข้าถึงเธรดความคิดเห็นระดับสไลด์ด้วย GetSlideComments().

ที่ที่ Aspose.Slides FOSS สามารถใช้ได้

  • การสร้างรายงาน: สร้างชุดสไลด์ที่มีแบรนด์จากแหล่งข้อมูลโดยไม่ต้องใช้ Office.
  • Template automation: เติมเทมเพลต PPTX ด้วยเนื้อหาแบบไดนามิกใน pipeline CI/CD.
  • การย้ายเนื้อหา: อ่านงานนำเสนอที่มีอยู่และจัดโครงสร้างใหม่หรือปรับสไตล์สไลด์.
  • Serverless backends: ประมวลผลไฟล์ PPTX ภายในคอนเทนเนอร์ Docker หรือ Azure Functions.
  • การประมวลผลแบบชุด: ใช้การเปลี่ยนแปลงการจัดรูปแบบที่สอดคล้องกันทั่วไลบรารีสไลด์เด็คขนาดใหญ่.

การจัดรูปแบบข้อความและเอฟเฟกต์ภาพ

  • การจัดรูปแบบระดับอักขระ: ใช้ตัวหนา, ตัวเอียง, ขนาดฟอนต์, และสีกับวัตถุ Portion แต่ละอันผ่าน PortionFormat.
  • การเติมสีทึบและไล่ระดับสี: ตั้งค่าการเติมรูปทรงเป็นสีทึบหรือไล่ระดับสีเชิงเส้นหลายจุดโดยใช้ FillFormat และ FillType.
  • เงาและเอฟเฟกต์เรืองแสง: ใช้เงานอก, แสงเรืองแสง, เบลอ, และการสะท้อนกับรูปทรงใด ๆ ผ่าน EffectFormat.
  • การจัดแนวย่อหน้า: ตั้งค่าการจัดแนวซ้าย, กลาง, ขวา หรือจัดแนวเต็มตามย่อหน้าด้วย ParagraphFormat.Alignment
  • ปลอดภัยในการเดินทางรอบ: ส่วนที่ไม่รู้จัก XML จะถูกเก็บไว้ตามต้นฉบับเมื่อตบครั้งใหม่

ประสบการณ์ของนักพัฒนา

Aspose.Slides FOSS ติดตั้งด้วยคำสั่ง dotnet add package Aspose.Slides.Foss เพียงคำสั่งเดียว. ไลบรารีเป็น C# แท้โดยไม่มีส่วนขยายเนทีฟที่ต้องคอมไพล์และไม่มีแพคเกจระบบที่ต้องติดตั้ง.

API สะท้อนโมเดลวัตถุของ PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion) ดังนั้นผู้ที่คุ้นเคยกับโมเดลวัตถุของ PowerPoint สามารถใช้ไลบรารีได้ทันที. มันมีสัญญาอนุญาตแบบ MIT, เป็นโอเพนซอร์สบน GitHub, และต้องการ .NET 9.0 หรือใหม่กว่า.

สร้างการนำเสนอและเพิ่มรูปทรง

ใช้คำสั่ง using เพื่อให้แน่ใจว่า Presentation จะถูกทำลายเสมอและปลดปล่อยทรัพยากร AddAutoShape() รับค่า enum ShapeType แล้วตำแหน่ง x/y และความกว้าง/ความสูงเป็นจุด. เรียก AddTextFrame() เพื่อสร้างกรอบข้อความและตั้งค่าข้อความเริ่มต้นในหนึ่งคำสั่ง — อย่าเข้าถึง TextFrame ก่อนเรียก AddTextFrame() เนื่องจากกรอบเป็น null จนกว่าจะสร้าง.

dotnet add package Aspose.Slides.Foss
using Aspose.Slides.Foss;

using var prs = new Presentation();
var slide = prs.Slides[0];

// Add a rectangle AutoShape
var shape = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 400, 150
);
shape.AddTextFrame("Hello, Aspose.Slides!");

prs.Save("output.pptx", SaveFormat.Pptx);

จัดรูปแบบข้อความและใช้เอฟเฟกต์เติม

การจัดรูปแบบข้อความทำงานที่ระดับ Portion — หน่วยที่เล็กที่สุดของชุดอักขระ. เปิดไฟล์ที่บันทึกไว้, ไปยังส่วนแรกของย่อหน้าแรก, และตั้งค่าคุณสมบัติฟอนต์โดยตรง. การเติมสีรูปร่างเป็นอิสระ: ตั้งค่า FillType เป็น Solid และกำหนดสีให้กับ SolidFillColor.Color.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

using var prs = new Presentation("output.pptx");
var shape = (IAutoShape)prs.Slides[0].Shapes[0];
var portion = shape.TextFrame.Paragraphs[0].Portions[0];

// Bold, 18pt, dark-blue text
portion.PortionFormat.FontBold = NullableBool.True;
portion.PortionFormat.FontHeight = 18;
portion.PortionFormat.FillFormat.SolidFillColor.Color =
    Color.FromArgb(255, 0, 0, 139);

// Solid background fill on the shape
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color =
    Color.FromArgb(255, 240, 248, 255);

prs.Save("formatted.pptx", SaveFormat.Pptx);

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

อะไรคือ Aspose.Slides FOSS สำหรับ .NET?

นี่คือไลบรารี pure-C# ฟรีที่มีสัญญาอนุญาต MIT สำหรับการสร้าง, อ่าน, และแก้ไขงานนำเสนอ PowerPoint .pptx โดยไม่ต้องใช้ Microsoft Office.

รูปแบบไฟล์ใดบ้างที่รองรับ?

.pptx เป็นรูปแบบการอ่าน/เขียนที่รองรับ การส่งออกเป็น PDF, HTML, SVG หรือรูปภาพไม่พร้อมใช้งานในรุ่นนี้.

ต้องการ Microsoft Office หรือ PowerPoint หรือไม่?

ไม่. Aspose.Slides FOSS เป็นไลบรารี pure-C# ที่ไม่มีการพึ่งพา Microsoft Office, COM automation หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ

ฉันจะติดตั้งมันอย่างไร?

เรียกใช้ dotnet add package Aspose.Slides.Foss. ไลบรารีต้องการ .NET 9.0 หรือใหม่กว่า ไม่มีส่วนขยายเนทีฟที่ต้องคอมไพล์

ฉันสามารถใช้เอฟเฟกต์ภาพเช่นเงาและแสงเรืองแสงได้หรือไม่?

ใช่. ไลบรารีรองรับเงานอก, แสงเรืองแสง, เบลอ, และเอฟเฟกต์การสะท้อนบนวัตถุรูปทรงใดก็ได้ผ่าน API EffectFormat

แนะนำให้ใช้รูปแบบ IDisposable หรือไม่?

ใช่. ควรห่อ Presentation ด้วยคำสั่ง using (using var prs = new Presentation();) เสมอเพื่อให้การทำความสะอาดทรัพยากรเป็นไปอย่างเชื่อถือได้

การทำ round-tripping ไฟล์ PPTX จะทำให้เนื้อหาที่ไม่รู้จักเสียหายหรือไม่?

ไม่. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตบบันทึก ดังนั้นเนื้อหาที่ไลบรารียังไม่เข้าใจจะไม่หายไป

ฉันจะหาโค้ดต้นฉบับได้จากที่ไหน?

ไลบรารีนี้ใช้สัญญาอนุญาต MIT และโฮสต์บน GitHub ยินดีรับรายงานบั๊กและคำขอดึง (pull request)

  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย