Expose a REST API to Watermark Word Documents
Ako pridať vodoznaky do dokumentov Word prostredníctvom ASP.NET Core REST API
Tento tutoriál vás vedie ako vystaviť REST API na pridávanie vodoznakov do dokumentov Word v ASP.NET Core. Obsahuje podrobné postupy krok za krokom, podrobnosti o nastavení a nasadzovacie pokyny pre hlavné platformy.
Kroky na pridanie vodoznakov do dokumentov Word prostredníctvom REST API
- Nastavte projekt ASP.NET Core Web API na pridávanie vodoznakov.
- Inštalovať Aspose.Words for .NET prostredníctvom NuGet Package Manager.
- Vytvorte kontrolér s koncovým bodom, ktorý prijíma súbory Word a parametre textu alebo obrázka vodoznaku.
- Napíšte kód na pridanie textových alebo obrázkových vodoznakov do dokumentov Word.
- Otestujte API lokálne pomocou nástrojov ako Postman alebo cURL.
- Nasadiť API v prostrediach Windows, Linux alebo macOS.
- Nakonfigurujte Nginx alebo IIS pre produkčné nasadenie.
Tieto kroky poskytujú podrobný prístup na vytvorenie a vystavenie vodoznakového API.
Príklad kódu: REST API pre pridávanie vodoznakov
Nižšie je spustiteľný úryvok kódu na zverejnenie REST API, ktoré pridáva textové vodoznaky do dokumentov 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}");
}
}
}
}Nasadenie na hlavné platformy
Windows
- Nainštalujte IIS a nakonfigurujte stránku tak, aby smerovala na priečinok s publikovanou aplikáciou.
- Zverejnite aplikáciu:
Linux
- Nainštalujte runtime ASP.NET Core:
- Zverejnite aplikáciu:
- Nakonfigurujte Nginx na proxyovanie prevádzky na server Kestrel.
macOS
- Inštalujte runtime .NET z oficiálnej stránky .
- Zverejnite a spustite:
Bežné problémy a riešenia
- Chyby neplatného vstupu: Uistite sa, že nahraný súbor je platný dokument Word a text vodoznaku nie je prázdny.
- Chyby odmietnutého prístupu: V systéme Linux/macOS udeľte správne oprávnenia priečinku aplikácie.
- Problémy s výkonom: Pre veľké súbory optimalizujte využitie pamäte spracovaním súborov priamo z disku namiesto streamov.
Tento návod vám ukázal, ako vytvoriť REST API na pridávanie vodoznakov do dokumentov Word pomocou Aspose.Words for .NET a nasadiť ho na všetky hlavné platformy.