Expose a REST API to Watermark Word Documents

Hvordan legge til vannmerker i Word-dokumenter via ASP.NET Core REST API

Denne veiledningen veileder deg i hvordan eksponere et REST API for å legge til vannmerker i Word-dokumenter i ASP.NET Core. Den inkluderer trinnvise instruksjoner, oppsettdetaljer og distribusjonsretningslinjer for de viktigste plattformene.

Trinn for å legge til vannmerker i Word-dokumenter via REST API

  1. Sett opp et ASP.NET Core Web API-prosjekt for å legge til vannmerker.
  2. Installer Aspose.Words for .NET via NuGet Package Manager.
  3. Opprett en kontroller med et endepunkt som godtar Word-filer og parametere for vannmerketekst eller -bilde.
  4. Skriv kode for å legge til tekst- eller bilde‑vannmerker i Word-dokumenter.
  5. Test API-et lokalt ved å bruke verktøy som Postman eller cURL.
  6. Distribuer API-et på Windows, Linux eller macOS-miljøer.
  7. Konfigurer Nginx eller IIS for produksjonsutplassering.

Disse trinnene gir en detaljert tilnærming for å lage og eksponere vannmerke-API.

Kodeeksempel: REST API for å legge til vannmerker

Nedenfor er et kjørbart kodeutdrag for å eksponere et REST API som legger til tekstvannmerker i Word-dokumenter:

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

Distribusjon på store plattformer

Windows

  1. Installer IIS og konfigurer nettstedet til å peke på den publiserte applikasjonsmappen.
  2. Publiser applikasjonen:

Linux

  1. Installer ASP.NET Core-runtime:
  2. Publiser applikasjonen:
  3. Konfigurer Nginx til å proxy trafikk til Kestrel-serveren.

macOS

  1. Installer .NET runtime fra den offisielle nettstedet .
  2. Publiser og kjør:

Vanlige problemer og løsninger

  1. Ugyldige inndatafeil: Sørg for at den opplastede filen er et gyldig Word-dokument, og at vannmerksteksten ikke er tom.
  2. Feil ved nektet tilgang: På Linux/macOS, gi riktige tillatelser til applikasjonsmappen.
  3. Ytelsesproblemer: For store filer, optimaliser minnebruk ved å behandle filer direkte fra disk i stedet for strømmer.

Denne guiden har vist deg hvordan du lager et REST API for å legge til vannmerker i Word-dokumenter ved hjelp av Aspose.Words for .NET og distribuer den på alle store plattformer.

 Norsk