Expose REST API pro vodoznakování dokumentů Word

Jak přidat vodoznaky do dokumentů Word pomocí REST API ASP.NET Core

Tento tutoriál vás provede jak vystavit REST API pro přidávání vodoznaků do dokumentů Word v ASP.NET Core. Obsahuje podrobné pokyny krok za krokem, informace o nastavení a pokyny pro nasazení na hlavních platformách.

Kroky k přidání vodoznaků do dokumentů Word prostřednictvím REST API

  1. Nastavte projekt ASP.NET Core Web API pro přidávání vodoznaků.
  2. Nainstalujte Aspose.Words for .NET prostřednictvím správce balíčků NuGet.
  3. Vytvořte kontroler s koncovým bodem pro přijetí Word souborů a parametrů textu nebo obrázku vodoznaku.
  4. Napište kód pro přidání textových nebo obrázkových vodoznaků do dokumentů Word.
  5. Otestujte API lokálně pomocí nástrojů jako Postman nebo cURL.
  6. Nasadte API na prostředí Windows, Linux nebo macOS.
  7. Nakonfigurujte Nginx nebo IIS pro produkční nasazení.

Tyto kroky poskytují podrobný přístup k vytvoření a vystavení API pro vodoznaky.

Příklad kódu: REST API pro přidání vodoznaků

Níže je uveden spustitelný kód pro vystavení REST API, které přidává textové vodoznaky do dokumentů Word:

using System.IO;
using System.Threading.Tasks;
using Aspose.Words;
using Aspose.Words.Drawing;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace WatermarkAPI.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class WatermarkController : ControllerBase
    {
        [HttpPost("add-watermark")]
        public async Task<IActionResult> AddWatermark(IFormFile file, [FromQuery] string watermarkText)
        {
            if (file == null || file.Length == 0 || string.IsNullOrWhiteSpace(watermarkText))
                return BadRequest("Nahrajte prosím platný dokument Word a poskytněte text vodoznaku.");

            try
            {
                var tempFilePath = Path.GetTempFileName();
                using (var stream = new FileStream(tempFilePath, FileMode.Create))
                {
                    await file.CopyToAsync(stream);
                }

                Document doc = new Document(tempFilePath);
                AddTextWatermark(doc, watermarkText);

                var outputStream = new MemoryStream();
                doc.Save(outputStream, SaveFormat.Docx);

                outputStream.Position = 0;
                return File(outputStream, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "watermarked.docx");
            }
            catch (System.Exception ex)
            {
                return StatusCode(500, $"Interní chyba serveru: {ex.Message}");
            }
        }

        private void AddTextWatermark(Document doc, string text)
        {
            foreach (Section section in doc.Sections)
            {
                var watermark = new Shape(doc, ShapeType.TextPlainText)
                {
                    TextPath = { Text = text, FontFamily = "Arial" },
                    Width = 300,
                    Height = 70,
                    Rotation = -40,
                    FillColor = System.Drawing.Color.LightGray,
                    StrokeColor = System.Drawing.Color.LightGray,
                    WrapType = WrapType.None,
                    BehindText = true,
                    RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
                    RelativeVerticalPosition = RelativeVerticalPosition.Page,
                    Left = 100,
                    Top = 200
                };

                section.HeadersFooters[HeaderFooterType.HeaderPrimary]?.AppendChild(watermark);
            }
        }
    }
}

Nasazení na hlavních platformách

Windows

  1. Nainstalujte IIS a nakonfigurujte web, aby směřoval na složku s publikovanou aplikací.
  2. Publikujte aplikaci:
    dotnet publish -c Release -o publish

Linux

  1. Nainstalujte runtime ASP.NET Core:
    sudo apt-get install -y aspnetcore-runtime-7.0
  2. Publikujte aplikaci:
    dotnet publish -c Release -o publish
  3. Nakonfigurujte Nginx, aby směroval provoz na server Kestrel.

macOS

  1. Nainstalujte runtime .NET z oficiálního webu.
  2. Publikujte a spusťte:
    dotnet publish -c Release -o publish
    cd publish
    dotnet WatermarkAPI.dll

Běžné problémy a opravy

  1. Chyby neplatného vstupu: Ujistěte se, že nahraný soubor je platný dokument Word a text vodoznaku není prázdný.
  2. Chyby přístupu odepřeny: Na Linuxu/macOS udělte aplikaci správná oprávnění k aplikační složce.
    chmod -R 755 /path/to/app
  3. Problémy s výkonem: U velkých souborů optimalizujte využití paměti zpracováním souborů přímo z disku namísto proudů.

Tento průvodce vám ukázal, jak vytvořit REST API pro přidávání vodoznaků do dokumentů Word pomocí Aspose.Words for .NET a nasadit ho na všechny hlavní platformy.

 Čeština