Expose a REST API to Watermark Word Documents

Як додати водяні знаки до документів Word за допомогою REST API ASP.NET Core

Цей підручник допомагає вам у як опублікувати 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 для продакшн-розгортання.

Ці кроки пропонують детальний підхід до створення та публікації watermark API.

Приклад коду: 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. Опублікуйте застосунок:

Linux

  1. Встановіть ASP.NET Core runtime:
  2. Опублікуйте застосунок:
  3. Налаштуйте Nginx для проксирування трафіку до сервера Kestrel.

macOS

  1. Встановити .NET runtime з офіційного сайту .
  2. Опублікувати та запустити:

Загальні проблеми та виправлення

  1. Помилки недійсного вводу: Переконайтеся, що завантажений файл є дійсним документом Word, а текст водяного знака не порожній.
  2. Помилки відмови у доступі: У Linux/macOS надайте належні дозволи папці застосунку.
  3. Проблеми продуктивності: Для великих файлів оптимізуйте використання пам’яті, обробляючи файли безпосередньо з диска, а не через потоки.

У цьому посібнику показано, як створити REST API для додавання водяних знаків до документів Word за допомогою Aspose.Words for .NET та розгорнути його на всіх основних платформах.

 Українська