Expose a REST API to Watermark Word Documents

Как да добавите водометки към Word документи чрез ASP.NET Core REST API

Този туториал ви насочва към Как да се изложи REST API за добавяне на водознаци към Word документи в ASP.NET Core.Той включва стъпка по стъпка инструкции, подробности за настройка и насоки за внедряване за основните платформи.

Стъпки за добавяне на водознаци към Word документи чрез REST API

  1. Създайте ASP.NET Core Web API проект за добавяне на водознаци.
  2. Инсталиране Aspose.Words for .NET Използвайте NuGet Package Manager.
  3. Създайте контролер с крайна точка, за да приемете Word файлове и параметри на текст или изображение.
  4. Напишете код, за да добавите текст или изображение водознаци към Word документи.
  5. Тествайте API локално с помощта на инструменти като Postman или cURL.
  6. Разпределете API на Windows, Linux или macOS среди.
  7. Конфигуриране на Nginx или IIS за производствено разпространение.

Тези стъпки осигуряват подробен подход за създаване и излагане на Водоуборда.

Код пример: REST API за добавяне на водознаци

По-долу е излъчващ код за излагане на REST API, който добавя текстови водознаци към Word документи:

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

Разпространение на големи платформи

Windows

  1. Инсталирайте IIS и конфигурирайте сайта, за да посочите публикувания папка за приложения.
  2. Публикувайте заявлението:
dotnet publish -c Release -o publish

Linux

  1. Инсталиране на ASP.NET Core Runtime:
sudo apt-get install -y aspnetcore-runtime-7.0
  1. Публикувайте заявлението:
dotnet publish -c Release -o publish
  1. Конфигуриране на Nginx за прокси трафик към сървъра Kestrel.

macOS

  1. Инсталиране на .NET Runtime от Официален сайт .
  2. Публикува и изпълнява:
dotnet publish -c Release -o publish
cd publish
dotnet WatermarkAPI.dll

Общи проблеми и фиксиране

  1. Невалидни грешки в вноса: Уверете се, че изтегленият файл е валиден документ на Word и че текстът на водометката е непразен.
  2. Отказ от грешки:В Linux/macOS, дайте подходящи разрешения на папката за приложения.
chmod -R 755 /path/to/app
  1. Проблеми с изпълнението:За големи файлове оптимизирайте използването на паметта, като обработвате файлове директно от диска, а не от потоците.

Този ръководство ви показва как да създадете REST API за добавяне на водознаци към Word документи, като използвате Aspose.Words for .NET И се използва на всички основни платформи.

 Български