Expose a REST API to Watermark Word Documents

Kaip pridėti vandens ženklus į Word dokumentus per ASP.NET Core REST API

Ši pamoka jums padeda kaip atverti REST API, skirtą pridėti vandens ženklus į Word dokumentus ASP.NET Core. Joje pateikiamos išsamios instrukcijos, diegimo detalės ir diegimo gairės pagrindinėms platformoms.

Žingsniai, kaip pridėti vandens ženklus į Word dokumentus per REST API

  1. Sukurkite ASP.NET Core Web API projektą, skirtą vandens ženklų pridėjimui.
  2. Įdiegti Aspose.Words for .NET per NuGet Package Manager.
  3. Sukurkite valdiklį su galutiniu tašku, priimančiu Word failus ir vandens ženklo teksto arba vaizdo parametrus.
  4. Parašykite kodą, kuris pridėtų teksto arba vaizdo vandens ženklus į Word dokumentus.
  5. Išbandykite API lokaliai naudodami įrankius, pvz., Postman arba cURL.
  6. Patalpinkite API Windows, Linux arba macOS aplinkoje.
  7. Konfigūruokite Nginx arba IIS gamybos diegimui.

Šie žingsniai suteikia išsamų požiūrį, kaip sukurti ir atverti vandens ženklo API.

Kodo pavyzdys: REST API vandens ženklų pridėjimui

Žemiau pateiktas vykdomas kodo fragmentas, skirtas atskleisti REST API, kuris prideda teksto vandens ženklus į Word dokumentus:

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

Diegimas pagrindinėse platformose

Windows

  1. Įdiekite IIS ir sukonfigūruokite svetainę, kad ji nurodytų į paskelbtą programos aplanką.
  2. Publikuokite programą:

Linux

  1. Įdiekite ASP.NET Core runtime:
  2. Publikuokite programą:
  3. Konfigūruokite Nginx, kad proxy srautą į Kestrel serverį.

macOS

  1. Įdiekite .NET runtime iš oficialios svetainės .
  2. Publikuokite ir paleiskite:

Dažnos problemos ir sprendimai

  1. Neteisingų įvesties klaidos: Įsitikinkite, kad įkeltas failas yra galiojantis Word dokumentas ir vandens ženklo tekstas nėra tuščias.
  2. Prieigos atmesto klaidos: Linux/macOS sistemoje suteikite tinkamus leidimus programos aplankui.
  3. Veikimo problemos: Dideliems failams optimizuokite atminties naudojimą apdorojant failus tiesiai iš disko, o ne srautų.

Šiame vadove parodyta, kaip sukurti REST API, skirtą pridėti vandens ženklus į Word dokumentus naudojant Aspose.Words for .NET ir įdiegti jį visose pagrindinėse platformose.

 Lietuvių