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

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

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

ฉันจะติดตั้ง Aspose.Slides FOSS อย่างไร?

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

dotnet add package Aspose.Slides.Foss

ตรวจสอบการติดตั้ง:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");

ไม่จำเป็นต้องใช้ Microsoft Office หรือ runtime ของระบบอื่นใด.


ทำไมฉันต้องใช้ using var prs = new Presentation();?

คลาส Presentation implements IDisposable และจัดการทรัพยากร XML ภายใน หากไม่มีคำสั่ง using ทรัพยากรเหล่านั้นจะไม่ถูกปล่อยเมื่อวัตถุ Presentation ออกจากขอบเขต ซึ่งอาจทำให้เกิดการรั่วของทรัพยากรหรือการล็อกไฟล์.

ให้ทำตามรูปแบบนี้เสมอ:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);

ฉันสามารถบันทึกเป็นรูปแบบไฟล์ใดได้บ้าง?

enum SaveFormat กำหนดค่าคงที่สำหรับหลายรูปแบบ — Pptx, Pdf, Html, Svg, Jpeg, Png, และอื่น ๆ — เพื่อความเข้ากันได้ของ API กับรุ่นเชิงพาณิชย์ ในขณะรันไทม์ของรุ่น FOSS นี้ การ overload ทั้งหมดของ Save() จะละเลยอาร์กิวเมนต์รูปแบบและจะเขียนผลลัพธ์เป็น PPTX เสมอ การส่งค่า SaveFormat.Pdf จะคอมไพล์ได้ถูกต้องแต่จะสร้างไฟล์ .pptx ไม่ใช่ .pdf.

using Aspose.Slides.Foss.Export;

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

การส่งออกเป็นรูปแบบที่ไม่ใช่ PPTX ไม่พร้อมใช้งานในรุ่นนี้ ใช้ SaveFormat.Pptx สำหรับการบันทึกทั้งหมด.


ฉันสามารถเปิด .ppt (PowerPoint รุ่นเก่า 97-2003) ไฟล์ได้หรือไม่?

ไลบรารีนี้สนับสนุนหลัก .pptx (Office Open XML) คอนสตรัคเตอร์ Presentation รับพาธไฟล์ .ppt และจะตรวจจับรูปแบบ แต่การพาร์สไฟล์ไบนารี .ppt อย่างเชื่อถือได้ไม่รับประกันและไม่ใช่กรณีการใช้งานที่สนับสนุนในฉบับนี้ ใช้ไฟล์ .pptx สำหรับทุกสถานการณ์การผลิต.


ฉันจะเข้าถึงสไลด์ได้อย่างไร?

สไลด์เป็นคอลเลกชันที่เริ่มต้นจากศูนย์และสามารถเข้าถึงได้ผ่าน prs.Slides:

var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;

ฉันจะเพิ่มสไลด์ที่สองอย่างไร?

ใช้ prs.Slides.AddEmptySlide() พร้อมเค้าโครง:

using var prs = new Presentation();
var layout = prs.LayoutSlides[0];
prs.Slides.AddEmptySlide(layout);
var slide2 = prs.Slides[1];
prs.Save("two-slides.pptx", SaveFormat.Pptx);

ฉันจะตั้งค่าสีพื้นหลังของสไลด์อย่างไร?

การเติมพื้นหลังไม่พร้อมใช้งานในรุ่นนี้.


ฉันจะใช้ NullableBoolอย่างไร?

NullableBool เป็น enum แบบสามสถานะที่ใช้สำหรับคุณสมบัติการจัดรูปแบบ ใช้ NullableBool.True (ไม่ใช่ true ของ C#) สำหรับตัวหนา, ตัวเอียง และคุณสมบัติที่คล้ายกัน:

using Aspose.Slides.Foss;

fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;

ทำไมการตั้งค่าสีข้อความถึงไม่มีผล?

คุณต้องตั้งค่า FillType = FillType.Solid ก่อนที่จะกำหนดสี:

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

fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);

ฉันสามารถใช้แผนภูมิหรือ SmartArt ได้ไหม?

ไม่มี ชาร์ต, SmartArt, วัตถุ OLE, แอนิเมชัน, การเปลี่ยนฉาก, ไฮเปอร์ลิงก์, แมโคร VBA และลายเซ็นดิจิทัลในรุ่นนี้.


ไลบรารีสนับสนุน .NET 8 หรือไม่?

ไม่. .NET 9.0 หรือใหม่กว่าเป็นสิ่งจำเป็น


ไลบรารีนี้ปลอดภัยต่อการทำงานหลายเธรดหรือไม่?

แต่ละวัตถุ Presentation เป็นอิสระ การสร้างและใช้อินสแตนซ์ Presentation แยกจากกันในเธรดแยกต่างหากนั้นปลอดภัย ตราบใดที่คุณไม่แชร์วัตถุ Presentation เพียงหนึ่งอันข้ามเธรดโดยไม่มีการล็อกภายนอก.


ฉันจะฝังรูปภาพอย่างไร?

อ่านไบต์ของรูปภาพและเพิ่มลงใน prs.Images จากนั้นสร้าง PictureFrame:

byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);

ดูเพิ่มเติม

 ภาษาไทย