Expose a REST API to Watermark Word Documents

Wie man Wasserzeichen zu Word-Dokumenten über die ASP.NET Core REST API hinzufügt

Dieses Tutorial führt Sie wie man eine REST API für das Hinzufügen von Wasserzeichen zu Word-Dokumenten in ASP.NET Core bereitstellt. Es enthält Schritt-für-Schritt-Anleitungen, Setup-Details und Bereitstellungsrichtlinien für die wichtigsten Plattformen.

Schritte zum Hinzufügen von Wasserzeichen zu Word-Dokumenten über die REST API

  1. Richten Sie ein ASP.NET Core Web API-Projekt zum Hinzufügen von Wasserzeichen ein.
  2. Installieren Aspose.Words for .NET über den NuGet Package Manager.
  3. Erstellen Sie einen Controller mit einem Endpunkt, der Word-Dateien sowie Wasserzeichen‑Text‑ oder Bildparameter akzeptiert.
  4. Schreiben Sie Code, um Text‑ oder Bildwasserzeichen zu Word-Dokumenten hinzuzufügen.
  5. Testen Sie die API lokal mit Werkzeugen wie Postman oder cURL.
  6. Stellen Sie die API in Windows‑, Linux‑ oder macOS‑Umgebungen bereit.
  7. Konfigurieren Sie Nginx oder IIS für die Produktionsbereitstellung.

Diese Schritte bieten einen detaillierten Ansatz, um zu erstellen und die Watermark-API.

Codebeispiel: REST‑API zum Hinzufügen von Wasserzeichen

Unten finden Sie ein ausführbares Code‑Snippet, das eine REST‑API bereitstellt, die Textwasserzeichen zu Word‑Dokumenten hinzufügt:

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}");
            }
        }
    }
}

Bereitstellung auf wichtigen Plattformen

Windows

  1. Installieren Sie IIS und konfigurieren Sie die Site so, dass sie auf den veröffentlichten Anwendungsordner zeigt.
  2. Anwendung veröffentlichen:

Linux

  1. ASP.NET Core Runtime installieren:
  2. Anwendung veröffentlichen:
  3. Nginx so konfigurieren, dass es den Datenverkehr an den Kestrel-Server weiterleitet.

macOS

  1. Installieren Sie die .NET Runtime von der offiziellen Website .
  2. Veröffentlichen und ausführen:

Häufige Probleme und Lösungen

  1. Ungültige Eingabefehler: Stellen Sie sicher, dass die hochgeladene Datei ein gültiges Word-Dokument ist und der Wasserzeichen-Text nicht leer ist.
  2. Zugriff verweigert Fehler: Unter Linux/macOS erteilen Sie die richtigen Berechtigungen für den Anwendungsordner.
  3. Leistungsprobleme: Bei großen Dateien optimieren Sie die Speichernutzung, indem Sie Dateien direkt von der Festplatte statt über Streams verarbeiten.

Dieser Leitfaden hat Ihnen gezeigt, wie Sie eine REST API zum Hinzufügen von Wasserzeichen zu Word-Dokumenten erstellen, indem Sie Aspose.Words for .NET und sie auf allen gängigen Plattformen bereitstellen.

 Deutsch