استفاده از فونت‌های سفارشی برای واترمارک‌ها

GroupDocs.Watermark یک کتابخانه قوی برای مدیریت واترمارک‌ها در اسناد با فرمت‌های مختلف است که گزینه‌های سفارشی‌سازی متعددی را ارائه می‌دهد. یکی از ویژگی‌های قوی آن توانایی استفاده از فونت‌های سفارشی است که به توسعه‌دهندگان این امکان را می‌دهد تا تایپوگرافی منحصر به فردی را در واترمارک‌های خود بگنجانند.

در این مقاله، ما به بررسی چگونگی استفاده از فونت‌های سفارشی که بر روی سیستم نصب نشده‌اند، خواهیم پرداخت. علاوه بر این، ما نشان خواهیم داد که چگونه یک کانتینر داکر لینوکس را برای سناریوهای آزمایشی که در آن‌ها فونت‌های خاص به‌طور مستقیم در محیط کانتینر نصب شده‌اند، پیکربندی کنیم.

چرا از فونت‌های سفارشی برای واترمارک‌ها استفاده کنیم؟

استفاده از فونت‌های سفارشی برای واترمارک‌ها مزایای زیادی دارد:

  1. هویت برند: مطمئن شوید که اسناد شما با راهنماهای تایپوگرافی سازمان شما هم‌راستا هستند.
  2. استقلال سیستم: از وابستگی به فونت‌های نصب‌شده در سیستم جلوگیری کنید و از قابل حمل بودن و سازگاری در محیط‌های مختلف اطمینان حاصل کنید.

چگونه GroupDocs.Watermark فونت‌های سفارشی را فعال می‌کند؟

GroupDocs.Watermark استفاده از فونت‌های سفارشی را با اجازه دادن به توسعه‌دهندگان برای مشخص کردن یک پوشه حاوی فایل‌های فونت ساده می‌کند. شما سپس می‌توانید به فونت مورد نظر با نام خانواده آن اشاره کنید، که این روند واترمارک‌گذاری را انعطاف‌پذیر و آسان برای ادغام در جریان کار شما می‌سازد.

پیاده‌سازی شامل سه مرحله اصلی است:

  1. Specify the Folder Containing Fonts: Define the path to a directory that holds your font files (e.g., .ttf, .otf).
  2. تنظیم فونت برای واترمارک: از کلاس Font برای راه‌اندازی فونت با نام خانواده، مسیر پوشه و اندازه استفاده کنید.
  3. آرم را به سند اضافه کنید: آرم تنظیم‌شده را به سند هدف خود اعمال کنید.

پیاده‌سازی گام به گام در C#

در اینجا نحوه استفاده از فونت‌های سفارشی در راه‌حل واترمارکینگ خود با GroupDocs.Watermark آورده شده است:

مراحل کلیدی:

  • مسیر به سند و فایل خروجی را مشخص کنید.
  • مسیر پوشه‌ای را که فایل‌های فونت سفارشی در آن قرار دارند تنظیم کنید.
  • شیء Font را با نام خانواده و ویژگی‌ها اولیه‌سازی کنید.
  • یک واترمارک متنی ایجاد کنید و ویژگی‌های آن را تنظیم کنید.
  • Watermark را به سند اضافه کرده و آن را ذخیره کنید.
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);
        }
    }
}

آزمایش GroupDocs.Watermark در یک کانتینر داکر لینوکس

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.

در اینجا نحوه پیکربندی یک کانتینر Docker برای نصب وابستگی‌های مورد نیاز و فونت‌های سفارشی آورده شده‌است.

Dockerfile برای تست

در زیر یک نمونه Dockerfile برای اجرای یک پروژه .NET به نام WebApp در یک کانتینر Docker لینوکس آمده است. این فایل همچنین نحوه نصب یک فونت سفارشی (MyFont.ttf) و وابستگی‌های مورد نیاز برای 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"]

نکات کلیدی در Dockerfile

نصب کتابخانه‌های مورد نیاز:

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

این کتابخانه‌ها برای رندرینگ صحیح تصاویر در لینوکس ضروری هستند.

نصب فونت‌های پیش‌فرض:

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

RUN fc-cache -f -v

این مرحله فونت‌های پیش‌فرض را نصب می‌کند که در صورتی که از GroupDocs.Watermark بدون تنظیم مجوز استفاده می‌کنید، ضروری است.

افزودن یک فونت سفارشی:

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

RUN fc-cache -f -v

این دستور فونت سفارشی (MyFont.ttf) را به دایرکتوری مناسب فونت در کانتینر کپی می‌کند و کش فونت را به‌روز می‌کند.

ساخت و اجرای برنامه:

دستورات باقی‌مانده کانتینر داکر را برای ساخت و اجرای برنامه .NET شما (WebApp) پیکربندی می‌کنند و اطمینان حاصل می‌کنند که فونت سفارشی در حین اجرا در دسترس باشد.

فعال کردن پشتیبانی یونیکس در .csproj

به دلیل محدودیت‌ها در کتابخانه System.Drawing.Common در .NET 6 برای لینوکس، شما باید پشتیبانی از یونیکس را با افزودن یک تنظیم مشخص به فایل .csproj خود فعال کنید. برای جزئیات بیشتر در مورد این محدودیت‌ها، به مستندات مایکروسافت مراجعه کنید.

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

این تنظیمات اطمینان می دهد که قابلیت های System.Drawing به درستی در یک محیط لینوکس کار کنند، که برای رندر صحیح هنگام استفاده از GroupDocs.Watermark ضروری است.

Best Practices for Using Custom Fonts

برای بهره‌برداری بیشتر از این ویژگی، این بهترین شیوه‌ها را دنبال کنید:

  1. فونت‌ها را سازماندهی کنید: فونت‌های سفارشی خود را در یک پوشه اختصاصی برای ارجاع آسان سازماندهی کنید.
  2. Validate Font Names: Ensure you correctly specify the font family name to avoid rendering issues.
  3. در یک محیط کانتینری آزمایش کنید: از کانتینرهای داکر برای آزمایش برنامه خود در یک محیط کنترل شده و مبتنی بر لینوکس استفاده کنید.

نتیجه گیری

قابلیت استفاده از فونت‌های سفارشی در GroupDocs.Watermark کنترل شما را بر طراحی واترمارک افزایش می‌دهد و به شما این امکان را می‌دهد که الزامات خاص برندینگ و سبک را برآورده کنید. با مشخص کردن یک پوشه فونت یا نصب فونت‌ها در یک کانتینر لینوکسی، می‌توانید به طور یکپارچه برنامه خود را در هر محیطی آزمایش و پیاده‌سازی کنید.

Dockerfile و مثال‌های C# ارائه شده به عنوان یک راهنمای جامع برای پیاده‌سازی و آزمایش این قابلیت عمل می‌کنند. آنها را امتحان کنید تا اطمینان حاصل کنید که راه‌حل واترمارک شما انعطاف‌پذیر، قابل حمل و آماده برای تولید است.

نسخه آزمایشی رایگان بگیرید

شما می‌توانید APIهای GroupDocs.Watermark را به صورت رایگان با دانلود و نصب آخرین نسخه از وب‌سایت release downloads website امتحان کنید.

شما می توانید همچنین یک مجوز موقت برای تست تمام عملکردهای کتابخانه بدون هیچ محدودیتی دریافت کنید. به صفحه مجوز موقت بروید تا برای دریافت مجوز موقت درخواست دهید.

ببینید همچنین

برای اطلاعات بیشتر و منابع اضافی، ممکن است لینک‌های زیر برای شما مفید باشند: