Używanie niestandardowych czcionek do znaków wodnych

GroupDocs.Watermark to solidna biblioteka do zarządzania znakami wodnymi w dokumentach różnych formatów, oferująca szeroki wachlarz opcji dostosowywania. Wśród jej potężnych funkcji znajduje się możliwość używania niestandardowych czcionek, co pozwala programistom włączać unikalną typografię do ich znaków wodnych.

W artykule tym zbadamy, jak używać niestandardowych czcionek, które nie są zainstalowane w systemie. Dodatkowo pokażemy, jak skonfigurować kontener Docker na Linuksie do scenariuszy testowych, w których konkretne czcionki są zainstalowane bezpośrednio w środowisku kontenera.

Dlaczego używać niestandardowych czcionek do znaków wodnych?

Używanie czcionek niestandardowych do znaków wodnych oferuje kilka zalet:

  1. Tożsamość marki: Upewnij się, że twoje dokumenty są zgodne z wytycznymi typograficznymi twojej organizacji.
  2. Niezależność systemu: Unikaj zależności od czcionek zainstalowanych w systemie, zapewniając przenośność i kompatybilność w różnych środowiskach.

Jak GroupDocs.Watermark umożliwia niestandardowe czcionki?

GroupDocs.Watermark upraszcza wykorzystanie niestandardowych czcionek, umożliwiając deweloperom określenie folderu zawierającego pliki czcionek. Możesz następnie odwołać się do pożądanej czcionki według jej nazwy rodziny, co sprawia, że proces znakowania wodnego jest elastyczny i łatwy do zintegrowania z twoim przepływem pracy.

Wdrażanie obejmuje trzy główne kroki:

  1. Określ folder zawierający czcionki: Zdefiniuj ścieżkę do katalogu, który zawiera twoje pliki czcionek (np. .ttf, .otf).
  2. Ustaw czcionkę dla znaku wodnego: Użyj klasy Font, aby zainicjować czcionkę z jej nazwą rodziny, ścieżką do folderu i rozmiarem.
  3. Dodaj znak wodny do dokumentu: Zastosuj skonfigurowany znak wodny do docelowego dokumentu.

Krok po kroku wdrażanie w C#

Oto jak możesz używać niestandardowych czcionek w swoim rozwiązaniu do znakowania wodnego z GroupDocs.Watermark:

Kluczowe kroki:

  • Określ ścieżkę do dokumentu i pliku wyjściowego.
  • Ustaw ścieżkę folderu, w którym znajdują się pliki czcionek niestandardowych.
  • Zainicjalizuj obiekt Font z nazwą rodziny i właściwościami.
  • Utwórz znak wodny tekstowy i skonfiguruj jego właściwości.
  • Dodaj znak wodny do dokumentu i zapisz go.
using GroupDocs.Watermark;
using GroupDocs.Watermark.Options; 
using GroupDocs.Watermark.Watermarks; 

class Program
{
    static void Main()
    {
        string documentPath = "path-to-your-document.docx"; 
        string outputFileName = "path-to-output/document-with-watermark.docx"; 

        // Initialize the Watermarker
        using (Watermarker watermarker = new Watermarker(documentPath))
        {
            // Specify the folder containing custom font files
            string fontsFolder = "path-to-folder_with_fonts";

            // Initialize the font to be used for the watermark
            Font font = new Font("font_family_name", fontsFolder, 36, FontStyle.Bold); // Font family name, size and style

            // Create the watermark object
            TextWatermark watermark = new TextWatermark("Test watermark", font);

            // Set additional watermark properties
            watermark.ForegroundColor = Color.Blue; // Set the foreground color of the watermark
            watermark.Opacity = 0.4; // Set the opacity of the watermark
            watermark.HorizontalAlignment = HorizontalAlignment.Center; // Center horizontally
            watermark.VerticalAlignment = VerticalAlignment.Center; // Center vertically

            // Add the watermark to the document
            watermarker.Add(watermark);

            // Save the watermarked document
            watermarker.Save(outputFileName);
        }
    }
}

Testowanie GroupDocs.Watermark w kontenerze Docker na systemie Linux

When testing GroupDocs.Watermark in a Linux Docker container, you may encounter scenarios where you want to assume that specific fonts are installed in the system. This is particularly useful for verifying font-dependent functionality or for environments where font folder configuration is not feasible.

Oto jak skonfigurować kontener Docker, aby zainstalować wymagane zależności i niestandardowe czcionki.

Dockerfile do testów

Poniżej znajduje się przykładowy plik Dockerfile do uruchamiania projektu .NET o nazwie WebApp w kontenerze Docker na Linuksie. Plik ten pokazuje również, jak zainstalować czcionkę niestandardową (MyFont.ttf) oraz wymagane zależności dla GroupDocs.Watermark:

# Use ASP.NET runtime as base image
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80

# Add libgdiplus and libc6-dev for graphics support
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev

# Add `contrib` archive area to package sources list
RUN sed -i'.bak' 's/$/ contrib/' /etc/apt/sources.list

# Add default fonts
RUN apt-get update && apt-get install -y ttf-mscorefonts-installer fontconfig
RUN fc-cache -f -v # Refresh font cache

# Copy custom font to the font directory
COPY ["WebApp/MyFont.ttf", "/usr/share/fonts/truetype/"]
RUN fc-cache -f -v # Refresh font cache again

# Building the .NET application
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["WebApp/WebApp.csproj", "WebApp/"]
RUN dotnet restore "WebApp/WebApp.csproj"
COPY . .
WORKDIR "/src/WebApp"
RUN dotnet build "WebApp.csproj" -c Release -o /app/build

# Publish the application
FROM build AS publish
RUN dotnet publish "WebApp.csproj" -c Release -o /app/publish /p:UseAppHost=false

# Final stage with ASP.NET runtime
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

# Set the entry point for the container
ENTRYPOINT ["dotnet", "WebApp.dll"]

Kluczowe punkty w Dockerfile

Instalacja wymaganych bibliotek:

RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev

Te biblioteki są niezbędne do prawidłowego renderowania obrazów w systemie Linux.

Instalowanie domyślnych czcionek:

RUN apt-get update && apt-get install -y ttf-mscorefonts-installer fontconfig

RUN fc-cache -f -v

Ten krok instaluję domyślne czcionki, które są wymagane, jeśli używasz GroupDocs.Watermark bez ustawiania licencji.

Dodawanie czcionki niestandardowej:

COPY ["WebApp/MyFont.ttf", "/usr/share/fonts/truetype/"]

RUN fc-cache -f -v

To polecenie kopiuje niestandardową czcionkę (MyFont.ttf) do odpowiedniego katalogu czcionek w kontenerze i aktualizuje pamięć podręczną czcionek.

Budowanie i uruchamianie aplikacji:

Pozostałe polecenia konfigurują kontener Docker do budowania i uruchamiania Twojej aplikacji .NET (WebApp), zapewniając, że niestandardowa czcionka jest dostępna podczas uruchamiania.

Włączanie obsługi Unix w .csproj

Z powodu ograniczeń w bibliotece System.Drawing.Common w .NET 6 dla systemu Linux, musisz włączyć wsparcie dla Uniksa, dodając odpowiednią opcję do swojego pliku .csproj. Aby uzyskać więcej informacji na temat tych ograniczeń, zapoznaj się z dokumentacją Microsoftu.

<ItemGroup>
    <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
</ItemGroup>

To ustawienie zapewnia, że funkcjonalności System.Drawing działają poprawnie w środowisku Linux, co jest niezbędne do prawidłowego renderowania podczas używania GroupDocs.Watermark.

Najlepsze praktyki dotyczące używania niestandardowych czcionek

Aby w pełni wykorzystać tę funkcję, postępuj zgodnie z tymi najlepszymi praktykami:

  1. Organizuj czcionki: Przechowuj swoje czcionki niestandardowe w dedykowanym folderze dla łatwego dostępu.
  2. Walidacja nazw czcionek: Upewnij się, że prawidłowo określasz nazwę rodziny czcionek, aby uniknąć problemów z renderowaniem.
  3. Test w zcontaineryzowanym środowisku: Użyj kontenerów Docker, aby testować swoją aplikację w kontrolowanym, opartym na systemie Linux środowisku.

Wniosek

Możliwość korzystania z niestandardowych czcionek w GroupDocs.Watermark zwiększa twój kontrolę nad projektem znaku wodnego, umożliwiając spełnienie określonych wymagań dotyczących marki i stylu. Określając katalog czcionek lub instalując czcionki w kontenerze Linux, możesz bezproblemowo testować i wdrażać swoją aplikację w dowolnym środowisku.

Dostarczony plik Dockerfile i przykłady C# stanowią kompleksowy przewodnik po wdrażaniu i testowaniu tej funkcjonalności. Wypróbuj je, aby upewnić się, że Twoje rozwiązanie do znakowania wodnego jest elastyczne, przenośne i gotowe do produkcji.

Get a Free Trial

Możesz wypróbować API GroupDocs.Watermark za darmo, po prostu pobierając i instalując najnowszą wersję na naszej stronie z pobraniami wydania.

Możesz również uzyskać tymczasową licencję, aby przetestować wszystkie funkcjonalności biblioteki bez żadnych ograniczeń. Przejdź do strony tymczasowej licencji, aby aplikować o tymczasową licencję.

Zobacz także

Aby uzyskać więcej informacji i dodatkowe zasoby, możesz uznać następujące linki za przydatne: