Expose a REST API to Watermark Word Documents
Jak přidat vodoznaky do dokumentů Word pomocí ASP.NET Core REST API
Tento tutoriál vás provádí jak vystavit REST API pro přidávání vodoznaků do dokumentů Word v ASP.NET Core. Obsahuje podrobné instrukce krok za krokem, podrobnosti o nastavení a pokyny pro nasazení na hlavní platformy.
Kroky k přidání vodoznaků do dokumentů Word pomocí REST API
- Nastavte projekt ASP.NET Core Web API pro přidávání vodoznaků.
- Instalovat Aspose.Words for .NET prostřednictvím NuGet Package Manageru.
- Vytvořte controller s endpointem, který přijímá soubory Word a parametry vodoznaku (text nebo obrázek).
- Napište kód pro přidání textových nebo obrázkových vodoznaků do dokumentů Word.
- Krok 1: Přidejte odkaz na System.Drawing.
- Krok 2: Přidejte balíček Aspose.Words z NuGet.
- Krok 3: Přidejte direktivy using.
Tyto kroky poskytují podrobný přístup k vytvoření a vystavení vodoznakové API.
Příklad kódu: REST API pro přidávání vodoznaků
Níže je spustitelný úryvek kódu pro zpřístupnění REST API, které přidává textové vodoznaky do dokumentů 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}");
}
}
}
}Přidejte potřebné using direktivy na začátek souboru.
Windows
- Nainstalujte IIS a nakonfigurujte webové místo tak, aby ukazovalo na složku publikované aplikace.
- Publikujte aplikaci:
Linux
- Krok 5: Vytvořit objekt DocumentBuilder:
- Publikujte aplikaci:
- Krok 6: Přesunout kurzor do záhlaví.
macOS
- Nainstalujte runtime .NET z oficiální stránky .
- Publikujte a spusťte:
Časté problémy a opravy
- Chyby neplatného vstupu: Ujistěte se, že nahraný soubor je platný dokument Word a text vodoznaku není prázdný.
- Chyby odmítnutí přístupu: V Linuxu/macOS udělte správná oprávnění složce aplikace.
- Problémy s výkonem: Pro velké soubory optimalizujte využití paměti zpracováním souborů přímo z disku místo streamů.
Tento průvodce vám ukázal, jak vytvořit REST API pro přidávání vodoznaků do dokumentů Word pomocí Aspose.Words for .NET a nasadit jej na všech hlavních platformách.