Expose a REST API to Watermark Word Documents
Како додати водене ознаке у Word документима преко АСП.НЕТ Цоре РЕСТ АПИ
Овај туториал вас води на како изложити РЕСТ АПИ за додавање водених знакова у Ворд документима у АСП.НЕТ Цоре. То укључује корак по кораку упутства, подешавања детаља, и водичи за распоређивање за велике платформе.
Koraki za dodavanje vodovoda u Word dokumente preko REST API-a
- Успоставите АСП.НЕТ Цоре Веб АПИ пројекат за додавање водених ознака.
- Install Aspose.Words за .NET via NuGet Package Manager.
- Креирајте контролер са завршном тачком да бисте прихватили Word датотеке и параметре текста или слике.
- Напишите код да бисте додали текст или слику водене ознаке у 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);
}
}
}
}
Унапређење на великим платформама
Виндовс
- Инсталирајте ИИС и конфигуришите сајт да бисте указивали на објављену фасциклу апликације.
- Објављујте апликацију:
dotnet publish -c Release -o publish
Линукс
- Инсталирајте ASP.NET Core радно време:
sudo apt-get install -y aspnetcore-runtime-7.0
- Објављујте апликацију:
dotnet publish -c Release -o publish
- Konfigurirajte Nginx na proxy saobraćaj na Kestrel serveru.
МАКОС
- Install the .NET runtime from the Званични сајт.
- Објављивање и покретање:
dotnet publish -c Release -o publish
cd publish
dotnet WatermarkAPI.dll
Уобичајени проблеми и фиксирања
- Неважеће грешке у уводу: Уверите се да је преузети датотека важећи Word документ, а текст водене ознаке није празан.
- Доступ одбијене грешке: На Линук/макоС-у, дајте одговарајуће дозволе фасциклу апликације.
chmod -R 755 /path/to/app
- Проблеми перформанси: За велике датотеке, оптимизирајте употребу меморије обрадом датова директно са диска уместо струја.
Овај водич вам је показао како да креирате РЕСТ АПИ за додавање водених ознака у Word документима користећи Aspose.Words за .NET и расположити га на свим великим платформама.