Expose a REST API to Watermark Word Documents

Πώς να προσθέσετε υδατογραφήματα σε έγγραφα Word μέσω ASP.NET Core REST API

Αυτό το σεμινάριο σας καθοδηγεί σχετικά με πώς να εκθέσετε ένα REST API για την προσθήκη υδατοσημάτων σε έγγραφα Word στο ASP.NET Core. Περιλαμβάνει οδηγίες βήμα προς βήμα, λεπτομέρειες ρύθμισης και οδηγίες ανάπτυξης για τις κύριες πλατφόρμες.

Βήματα για την προσθήκη υδατογραφιών σε έγγραφα Word μέσω REST API

  1. Ρυθμίστε ένα έργο ASP.NET Core Web API για την προσθήκη υδατογραφιών.
  2. Εγκατάσταση Aspose.Words for .NET μέσω του NuGet Package Manager.
  3. Δημιουργήστε έναν ελεγκτή με ένα σημείο πρόσβασης για να δέχεται αρχεία Word και παραμέτρους κειμένου ή εικόνας υδατογράφησης.
  4. Γράψτε κώδικα για να προσθέτετε κείμενο ή εικόνα ως υδατογράφημα σε έγγραφα Word.
  5. Δοκιμάστε το API τοπικά χρησιμοποιώντας εργαλεία όπως το Postman ή το cURL.
  6. Αναπτύξτε το API σε περιβάλλοντα Windows, Linux ή macOS.
  7. Ρυθμίστε το Nginx ή το IIS για παραγωγική ανάπτυξη.

Αυτά τα βήματα παρέχουν μια λεπτομερή προσέγγιση για τη δημιουργία και την έκθεση του 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

  1. Εγκαταστήστε το IIS και διαμορφώστε τον ιστότοπο ώστε να δείχνει στο φάκελο της δημοσιευμένης εφαρμογής.
  2. Δημοσιεύστε την εφαρμογή:

Linux

  1. Εγκαταστήστε το runtime ASP.NET Core:
  2. Δημοσιεύστε την εφαρμογή:
  3. Διαμορφώστε το Nginx ώστε να προωθεί την κίνηση στον διακομιστή Kestrel.

macOS

  1. Εγκαταστήστε το .NET runtime από το επίσημη ιστοσελίδα .
  2. Δημοσιεύστε και εκτελέστε:

Κοινά προβλήματα και διορθώσεις

  1. Σφάλματα Μη Έγκυρης Εισόδου: Βεβαιωθείτε ότι το ανεβασμένο αρχείο είναι έγκυρο έγγραφο Word και το κείμενο υδατογραφήματος δεν είναι κενό.
  2. Σφάλματα Άρνησης Πρόσβασης: Σε Linux/macOS, χορηγήστε τις κατάλληλες άδειες στο φάκελο της εφαρμογής.
  3. Προβλήματα Απόδοσης: Για μεγάλα αρχεία, βελτιστοποιήστε τη χρήση μνήμης επεξεργάζοντας τα αρχεία απευθείας από το δίσκο αντί για ροές.

Αυτός ο οδηγός σας έδειξε πώς να δημιουργήσετε ένα REST API για την προσθήκη υδατογραφήματος σε έγγραφα Word χρησιμοποιώντας Aspose.Words for .NET και να το αναπτύξετε σε όλες τις κύριες πλατφόρμες.

 Ελληνικά