Expose a REST API to Watermark Word Documents
ASP.NET Core REST API를 통해 Word 문서에 워터마크를 추가하는 방법
이 튜토리얼은 다음에 대해 안내합니다 ASP.NET Core에서 Word 문서에 워터마크를 추가하기 위한 REST API를 노출하는 방법. 단계별 지침, 설정 세부 정보 및 주요 플랫폼에 대한 배포 가이드라인을 포함합니다.
REST API를 통해 Word 문서에 워터마크를 추가하는 단계
- 워터마크 추가를 위한 ASP.NET Core Web API 프로젝트를 설정합니다.
- 설치 Aspose.Words for .NET NuGet Package Manager를 통해.
- Word 파일과 워터마크 텍스트 또는 이미지 매개변수를 수락하는 엔드포인트가 있는 컨트롤러를 생성합니다.
- Word 문서에 텍스트 또는 이미지 워터마크를 추가하는 코드를 작성합니다.
- Postman이나 cURL과 같은 도구를 사용하여 로컬에서 API를 테스트합니다.
- API를 Windows, Linux, macOS 환경에 배포합니다.
- 프로덕션 배포를 위해 Nginx 또는 IIS를 구성합니다.
이 단계들은 생성하고 노출하기 위한 상세한 접근 방식을 제공합니다. 워터마크 API.
코드 예시: 워터마크 추가를 위한 REST API
아래는 Word 문서에 텍스트 워터마크를 추가하는 REST API를 노출하는 실행 가능한 코드 스니펫입니다:
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
- IIS를 설치하고 사이트가 게시된 애플리케이션 폴더를 가리키도록 구성합니다.
- 애플리케이션을 게시합니다:
Linux
- ASP.NET Core 런타임을 설치합니다:
- 애플리케이션을 게시합니다:
- Nginx를 구성하여 트래픽을 Kestrel 서버로 프록시합니다.
macOS
- 다음에서 .NET 런타임을 설치하십시오. 공식 사이트 .
- 게시하고 실행합니다:
일반적인 문제 및 해결 방법
- 잘못된 입력 오류: 업로드된 파일이 유효한 Word 문서이며 워터마크 텍스트가 비어 있지 않은지 확인하십시오.
- 접근 거부 오류: Linux/macOS에서 애플리케이션 폴더에 적절한 권한을 부여하십시오.
- 성능 문제: 대용량 파일의 경우, 스트림 대신 디스크에서 직접 파일을 처리하여 메모리 사용량을 최적화하십시오.
이 가이드는 워드 문서에 워터마크를 추가하는 REST API를 만드는 방법을 보여줍니다 using Aspose.Words for .NET 그리고 모든 주요 플랫폼에 배포합니다.