Systémové požadavky

Úvod

Aspose.Slides for .NET je samostatná knihovna: nepotřebuje Microsoft PowerPoint ani Microsoft Office. Je distribuována jako dva balíčky NuGet, Aspose.Slides.NET a Aspose.Slides.NET6.CrossPlatform. Oba poskytují stejné jmenné prostory a třídy Aspose.Slides; liší se v cílových rámcích a ve způsobu vykreslování snímků, což určuje, kde běží a co potřebují.

Tento článek uvádí verze .NET a platformy, které každý balíček podporuje, a systémové knihovny a písma, které Linux potřebuje, a končí krátkým programem, který kontroluje vaše nastavení. Pro přidání balíčku do projektu viz Installation.

Podporované verze .NET

Každý balíček obsahuje jedno sestavení Aspose.Slides pro konkrétní cílový rámec a NuGet vybere sestavení, které odpovídá cílovému rámci vašeho projektu.

Balíček Cílové frameworky v balíčku Váš projekt může cílit na
Aspose.Slides.NET net462, net6.0, netstandard2.0 .NET Framework 4.6.2 nebo novější; .NET 6 nebo novější, včetně .NET 8, .NET 9 a .NET 10
Aspose.Slides.NET6.CrossPlatform net6.0 .NET 6 nebo novější, včetně .NET 8, .NET 9 a .NET 10

netstandard2.0 sestavení umožňuje knihovně .NET Standard 2.0 odkazovat na Aspose.Slides.NET. Aplikace, která takovou knihovnu používá, spouští sestavení odpovídající vlastnímu cílovému rámci aplikace: např. aplikace .NET 8 spustí net6.0 sestavení.

Podporované operační systémy a procesory

Aspose.Slides.NET obsahuje pouze procesorem nezávislý (AnyCPU) spravovaný kód, takže běží na architektuře procesoru .NET runtime, který jej načte. Vykresluje snímky pomocí knihovny System.Drawing.Common od Microsoftu, kterou Microsoft podporuje pouze na Windows. Na Linuxu tedy Aspose.Slides.NET potřebuje knihovnu libgdiplus a spouštěcí přepínač, popsaný v sekci Linux. Běží na distribucích Linuxu, které poskytují libgdiplus, jako jsou Debian, Ubuntu a Alpine Linux.

Aspose.Slides.NET6.CrossPlatform vykresluje snímky pomocí vlastního grafického enginu. Engine je nativní knihovna, kterou balíček obsahuje v jedné verzi pro každou platformu, takže balíček běží pouze na těchto platformách:

Operační systém Procesory Poznámky
Windows x86, x64 Windows na ARM64 není podporován.
Linux x64, ARM64 Vyžaduje glibc 2.23 nebo novější na x64 a glibc 2.39 nebo novější na ARM64.
macOS x64 (Intel), ARM64 (Apple silicon)

Aspose.Slides.NET6.CrossPlatform neběží na Alpine Linux ani na jiných distribucích postavených na musl místo glibc, ani na distribucích se starší glibc, jako je CentOS 7. Na těchto systémech použijte Aspose.Slides.NET.

Na Windows nativní knihovna Aspose.Slides.NET6.CrossPlatform používá runtime Microsoft Visual C++ (MSVCP140.dll a VCRUNTIME140.dll, plus VCRUNTIME140_1.dll na x64). Pokud tyto soubory chybí na cílovém počítači, nainstalujte Microsoft Visual C++ Redistributable.

Linux

Oba balíčky potřebují na Linuxu další systémové knihovny. Bez nich selže první příklad v Create Presentations s výjimkou místo uložení souboru. Níže uvedené příkazy jsou pro Debian a Ubuntu; na těchto distribucích každá knihovna také přináší písma DejaVu (fonts-dejavu-core), takže text se vykreslí bez dalších fontových balíčků.

Aspose.Slides.NET6.CrossPlatform

Linuxová knihovna balíčku vyžaduje knihovnu fontconfig:

sudo apt-get update && sudo apt-get install -y libfontconfig1

Bez ní selže vytvoření Presentation s TypeInitializationException, jehož vnitřní DllNotFoundException uvádí, že libfontconfig.so.1 nelze otevřít.

Minimální základní obrazy také nemusí obsahovat fontconfig. Například základní obraz AWS Lambda pro .NET 8 neobsahuje ani fontconfig, ani žádná písma. V kontejnerovém obrazu postaveném na něm spusťte dnf install -y fontconfig, což také nainstaluje písma Noto Sans.

Aspose.Slides.NET

Balíček na Linuxu vyžaduje dvě věci:

  1. Knihovnu libgdiplus:

    sudo apt-get update && sudo apt-get install -y libgdiplus
    

2. Přepínač `System.Drawing.EnableUnixSupport`, který se povolí na začátku aplikace před jakýmkoli voláním Aspose.Slides. V souboru *Program.cs* s top-level statements jej umístěte za `using` direktivy:

   ```c#
   System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);

Bez libgdiplus selže uložení prezentace s TypeInitializationException, jehož vnitřní DllNotFoundException uvádí, že libgdiplus nelze načíst. Bez přepínače je vnitřní výjimkou PlatformNotSupportedException: System.Drawing.Common is not supported on non-Windows platforms.

Alpine Linux

Na Alpine Linux použijte Aspose.Slides.NET s výše popsaným přepínačem. Alpine obrazy obvykle neobsahují žádná písma a samotný libgdiplus neinstaluje žádná, proto nainstalujte libgdiplus spolu s alespoň jedním fontovým balíčkem. Bez písem selže uložení prezentace s tímto chybovým hlášením:

System.ArgumentException: Font '?' cannot be found.

Možnost 1: Písma DejaVu

Doporučenou volbou je balíček ttf-dejavu:

RUN apk add --no-cache \
    libgdiplus \
    ttf-dejavu

Na aktuálních vydáních Alpine ttf-dejavu nainstaluje balíček font-dejavu, který také nainstaluje fontconfig a fontové nástroje, na nichž závisí.

Možnost 2: Základní písma Microsoft

Pokud vaše prezentace používají písma Microsoftu jako Arial, Times New Roman, Courier New nebo Verdana, místo toho nainstalujte základní písma Microsoftu. Krok update-ms-fonts stáhne písma během vytváření obrazu, takže sestavení potřebuje přístup k internetu:

RUN apk add --no-cache \
    libgdiplus \
    fontconfig \
    msttcorefonts-installer \
    && update-ms-fonts \
    && fc-cache -fv

Podpora globalizace

Oba balíčky potřebují podporu globalizace .NET, kterou .NET na Linuxu poskytuje přes knihovny ICU. V globalization-invariant mode selže vytvoření Presentation s CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode.

Některé kontejnerové obrazy tuto režim zapínají. Například .NET runtime obrazy pro Alpine Linux (runtime-deps, runtime, a aspnet) nastavením DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true neobsahují ICU. V obrazu postaveném na nich nainstalujte ICU a režim vypněte:

ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
RUN apk --no-cache add icu-libs

Také se ujistěte, že ve vašem souboru projektu není nastavená vlastnost InvariantGlobalization na true.

Zkontrolujte své nastavení

Pro ověření, že je balíček a jeho požadavky na místě, spusťte program, který uloží prezentaci a vykreslí snímek do obrázku. Ukládání a vykreslování používají grafickou knihovnu a písma, což jsou požadavky na Linux uvedené výše.

Vytvořte konzolovou aplikaci a přidejte balíček podle popisu v Installation, nahraďte obsah Program.cs kódem níže a spusťte dotnet run. Pokud používáte Aspose.Slides.NET na Linuxu, přidejte výrok přepínače System.Drawing.EnableUnixSupport uvedený v Linux za using direktivy. Program používá top-level statements a using deklarace, které vyžadují C# 9 nebo novější. Projekty cílící na .NET 6 nebo novější používají novější verzi C# ve výchozím nastavení; v projektu cílícím na .NET Framework přidejte <LangVersion>latest</LangVersion> do PropertyGroup v souboru projektu.

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

using var presentation = new Presentation();
var slide = presentation.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 100);
shape.TextFrame.Text = "Hello, Aspose.Slides!";
presentation.Save("hello.pptx", SaveFormat.Pptx);

using var image = slide.GetImage(1f, 1f);
image.Save("hello.png", ImageFormat.Png);

Program přidá obdélník s textem na první snímek a uloží prezentaci jako hello.pptx pomocí metody Save. Pak vykreslí snímek pomocí GetImage a výsledek uloží jako hello.png pomocí IImage.Save ve formátu ImageFormat.Png. Měřítko 1 vykreslí jeden pixel na bod, takže výchozí 720 × 540 bodový snímek se stane 720 × 540 pixelovým obrázkem, přičemž text je viditelný uvnitř obdélníku. Bez licence oba soubory také obsahují zkušební vodoznak; viz Licensing. Pokud některý požadavek chybí, program zastaví s jednou z výjimek popsaných v Linux.

Vývojové nástroje

Můžete vytvářet aplikace používající Aspose.Slides s jakýmkoli nástrojem, který podporuje cílový rámec vašeho projektu: .NET SDK a jeho CLI dotnet na Windows, Linuxu a macOS, nebo Visual Studio na Windows. Installation popisuje obojí.

Často kladené otázky

Potřebuji mít nainstalovaný Microsoft PowerPoint pro konverze a vykreslování?

Ne, PowerPoint není vyžadován. Aspose.Slides je samostatný engine pro vytváření, úpravy, konverzi a vykreslování prezentací.

Který balíček mám použít?

Používejte Aspose.Slides.NET na Windows a Aspose.Slides.NET6.CrossPlatform na Linux a macOS. Na Alpine Linux, na Linuxových systémech s glibc starší než uvedené verze a v projektech cílených na .NET Framework použijte Aspose.Slides.NET. Do projektu přidejte jen jeden z těchto dvou balíčků.

Jaká písma jsou potřebná pro správné vykreslování?

Písma použité v prezentaci, nebo vhodné náhrady, musí být k dispozici v operačním systému. Na Linuxu a macOS nainstalujte fontové balíčky, které vaše prezentace potřebují, aby bylo zajištěno konzistentní vykreslování. Na Alpine Linux nainstalujte alespoň jeden fontový balíček kromě libgdiplus, jak je popsáno v Alpine Linux.

Proč se na Linuxu vlastní písmo vykreslí jako náhradní nebo chybějící text?

Pokud soubor písma má nejednotné nebo poškozené záznamy v tabulce name, může linuxový zásobník pro výběr písma (FreeType/fontconfig) vybrat neplatný záznam, což vede k nevyřešenému písmu. Použití verze písma s opravenými záznamy name-table nebo instalace konzistentní náhrady problém vyřeší.