Použití vlastních písem pro vodoznaky

GroupDocs.Watermark je robustní knihovna pro správu vodoznaků v dokumentech různých formátů, která nabízí širokou škálu možností přizpůsobení. Mezi jejími výkonnými funkcemi je schopnost používat vlastní písma, což umožňuje vývojářům začlenit jedinečnou typografii do jejich vodoznaků.

V tomto článku se podíváme na to, jak používat vlastní písma, která nejsou nainstalována v systému. Kromě toho předvedeme, jak nakonfigurovat kontejner Docker na Linuxu pro testovací scénáře, kde jsou konkrétní písma nainstalována přímo v prostředí kontejneru.

Proč používat vlastní písma pro vodoznaky?

Použití vlastních písem pro vodoznaky nabízí několik výhod:

  1. Brand Identity: Ujistěte se, že vaše dokumenty odpovídají typografickým směrnicím vaší organizace.
  2. Nezávislost na systému: Vyvarujte se závislosti na systémově nainstalovaných písmenech, což zajišťuje přenositelnost a kompatibilitu napříč různými prostředími.

Jak GroupDocs.Watermark umožňuje vlastní písma?

GroupDocs.Watermark zjednodušuje používání vlastních písem tím, že umožňuje vývojářům specifikovat složku obsahující soubory písem. Poté můžete odkazovat na požadované písmo podle jeho rodinného názvu, což činí proces vodoznaků flexibilním a snadno integrovatelným do vašeho pracovního postupu.

Implementace zahrnuje tři hlavní kroky:

  1. Specifikujte složku obsahující písma: Definujte cestu k adresáři, který obsahuje vaše soubory písem (např. .ttf, .otf).
  2. Nastavte písmo pro vodoznak: Použijte třídu Font k inicializaci písma s jeho názvem rodiny, cestou k složce a velikostí.
  3. Přidejte vodoznak do dokumentu: Použijte konfigurovaný vodoznak na svůj cílový dokument.

Kroky po krocích implementace v C#

Zde je postup, jak můžete použít vlastní písma ve svém řešení vodoznaků s GroupDocs.Watermark:

Klíčové kroky:

  • Uveďte cestu k dokumentu a výstupnímu souboru.
  • Nastavte cestu k složce, kde se nacházejí soubory vlastních písem.
  • Inicializujte objekt Font s názvem rodiny a vlastnostmi.
  • Vytvořte textovou vodotisk a nakonfigurujte její vlastnosti.
  • Přidejte na dokument vodoznak a uložte ho.
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);
        }
    }
}

Testing GroupDocs.Watermark in a Linux Docker Container

Když testujete GroupDocs.Watermark v kontejneru Docker na Linuxu, můžete narazit na scénáře, kdy chcete předpokládat, že konkrétní písma jsou na systému nainstalována. To je obzvlášť užitečné pro ověřování funkcionality závislé na písmu nebo pro prostředí, kde konfigurace složky s písmem není proveditelná.

Zde je, jak nakonfigurovat kontejner Docker pro instalaci potřebných závislostí a vlastních písem.

Dockerfile pro testování

Níže je příklad Dockerfile pro běh .NET projektu s názvem WebApp v Linux Docker kontejneru. Soubor také ukazuje, jak nainstalovat vlastní písmo (MyFont.ttf) a závislosti potřebné pro 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"]

Hlavní body v Dockerfile

Instalace požadovaných knihoven:

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

Tyto knihovny jsou nezbytné pro správné vykreslování obrázků v systému Linux.

Instalace výchozích písem:

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

RUN fc-cache -f -v

Tento krok nainstaluje výchozí písma, která jsou nutná, pokud používáte GroupDocs.Watermark bez nastavení licence.

Přidání vlastního písma:

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

RUN fc-cache -f -v

Tento příkaz zkopíruje vlastní písmo (MyFont.ttf) do správného adresáře písem v kontejneru a aktualizuje mezipaměť písem.

Stavba a spuštění aplikace:

Zbývající příkazy nakonfigurují kontejner Docker pro vytvoření a spuštění vaší .NET aplikace (WebApp), což zajistí, že vlastní písmo bude k dispozici během běhu.

Povolení podpory Unixu v .csproj

Vzhledem k omezením v knihovně System.Drawing.Common v .NET 6 pro Linux je třeba povolit podporu Unix přidáním specifického nastavení do vašeho souboru .csproj. Pro více informací o těchto omezeních se podívejte na Microsoft dokumentaci.

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

Toto nastavení zajišťuje, že funkce System.Drawing správně fungují v prostředí Linux, což je nezbytné pro správné vykreslování při používání GroupDocs.Watermark.

Nejlepší postupy pro používání vlastních písem

Abychom co nejlépe využili tuto funkci, dodržujte následující nejlepší postupy:

  1. Organizujte písma: Udržujte své vlastní písma organizovaná ve vyhrazené složce pro snadný přístup.
  2. Ověřte názvy písem: Ujistěte se, že správně specifikujete název rodiny písem, abyste se vyhnuli problémům s vykreslováním.
  3. Test v kontejnerovém prostředí: Použijte kontejnery Docker k testování vaší aplikace v kontrolovaném, Linuxem založeném prostředí.

Závěr

Možnost používat vlastní písma v GroupDocs.Watermark zvyšuje vaši kontrolu nad designem vodoznaku, což vám umožňuje splnit specifické požadavky na branding a styl. Určením složky pro písma nebo instalací písem v kontejneru Linux můžete bezproblémově testovat a nasazovat svou aplikaci v jakémkoli prostředí.

Poskytnutý Dockerfile a příklady C# slouží jako komplexní příručka pro implementaci a testování této funkčnosti. Vyzkoušejte je, abyste zajistili, že vaše řešení pro vodoznaky je flexibilní, přenosné a připravené na produkci.

Získejte bezplatnou zkoušku

Můžete vyzkoušet API GroupDocs.Watermark zdarma jednoduše stažením a instalací nejnovější verze na našich release downloads website.

Můžete také získat dočasnou licenci, abyste otestovali všechny funkce knihovny bez jakýchkoli omezení. Přesuňte se na dočasnou licenční stránku, abyste požádali o dočasnou licenci.

See Also

Pro více informací a další zdroje můžete považovat následující odkazy za užitečné: