Expose a REST API to Watermark Word Documents
Як додати водяні знаки до документів Word за допомогою REST API ASP.NET Core
Цей підручник допомагає вам у як опублікувати REST API для додавання водяних знаків у документи Word в ASP.NET Core. Він включає покрокові інструкції, деталі налаштування та рекомендації щодо розгортання для основних платформ.
Кроки для додавання водяних знаків у документи Word через REST API
- Налаштуйте проєкт ASP.NET Core Web API для додавання водяних знаків.
- Встановити Aspose.Words for .NET через NuGet Package Manager.
- Створіть контролер з кінцевою точкою, яка приймає файли Word та параметри текстового або зображувального водяного знака.
- Напишіть код для додавання текстових або зображувальних водяних знаків у документи Word.
- Протестуйте API локально, використовуючи інструменти типу Postman або cURL.
- Розгорніть API у середовищах Windows, Linux або macOS.
- Налаштуйте 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
- Встановіть IIS і налаштуйте сайт так, щоб він вказував на папку опублікованого застосунку.
- Опублікуйте застосунок:
Linux
- Встановіть ASP.NET Core runtime:
- Опублікуйте застосунок:
- Налаштуйте Nginx для проксирування трафіку до сервера Kestrel.
macOS
- Встановити .NET runtime з офіційного сайту .
- Опублікувати та запустити:
Загальні проблеми та виправлення
- Помилки недійсного вводу: Переконайтеся, що завантажений файл є дійсним документом Word, а текст водяного знака не порожній.
- Помилки відмови у доступі: У Linux/macOS надайте належні дозволи папці застосунку.
- Проблеми продуктивності: Для великих файлів оптимізуйте використання пам’яті, обробляючи файли безпосередньо з диска, а не через потоки.
У цьому посібнику показано, як створити REST API для додавання водяних знаків до документів Word за допомогою Aspose.Words for .NET та розгорнути його на всіх основних платформах.