Expose a REST API to Watermark Word Documents

Kako dodati vodene žigove u Word dokumente putem ASP.NET Core REST API-ja

Ovaj vodič vas vodi kako izložiti REST API za dodavanje vodenih žigova u Word dokumente u ASP.NET Core. Sadrži detaljne upute korak po korak, detalje postavljanja i smjernice za implementaciju za glavne platforme.

Koraci za dodavanje vodenih žigova u Word dokumente putem REST API-ja

  1. Postavite ASP.NET Core Web API projekt za dodavanje vodenih žigova.
  2. Instaliraj Aspose.Words for .NET preko NuGet Package Manager.
  3. Kreirajte kontroler s krajnjom točkom koja prihvaća Word datoteke i parametre teksta ili slike vodenog žiga.
  4. Napišite kod za dodavanje teksta ili slike vodenog žiga u Word dokumente.
  5. Testirajte API lokalno koristeći alate poput Postmana ili cURL-a.
  6. Postavite API na Windows, Linux ili macOS okruženja.
  7. Konfigurirajte Nginx ili IIS za produkcijsko postavljanje.

Ovi koraci pružaju detaljan pristup za stvaranje i izlaganje API za vodeni žig.

Primjer koda: REST API za dodavanje vodenih žigova

Dolje je izvršivi isječak koda za izlaganje REST API-ja koji dodaje tekstualne vodene žigove u Word dokumente:

using System.IO;
using System.Threading.Tasks;
using Aspose.Words;
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("Please upload a valid Word document and provide a watermark text.");

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

                Document doc = new Document(tempFilePath);

                TextWatermarkOptions options = new TextWatermarkOptions
                {
                    FontFamily = "Arial",
                    FontSize = 40,
                    Color = System.Drawing.Color.LightGray,
                    Layout = WatermarkLayout.Diagonal,
                    IsSemitrasparent = true
                };
                doc.Watermark.SetText(watermarkText, options);

                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, $"Internal server error: {ex.Message}");
            }
        }
    }
}

Implementacija na glavnim platformama

Windows

  1. Instalirajte IIS i konfigurirajte web mjesto da pokazuje na mapu objavljene aplikacije.
  2. Objavite aplikaciju:

Linux

  1. Instalirajte ASP.NET Core runtime:
  2. Objavite aplikaciju:
  3. Konfigurirajte Nginx da prosljeđuje promet na Kestrel poslužitelj.

macOS

  1. Instaliraj .NET runtime s službene stranice .
  2. Objavite i pokrenite:

Uobičajeni problemi i rješenja

  1. Pogreške neispravnog unosa: Provjerite da je učitana datoteka valjani Word dokument i da tekst vodnog žiga nije prazan.
  2. Pogreške odbijanja pristupa: Na Linuxu/macOS-u, dodijelite odgovarajuće dozvole mapi aplikacije.
  3. Problemi s performansama: Za velike datoteke, optimizirajte korištenje memorije obrađujući datoteke izravno s diska umjesto putem streamova.

Ovaj vodič je pokazao kako stvoriti REST API za dodavanje vodnih žigova u Word dokumente koristeći Aspose.Words for .NET i implementirati ga na svim glavnim platformama.

 Hrvatski