Expose a REST API to Watermark Word Documents

Kā pievienot ūdenszīmes Word dokumentiem, izmantojot ASP.NET Core REST API

Šis pamācības ceļvedis jūs vada kā nodrošināt REST API ūdenszīmju pievienošanai Word dokumentiem ASP.NET Core. Tas ietver soli pa solim instrukcijas, iestatīšanas detaļas un izvietošanas vadlīnijas galvenām platformām.

Soļi, kā pievienot ūdenszīmes Word dokumentiem, izmantojot REST API

  1. Izveidojiet ASP.NET Core Web API projektu, lai pievienotu ūdenszīmes.
  2. Instalēt Aspose.Words for .NET caur NuGet Package Manager.
  3. Izveidojiet kontrolieri ar galapunktu, kas pieņem Word failus un ūdenszīmes teksta vai attēla parametrus.
  4. Uzrakstiet kodu, lai pievienotu teksta vai attēla ūdenszīmes Word dokumentiem.
  5. Testējiet API lokāli, izmantojot tādus rīkus kā Postman vai cURL.
  6. Izvietojiet API Windows, Linux vai macOS vidēs.
  7. Konfigurējiet Nginx vai IIS ražošanas izvietošanai.

Šie soļi sniedz detalizētu pieeju, lai izveidotu un atklātu ūdenszīmes API.

Koda piemērs: REST API ūdenszīmju pievienošanai

Zemāk ir izpildāms koda fragments, kas nodrošina REST API, kas pievieno teksta ūdenszīmes Word dokumentiem:

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}");
            }
        }
    }
}

Izvietošana uz galvenajām platformām

Windows

  1. Instalējiet IIS un konfigurējiet vietni, lai tā norādītu uz publicēto lietojumprogrammas mapi.
  2. Publicēt lietojumprogrammu:

Linux

  1. Instalējiet ASP.NET Core izpildlaiku:
  2. Publicēt lietojumprogrammu:
  3. Konfigurējiet Nginx, lai pāradresētu trafiku uz Kestrel serveri.

macOS

  1. Instalējiet .NET izpildlaiku no oficiālās vietnes .
  2. Publicēt un palaist:

Biežas problēmas un risinājumi

  1. Nederīgu ievades kļūdas: Pārliecinieties, ka augšupielādētais fails ir derīgs Word dokuments un ūdenszīmes teksts nav tukšs.
  2. Piekļuves lieguma kļūdas: Linux/macOS vidē piešķiriet pareizas atļaujas lietotnes mapē.
  3. Veiktspējas problēmas: Lieliem failiem optimizējiet atmiņas lietojumu, apstrādājot failus tieši no diska, nevis straumēm.

Šis ceļvedis ir parādījis, kā izveidot REST API, lai pievienotu ūdenszīmes Word dokumentiem, izmantojot Aspose.Words for .NET un izvietot to visās galvenajās platformās.

 Latviski