Expose a REST API to Watermark Word Documents
# איך להוסיף סימני מים למסמכי Word דרך API REST של ASP.NET Core
Αυτό το εγχειρίδιο σας καθοδηγεί σχετικά με το πώς να εκθέσετε ένα REST API για την προσθήκη σημείων νερού σε έγγραφα του Word στο ASP.NET Core**. Περιλαμβάνει βήμα προς βήμα οδηγίες, λεπτομέρειες εγκατάστασης και κατευθυντήριες γραμμές εκτέλεσης για μεγάλες πλατφόρμες.
Βήματα για να προσθέσετε σημεία νερού σε έγγραφα του Word μέσω του REST API
- Δημιουργήστε ένα πρόγραμμα ASP.NET Core Web API για την προσθήκη σημείων νερού.
- Εγκατάσταση Aspose.Words για .NET Με το NuGet Package Manager.
- Δημιουργήστε έναν διαχειριστή με ένα τελικό σημείο για να αποδεχτείτε τα αρχεία του Word και τις παραμέτρους κειμένου ή εικόνας.
- Γράψτε κώδικα για να προσθέσετε κείμενο ή εικόνα υδατικά σημεία στα έγγραφα του Word.
- Δοκιμάστε το API τοπικά χρησιμοποιώντας εργαλεία όπως το Postman ή το cURL.
- Τοποθετήστε το API σε περιβάλλοντα Windows, Linux ή macOS.
- Προσαρμόστε Nginx ή IIS για την εκτέλεση παραγωγής.
Αυτά τα βήματα παρέχουν μια λεπτομερή προσέγγιση για τη δημιουργία και την έκθεση του API watermark.
Παράδειγμα κώδικα: REST API για την προσθήκη σημείων νερού
Παρακάτω είναι μια εκκίνηση κώδικα για την έκθεση ενός REST API που προσθέτει υδατικά σημεία κειμένου στα έγγραφα του Word:
using System.IO;
using System.Threading.Tasks;
using Aspose.Words;
using Aspose.Words.Drawing;
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);
AddTextWatermark(doc, watermarkText);
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}");
}
}
private void AddTextWatermark(Document doc, string text)
{
foreach (Section section in doc.Sections)
{
var watermark = new Shape(doc, ShapeType.TextPlainText)
{
TextPath = { Text = text, FontFamily = "Arial" },
Width = 300,
Height = 70,
Rotation = -40,
FillColor = System.Drawing.Color.LightGray,
StrokeColor = System.Drawing.Color.LightGray,
WrapType = WrapType.None,
BehindText = true,
RelativeHorizontalPosition = RelativeHorizontalPosition.Page,
RelativeVerticalPosition = RelativeVerticalPosition.Page,
Left = 100,
Top = 200
};
section.HeadersFooters[HeaderFooterType.HeaderPrimary]?.AppendChild(watermark);
}
}
}
}
Εφαρμογή σε μεγάλες πλατφόρμες
Windows
- Εγκαταστήστε το IIS και ρυθμίστε τον ιστότοπο για να αναφέρετε στο δημοσιευμένο φάκελο εφαρμογών.
- Δημοσιεύστε την αίτηση:
dotnet publish -c Release -o publish
Linux
- Εγκαταστήστε το ASP.NET Core runtime:
sudo apt-get install -y aspnetcore-runtime-7.0
- Δημοσιεύστε την αίτηση:
dotnet publish -c Release -o publish
- Προσαρμόστε το Nginx στην κίνηση proxy στον διακομιστή Kestrel.
ΜΑΚΟΣ
- Εγκαταστήστε το .NET runtime από το Επίσημη ιστοσελίδα .
- Δημοσίευση και εκτέλεση:
dotnet publish -c Release -o publish
cd publish
dotnet WatermarkAPI.dll
Κοινά ζητήματα και διορθώσεις
- Με επικυρωμένα σφάλματα εισόδου: Βεβαιωθείτε ότι το ανεβάσιμο αρχείο είναι έγκυρο έγγραφο του Word και το κείμενο υδράργυρου δεν είναι κενό.
- Αρνημένα λάθη πρόσβασης: Στο Linux/macOS, δώστε τις κατάλληλες άδειες στο φάκελο εφαρμογών.
chmod -R 755 /path/to/app
- Πρόβλεψη απόδοσης: Για μεγάλα αρχεία, βελτιστοποιήστε τη χρήση μνήμης επεξεργάζοντας τα αρχεία απευθείας από το δίσκο και όχι τις ροές.
Αυτός ο οδηγός σας έχει δείξει πώς να δημιουργήσετε μια REST API για την προσθήκη σημείων νερού σε έγγραφα του Word χρησιμοποιώντας Aspose.Words για .NET και να την εκτελέσετε σε όλες τις μεγάλες πλατφόρμες.