การใช้ฟอนต์ที่กำหนดเองสำหรับลายน้ำ

GroupDocs.Watermark เป็นไลบรารีที่มีความแข็งแกร่งสำหรับการจัดการลายน้ำในเอกสารในรูปแบบต่าง ๆ โดยมีทางเลือกในการปรับแต่งที่หลากหลาย หนึ่งในฟีเจอร์ที่ทรงพลังคือความสามารถในการใช้ฟอนต์แบบกำหนดเอง ซึ่งทำให้นักพัฒนาสามารถเพิ่มรูปแบบการพิมพ์ที่เป็นเอกลักษณ์ลงในลายน้ำของพวกเขาได้

ในบทความนี้ เราจะสำรวจวิธีการใช้ฟอนต์ที่กำหนดเองที่ไม่ได้ติดตั้งในระบบ นอกจากนี้ เรจะแสดงวิธีการกำหนดค่าคอนเทนเนอร์ Docker บน Linux สำหรับสถานการณ์การทดสอบที่ฟอนต์เฉพาะติดตั้งโดยตรงในสภาพแวดล้อมของคอนเทนเนอร์

ทำไมต้องใช้ฟอนต์ที่กำหนดเองสำหรับลายน้ำ?

การใช้แบบอักษรที่กำหนดเองสำหรับลายน้ำมีข้อดีหลายประการ:

  1. Brand Identity: Ensure your documents align with your organization`s typography guidelines.
  2. ความเป็นอิสระของระบบ: หลีกเลี่ยงการพึ่งพาแบบอักษรที่ติดตั้งในระบบ ทำให้มั่นใจในความสามารถในการพกพาและความเข้ากันได้ในสภาพแวดล้อมที่แตกต่างกัน

How Does GroupDocs.Watermark Enable Custom Fonts?

GroupDocs.Watermark ช่วยให้การใช้ฟอนต์ที่กำหนดเองง่ายขึ้นโดยอนุญาตให้ผู้พัฒนากำหนดโฟลเดอร์ที่มีไฟล์ฟอนต์ คุณสามารถอ้างอิงฟอนต์ที่ต้องการโดยใช้ชื่อครอบครัว ซึ่งทำให้กระบวนการสร้างลายน้ำยืดหยุ่นและง่ายต่อการผสานเข้ากับการทำงานของคุณ

การนำไปใช้ประกอบด้วยสามขั้นตอนหลัก:

  1. ระบุโฟลเดอร์ที่มีฟอนต์: กำหนดเส้นทางไปยังไดเรกทอรีที่เก็บไฟล์ฟอนต์ของคุณ (เช่น, .ttf, .otf).
  2. ตั้งค่าแบบอักษรสำหรับลายน้ำ: ใช้คลาส Font เพื่อเริ่มต้นแบบอักษรด้วยชื่อครอบครัว, เส้นทางโฟลเดอร์, และขนาด.
  3. เพิ่มลายน้ำลงในเอกสาร: ใช้ลายน้ำที่กำหนดไว้กับเอกสารเป้าหมายของคุณ.

การทำงานแบบทีละขั้นตอนใน C#

นี่คือวิธีที่คุณสามารถใช้แบบอักษรที่กำหนดเองในโซลูชันการทำลายน้ำของคุณด้วย GroupDocs.Watermark:

ขั้นตอนสำคัญ:

  • ระบุเส้นทางไปยังเอกสารและไฟล์ผลลัพธ์ ตรวจสอบให้แน่ใจว่าเส้นทางถูกต้องและไฟล์มีอยู่ในตำแหน่งที่กำหนด
  • กำหนดเส้นทางโฟลเดอร์ที่ไฟล์ฟอนต์ที่กำหนดเองตั้งอยู่
  • ทำการริเริ่มวัตถุ Font ด้วยชื่อของตระกูลและคุณสมบัติ
  • สร้างลายน้ำข้อความและกำหนดคุณสมบัติของมัน。
  • เพิ่มลายน้ำในเอกสารและบันทึกมันไว้
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

เมื่อทำการทดสอบ GroupDocs.Watermark ใน Linux Docker container คุณอาจพบสถานการณ์ที่คุณต้องการถือว่าฟอนต์เฉพาะได้รับการติดตั้งในระบบแล้ว สิ่งนี้มีประโยชน์โดยเฉพาะในการตรวจสอบฟังก์ชันการทำงานที่ขึ้นอยู่กับฟอนต์หรือสำหรับสภาพแวดล้อมที่การกำหนดค่ากระเป๋าฟอนต์ไม่สามารถทำได้

นี่คือวิธีการกำหนดค่า Docker container เพื่อติดตั้ง dependencies ที่จำเป็นและฟอนต์ที่กำหนดเอง

Dockerfile สำหรับการทดสอบ

ด้านล่างนี้เป็นตัวอย่าง Dockerfile สำหรับรันโปรเจกต์ .NET ที่ชื่อว่า WebApp ในคอนเทนเนอร์ Docker บนลินุกซ์ ไฟล์นี้ยังแสดงวิธีการติดตั้งฟอนต์ที่กำหนด (MyFont.ttf) และ dependencies ที่จำเป็นสำหรับ 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

Installing Required Libraries:

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 โดยไม่มีการตั้ง license

การเพิ่มแบบอักษรที่กำหนดเอง:

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

RUN fc-cache -f -v

คำสั่งนี้จะคัดลอกฟอนต์ที่กำหนดเอง (MyFont.ttf) ไปยังไดเรกทอรีฟอนต์ที่เหมาะสมในคอนเทนเนอร์และอัปเดตแคชฟอนต์。

การสร้างและเรียกใช้งานแอปพลิเคชัน:

คำสั่งที่เหลือจะตั้งค่าคอนเทนเนอร์ Docker เพื่อสร้างและรันแอปพลิเคชัน .NET ของคุณ (WebApp) โดยมั่นใจว่าฟอนต์ที่กำหนดเองพร้อมใช้งานในระหว่างการรัน

เปิดใช้งานการสนับสนุน Unix ใน .csproj

เนื่องจากข้อจำกัดในไลบรารี System.Drawing.Common ใน .NET 6 สำหรับ Linux คุณจำเป็นต้องเปิดใช้งานการสนับสนุน Unix โดยการเพิ่มการตั้งค่าที่เฉพาะเจาะจงในไฟล์ .csproj ของคุณ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับข้อจำกัดเหล่านี้ โปรดดูที่ Microsoft documentation.

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

การตั้งค่านี้ทำให้มั่นใจได้ว่าฟังก์ชัน System.Drawing ทำงานอย่างถูกต้องในสภาพแวดล้อมของ Linux ซึ่งเป็นสิ่งจำเป็นสำหรับการเรนเดอร์ที่ถูกต้องเมื่อใช้ GroupDocs.Watermark.

แนวปฏิบัติที่ดีที่สุดในการใช้ฟอนต์ที่กำหนดเอง

เพื่อใช้ฟีเจอร์นี้ให้เกิดประโยชน์สูงสุด ให้ปฏิบัติตามแนวทางที่ดีที่สุดต่อไปนี้:

  1. จัดระเบียบฟอนต์: เก็บฟอนต์ที่กำหนดเองของคุณให้มีระเบียบในโฟลเดอร์เฉพาะสำหรับการอ้างอิงที่ง่าย
  2. ตรวจสอบชื่อฟอนต์: ตรวจสอบให้แน่ใจว่าคุณระบุชื่อแฟมิลี่ของฟอนต์อย่างถูกต้องเพื่อหลีกเลี่ยงปัญหาในการเรนเดอร์.
  3. ทดสอบในสภาพแวดล้อมที่บรรจุภัณฑ์: ใช้ Docker containers เพื่อลองทดสอบแอปพลิเคชันของคุณในสภาพแวดล้อมที่ควบคุมได้และมีพื้นฐานจาก Linux

ข้อสรุป

ความสามารถในการใช้ฟอนต์แบบกำหนดเองใน GroupDocs.Watermark ช่วยเพิ่มการควบคุมในงานออกแบบลายน้ำของคุณ ทำให้คุณสามารถตอบสนองความต้องการด้านแบรนดิ้งและสไตล์ที่เฉพาะเจาะจงได้ โดยการระบุโฟลเดอร์ฟอนต์หรือการติดตั้งฟอนต์ในคอนเทนเนอร์ลินุกซ์ คุณสามารถทดสอบและปรับใช้งานแอปพลิเคชันของคุณได้อย่างราบรื่นในทุกสภาพแวดล้อม

The provided Dockerfile and C# examples serve as a comprehensive guide for implementing and testing this functionality. Try them out to ensure your watermarking solution is flexible, portable, and ready for production.

ทดลองใช้ฟรี

You can try GroupDocs.Watermark APIs for free by just downloading and installing the latest version on our release downloads website.

คุณยังสามารถขอใบอนุญาตชั่วคราวเพื่อลองใช้ฟังก์ชันทั้งหมดของห้องสมุดโดยไม่มีข้อจำกัด ไปที่ temporary license page เพื่อขอใบอนุญาตชั่วคราว

See Also

สำหรับข้อมูลเพิ่มเติมและทรัพยากรอื่น ๆ คุณอาจพบลิงก์ต่อไปนี้มีประโยชน์: