Expose a REST API to Watermark Word Documents

Kuinka lisätä vesileimoja Word-asiakirjoihin ASP.NET Core REST API:n kautta

Tämä opas ohjaa sinua kuinka julkaista REST API vesileimojen lisäämiseksi Word-asiakirjoihin ASP.NET Core:ssa. Se sisältää vaiheittaiset ohjeet, asennustiedot ja käyttöönotto-ohjeet tärkeimmille alustoille.

Vaiheet vesileimojen lisäämiseksi Word-asiakirjoihin REST API:n kautta

  1. Asenna ASP.NET Core Web API -projekti vesileimojen lisäämiseksi.
  2. Asenna Aspose.Words for .NET NuGet Package Managerin kautta.
  3. Luo ohjain, jossa on päätepiste, joka vastaanottaa Word-tiedostoja sekä vesileiman teksti- tai kuvatiedot.
  4. Kirjoita koodi, joka lisää teksti- tai kuvasisältöisiä vesileimoja Word-asiakirjoihin.
  5. Testaa API:ta paikallisesti käyttäen työkaluja kuten Postman tai cURL.
  6. Ota API käyttöön Windows-, Linux- tai macOS-ympäristöissä.
  7. Määritä Nginx tai IIS tuotantoympäristöön.

Nämä vaiheet tarjoavat yksityiskohtaisen lähestymistavan luoda ja julkaista vesileima-API.

Koodiesimerkki: REST-API vesileimojen lisäämiseen

Alla on ajettava koodinpätkä REST‑API:n tarjoamiseksi, joka lisää tekstivedenmerkit Word-asiakirjoihin:

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

Käyttöönotto tärkeimmillä alustoilla

Windows

  1. Asenna IIS ja määritä sivusto osoittamaan julkaistuun sovelluskansioon.
  2. Julkaise sovellus:

Linux

  1. Asenna ASP.NET Core runtime:
  2. Julkaise sovellus:
  3. Määritä Nginx välittämään liikenne Kestrel-palvelimelle.

macOS

  1. Asenna .NET runtime lähteestä virallinen sivusto .
  2. Julkaise ja suorita:

Yleisiä ongelmia ja korjauksia

  1. Virheelliset syöttevirheet: Varmista, että ladattu tiedosto on kelvollinen Word-asiakirja ja vesileiman teksti ei ole tyhjä.
  2. Pääsyn estovirheet: Linuxissa/macOSissa myönnä oikeat käyttöoikeudet sovelluskansioon.
  3. Suorituskykyongelmat: Suureille tiedostoille optimoi muistin käyttö käsittelemällä tiedostot suoraan levystä sen sijaan, että käyttäisit virtoja.

Tämä opas on näyttänyt, miten luodaan REST API vesileimojen lisäämiseksi Word-asiakirjoihin käyttäen Aspose.Words for .NET ja ota se käyttöön kaikilla tärkeimmillä alustoilla.

 Suomi