Expose a REST API to Watermark Word Documents

Jak dodać znaki wodne do dokumentów Word za pomocą REST API w ASP.NET Core

Ten poradnik prowadzi cię jak udostępnić interfejs REST API do dodawania znaków wodnych do dokumentów Word w ASP.NET Core. Zawiera instrukcje krok po kroku, szczegóły konfiguracji oraz wytyczne dotyczące wdrażania na głównych platformach.

Kroki dodawania znaków wodnych do dokumentów Word za pomocą REST API

  1. Utwórz projekt ASP.NET Core Web API do dodawania znaków wodnych.
  2. Zainstaluj Aspose.Words for .NET przez NuGet Package Manager.
  3. Utwórz kontroler z punktem końcowym przyjmującym pliki Word oraz parametry tekstu lub obrazu znaku wodnego.
  4. Napisz kod dodający tekstowe lub graficzne znaki wodne do dokumentów Word.
  5. Przetestuj API lokalnie, używając narzędzi takich jak Postman lub cURL.
  6. Wdroż API w środowiskach Windows, Linux lub macOS.
  7. Skonfiguruj Nginx lub IIS do wdrożenia produkcyjnego.

Te kroki zapewniają szczegółowe podejście do tworzenia i udostępniania API znaków wodnych.

Przykład kodu: REST API do dodawania znaków wodnych

Poniżej znajduje się działający fragment kodu udostępniający REST API, które dodaje tekstowe znaki wodne do dokumentów 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}");
            }
        }
    }
}

Wdrażanie na głównych platformach

Windows

  1. Zainstaluj IIS i skonfiguruj witrynę, aby wskazywała na folder opublikowanej aplikacji.
  2. Opublikuj aplikację:

Linux

  1. Zainstaluj środowisko uruchomieniowe ASP.NET Core:
  2. Opublikuj aplikację:
  3. Skonfiguruj Nginx, aby przekazywał ruch do serwera Kestrel.

macOS

  1. Zainstaluj środowisko uruchomieniowe .NET z oficjalnej strony .
  2. Opublikuj i uruchom:

Typowe problemy i rozwiązania

  1. Błędy Nieprawidłowego Wejścia: Upewnij się, że przesłany plik jest prawidłowym dokumentem Word i że tekst znaku wodnego nie jest pusty.
  2. Błędy Odmowy Dostępu: Na systemach Linux/macOS przyznaj odpowiednie uprawnienia folderowi aplikacji.
  3. Problemy z wydajnością: Dla dużych plików zoptymalizuj zużycie pamięci, przetwarzając pliki bezpośrednio z dysku zamiast strumieni.

Ten przewodnik pokazał Ci, jak stworzyć REST API do dodawania znaków wodnych do dokumentów Word przy użyciu Aspose.Words for .NET i wdrożyć je na wszystkich głównych platformach.

 Polski