Expose a REST API to Watermark Word Documents
Kuinka lisätä vesileimoja Word-asiakirjoihin ASP.NET Core REST API:n kautta
Tämä opas ohjaa sinua kuinka julkaista REST API vesileimojen lisäämiseksi Word-asiakirjoihin ASP.NET Core:ssa. Se sisältää vaiheittaiset ohjeet, asennustiedot ja käyttöönotto-ohjeet tärkeimmille alustoille.
Vaiheet vesileimojen lisäämiseksi Word-asiakirjoihin REST API:n kautta
- Asenna ASP.NET Core Web API -projekti vesileimojen lisäämiseksi.
- Asenna Aspose.Words for .NET NuGet Package Managerin kautta.
- Luo ohjain, jossa on päätepiste, joka vastaanottaa Word-tiedostoja sekä vesileiman teksti- tai kuvatiedot.
- Kirjoita koodi, joka lisää teksti- tai kuvasisältöisiä vesileimoja Word-asiakirjoihin.
- Testaa API:ta paikallisesti käyttäen työkaluja kuten Postman tai cURL.
- Ota API käyttöön Windows-, Linux- tai macOS-ympäristöissä.
- Määritä Nginx tai IIS tuotantoympäristöön.
Nämä vaiheet tarjoavat yksityiskohtaisen lähestymistavan luoda ja julkaista vesileima-API.
Koodiesimerkki: REST-API vesileimojen lisäämiseen
Alla on ajettava koodinpätkä REST‑API:n tarjoamiseksi, joka lisää tekstivedenmerkit Word-asiakirjoihin:
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}");
}
}
}
}Käyttöönotto tärkeimmillä alustoilla
Windows
- Asenna IIS ja määritä sivusto osoittamaan julkaistuun sovelluskansioon.
- Julkaise sovellus:
Linux
- Asenna ASP.NET Core runtime:
- Julkaise sovellus:
- Määritä Nginx välittämään liikenne Kestrel-palvelimelle.
macOS
- Asenna .NET runtime lähteestä virallinen sivusto .
- Julkaise ja suorita:
Yleisiä ongelmia ja korjauksia
- Virheelliset syöttevirheet: Varmista, että ladattu tiedosto on kelvollinen Word-asiakirja ja vesileiman teksti ei ole tyhjä.
- Pääsyn estovirheet: Linuxissa/macOSissa myönnä oikeat käyttöoikeudet sovelluskansioon.
- Suorituskykyongelmat: Suureille tiedostoille optimoi muistin käyttö käsittelemällä tiedostot suoraan levystä sen sijaan, että käyttäisit virtoja.
Tämä opas on näyttänyt, miten luodaan REST API vesileimojen lisäämiseksi Word-asiakirjoihin käyttäen Aspose.Words for .NET ja ota se käyttöön kaikilla tärkeimmillä alustoilla.