Najczęściej zadawane pytania
Najczęściej zadawane pytania
Jak zainstalować Aspose.Slides FOSS?
Zainstaluj z NuGet przy użyciu .NET CLI. .NET 9.0 lub nowszy jest wymagany.
dotnet add package Aspose.Slides.FossSprawdź instalację:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");Nie wymaga Microsoft Office ani innych środowisk uruchomieniowych systemu.
Dlaczego muszę używać using var prs = new Presentation();?
Klasa Presentation implementuje IDisposable i zarządza wewnętrznymi zasobami XML. Bez instrukcji using te zasoby nie są zwalniane, gdy obiekt Presentation wychodzi poza zakres, co może powodować wycieki zasobów lub blokady plików.
Zawsze stosuj ten wzór:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);Do jakich formatów plików mogę zapisywać?
Enum SaveFormat definiuje stałe dla wielu formatów — Pptx, Pdf, Html, Svg, Jpeg, Png i inne — w celu zapewnienia zgodności API z edycją komercyjną. W czasie wykonywania w tej edycji FOSS wszystkie przeciążenia Save() ignorują argument formatu i zawsze zapisują wyjście w formacie PPTX. Przekazanie SaveFormat.Pdf kompiluje się poprawnie, ale generuje plik .pptx, a nie .pdf.
using Aspose.Slides.Foss.Export;
prs.Save("output.pptx", SaveFormat.Pptx);Eksport do formatów innych niż PPTX nie jest dostępny funkcjonalnie w tej edycji. Użyj SaveFormat.Pptx do wszystkich operacji zapisu.
Czy mogę otworzyć .ppt (stare PowerPoint 97-2003) pliki?
Biblioteka głównie obsługuje .pptx (Office Open XML). Konstruktor Presentation przyjmuje ścieżkę pliku .ppt i wykryje format, ale niezawodne parsowanie binarnych plików .ppt nie jest gwarantowane i nie jest obsługiwanym przypadkiem użycia w tej edycji. Używaj plików .pptx we wszystkich scenariuszach produkcyjnych.
Jak uzyskać dostęp do slajdów?
Slajdy są kolekcją indeksowaną od zera dostępną poprzez prs.Slides:
var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;Jak dodać drugi slajd?
Użyj prs.Slides.AddEmptySlide() z układem:
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);Jak ustawić kolor tła slajdu?
Wypełnienie tła nie jest dostępne w tej wersji.
Jak używać NullableBool?
NullableBool jest wyliczeniem trójstanowym używanym do właściwości formatowania. Użyj NullableBool.True (nie true z C#) do pogrubienia, kursywy i podobnych właściwości:
using Aspose.Slides.Foss;
fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;Dlaczego ustawienie koloru tekstu nie ma efektu?
Musisz także ustawić FillType = FillType.Solid przed przypisaniem koloru:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);Czy mogę używać wykresów lub SmartArt?
Nie. Wykresy, SmartArt, obiekty OLE, animacje, przejścia, hiperłącza, makra VBA i podpisy cyfrowe nie są zaimplementowane w tej edycji.
Czy biblioteka obsługuje .NET 8?
Nie. Wymagany jest .NET 9.0 lub nowszy.
Czy ta biblioteka jest bezpieczna wątkowo?
Każdy obiekt Presentation jest niezależny. Tworzenie i używanie oddzielnych instancji Presentation z osobnych wątków jest bezpieczne, o ile nie udostępniasz jednego obiektu Presentation pomiędzy wątkami bez zewnętrznego blokowania.
Jak osadzić obraz?
Odczytaj bajty obrazu i dodaj je do prs.Images, a następnie utwórz PictureFrame:
byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);