Expose a REST API to Watermark Word Documents
ASP.NET Core REST API के माध्यम से Word दस्तावेजों में पानी के निशान कैसे जोड़ें
यह ट्यूटोरियल आपको ASP.NET कोर में Word दस्तावेजों में पानी के निशान जोड़ने के लिए एक REST एपीआई कैसे प्रदर्शित करने के बारे में मार्गदर्शन करता है इसमें कदम-दर-चरण निर्देश, सेटअप विवरण और प्रमुख प्लेटफार्मों की तैनाती के निर्देश शामिल हैं।
REST API के माध्यम से Word दस्तावेजों में पानी के निशान जोड़ने के कदम
- पानी के संकेतों को जोड़ने के लिए ASP.NET कोर वेब एपीआई परियोजना स्थापित करें।
- Install .NET के लिए Aspose.Words NuGet Package Manager के माध्यम से।
- Word फ़ाइलों और पानी के निशान पाठ या छवि पैरामीटर को स्वीकार करने के लिए एक अंत बिंदु के साथ एक नियंत्रक बनाएं।
- Word दस्तावेजों में पाठ या छवि पानी के निशान जोड़ने के लिए कोड लिखें।
- Postman या cURL जैसे उपकरणों का उपयोग करके एपीआई को स्थानीय रूप से परीक्षण करें।
- एपीआई को विंडोज, लिनक्स या मैकओएस वातावरण में तैनात करें।
- उत्पादन तैनात के लिए Nginx या IIS सेट करें।
इन चरणों में एक विस्तृत दृष्टिकोण प्रदान किया जाता है और ** पानी के निशान एपीआई** को बनाने और प्रदर्शित करने के लिए।
कोड उदाहरण: पानी के संकेतों को जोड़ने के लिए REST API
नीचे वर्ड दस्तावेजों में पाठ पानी के निशान जोड़ने के लिए एक REST एपीआई को प्रदर्शित करने का एक चलने वाला कोड स्नैप है:
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 को Kestrel सर्वर पर प्रॉक्सी ट्रैफ़िक के लिए सेट करें।
माइक
- .NET Runtime से स्थापित करें आधिकारिक साइट .
- संपादित करें और चलाएं:
dotnet publish -c Release -o publish
cd publish
dotnet WatermarkAPI.dll
सामान्य समस्याएं और सुधार
- अवैध इनपुट त्रुटियां : यह सुनिश्चित करें कि अपलोड की गई फ़ाइल एक वैध Word दस्तावेज़ है और पानी के निशान का पाठ अनौपचारिक है।
- Access Denied Errors : Linux/macOS पर, अनुप्रयोग फ़ोल्डर को उचित अनुमति दें।
chmod -R 755 /path/to/app
- प्रदर्शन के मुद्दे : बड़े फ़ाइलों के लिए, प्रवाह के बजाय डिस्क से सीधे फाइलें संसाधित करके स्मृति का उपयोग अनुकूलित करें।
यह दिशानिर्देश आपको दिखाता है कि .NET के लिए **Aspose.Words का उपयोग करके Word दस्तावेजों में पानी के संकेतों को जोड़ने और इसे सभी प्रमुख प्लेटफार्मों पर कैसे स्थापित करें।