Najczęściej zadawane pytania

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.Foss

Sprawdź 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);

Zobacz także

 Polski