Konwertuj TTF na WOFF za pomocą C#

Czcionki określają graficzną reprezentację pojedynczego znaku w tekście, na przykład jego rozmiar, styl wyświetlania, grubość, kolor itp. TTF (True Type Font) działa dobrze na wszystkich platformach cyfrowych i zapewnia doskonałą jakość w ekranie iw drukowanych dokumentach. Z drugiej strony WOFF (Web Open Font Format) jest najczęściej używany na stronach internetowych. Zawiera kompresję specyficzną dla formatu i dodatkowe metadane XML. W niektórych przypadkach może zaistnieć potrzeba przekonwertowania czcionek True Type na czcionki internetowe. W tym artykule dowiemy się, jak przekonwertować TTF na WOFF przy użyciu języka C#.

W tym artykule zostaną omówione następujące tematy:

Interfejs API konwertera C# TTF na WOFF

Do konwersji TTF na WOFF użyjemy API Aspose.Font for .NET. Umożliwia ładowanie, zapisywanie i wyodrębnianie informacji z obsługiwanych typów czcionek. Pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.Font

Konwertuj TTF na WOFF za pomocą C#

Możemy łatwo przekonwertować czcionki True Type (TTF) na czcionki Web Open (WOFF), wykonując poniższe czynności:

  • Najpierw załaduj plik czcionki przy użyciu klasy FileSystemStreamSource.
  • Następnie utwórz instancję klasy FontFileDefinition z obiektem pliku źródłowego jako argumentem.
  • Następnie zainicjuj obiekt klasy FontDefinition z typem Font jako obiektem TTF i FontFileDefinition.
  • Następnie otwórz czcionkę za pomocą metody Font.Open() z obiektem FontDefinition jako argumentem.
  • Na koniec wywołaj metodę SaveToFormat(), aby go zapisać. Pobiera ścieżkę pliku wyjściowego i FontSavingFormats do WOFF jako argumenty.

Poniższy przykładowy kod demonstruje, jak przekonwertować TTF na WOFF przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak przekonwertować TTF na WOFF.
// Ścieżka do pliku TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Załaduj plik czcionki
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Utwórz definicję pliku czcionek
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Utwórz definicję czcionki
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Otwórz czcionkę
Font font = Font.Open(fontDefinition);

// Ścieżka wyjściowa WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Konwertuj TTF na WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

Konwertuj TTF na WOFF2 w C#

WOFF2 to zaktualizowana wersja WOFF. Oferuje większą kompresję, dzięki czemu ma mniejszy rozmiar pliku i zapewnia lepszą wydajność dla nowoczesnych przeglądarek. Możemy również przekonwertować TTF na WOFF2, wykonując czynności wymienione wcześniej. Jednak w ostatnim kroku musimy tylko ustawić FontSavingFormats jako WOFF2.

Poniższy przykład kodu demonstruje, jak przekonwertować TTF na WOFF2 przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak przekonwertować TTF na WOFF2.
// Ścieżka do pliku TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Załaduj plik czcionki
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Utwórz definicję pliku czcionek
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Utwórz definicję czcionki
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Otwórz czcionkę
Font font = Font.Open(fontDefinition);

// Ścieżka wyjściowa WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Konwertuj TTF na WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak konwertować czcionki True Type na czcionki Open Web w języku C#. Widzieliśmy również, jak programowo zapisać TTF jako WOFF2. Poza tym możesz dowiedzieć się więcej o Aspose.Font for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym darmowym forum pomocy technicznej.

Zobacz też