Expose a REST API to Watermark Word Documents
Cara Menambah Tanda Air pada Dokumen Word melalui ASP.NET Core REST API
Tutorial ini membimbing anda tentang cara untuk mendedahkan REST API bagi menambah watermark kepada dokumen Word dalam ASP.NET Core. Ia termasuk arahan langkah demi langkah, butiran persediaan, dan panduan penyebaran untuk platform utama.
Cara Mengautomasi Pematuhan dan Pelaporan Peraturan dengan Aspose.Words dalam .NET
- Ketahui cara mengautomasi penciptaan laporan pematuhan dan peraturan menggunakan Aspose.Words untuk .NET, memastikan konsistensi dan ketepatan dalam aliran kerja pelaporan.
- Pasang Aspose.Words for .NET melalui NuGet Package Manager.
- Sediakan templat laporan dengan tempat letak untuk kandungan dinamik.
- Muatkan templat laporan pematuhan menggunakan kelas Document.
- Isi templat dengan data peraturan menggunakan mail merge.
- Tambah carta dan jadual untuk representasi data.
- Simpan laporan dalam pelbagai format, seperti Word dan PDF.
Langkah-langkah ini menyediakan pendekatan terperinci untuk mencipta dan mendedahkan API tanda air.
Alat untuk Mengautomasi Laporan Pematuhan
Sediakan templat laporan: Buat templat dokumen Word (contoh, complianceTemplate.docx) yang termasuk tempat letak untuk kandungan dinamik, seperti medan gabungan mel.:
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}");
}
}
}
}Langkah 1: Muat Templat Laporan Pematuhan
Windows
- Petikan kod ini memuat templat dokumen Word yang terletak di
complianceTemplate.docxke dalam objekAspose.Words.Document. - Langkah 2: Isi Templat dengan Data Peraturan:
Linux
- Langkah 3: Tambah Carta dan Jadual untuk Representasi Data:
- Langkah 2: Isi Templat dengan Data Peraturan:
- Petikan kod ini memuat laporan yang telah diisi, menambah carta bar menggunakan
DocumentBuilder, dan menyimpan laporan yang dikemas kini.
macOS
- Pasang runtime .NET dari laman rasmi .
- Kod ini menyimpan laporan yang dijana sebagai dokumen Word (
ComplianceReport.docx) dan fail PDF (ComplianceReport.pdf).:
Isu Umum dan Penyelesaian
- Ralat Input Tidak Sah: Pastikan fail yang dimuat naik adalah dokumen Word yang sah dan teks watermark tidak kosong.
- Ralat Akses Ditolak: Pada Linux/macOS, berikan kebenaran yang betul kepada folder aplikasi.
- Isu Prestasi: Untuk fail besar, optimumkan penggunaan memori dengan memproses fail secara langsung dari cakera dan bukannya aliran.
Panduan ini telah menunjukkan kepada anda cara untuk membuat REST API bagi menambah watermark kepada dokumen Word menggunakan Aspose.Words for .NET dan menyebarkannya pada semua platform utama.