Hướng Dẫn Cài Đặt và Sử Dụng Excel To PDF Service

Đây là service độc lập chuyên dùng để chuyển đổi file Excel sang PDF, sử dụng Syncfusion XlsIORenderer (chạy trên .NET 8).

1. Cài đặt làm Windows Service (Chạy ngầm)

Để service tự động chạy cùng hệ thống và chạy ngầm (không hiện cửa sổ đen), bạn hãy làm theo các bước sau:

  1. Mở PowerShell dưới quyền Admin (Run as Administrator)
  2. Chạy lệnh sau để tạo service:
sc.exe create "ExcelToPdfService" binPath= "C:\Users\huanld\Desktop\ExcelToPdfService-deploy\ExcelToPdfService.exe" start= auto

(Lưu ý: Nếu bạn di chuyển folder ExcelToPdfService-deploy đi chỗ khác, hãy cập nhật lại đường dẫn binPath ở trên cho chính xác)

  1. Bật service:
sc.exe start "ExcelToPdfService"

Cách xóa service (nếu muốn gỡ bỏ): sc.exe stop "ExcelToPdfService" sc.exe delete "ExcelToPdfService"


2. API Endpoints

Mặc định Service sẽ chạy ở cổng 5200: http://localhost:5200 Bạn có thể gọi API bằng Postman, Axios, HttpClient, hoặc bất cứ công cụ nào hỗ trợ REST API.

API 1: Convert file bằng đường dẫn có sẵn trên Server (Khuyên dùng)

Dùng khi file Excel và Service nằm trên cùng một máy (hoặc cùng map chung ổ đĩa mạng).

  • URL: POST http://localhost:5200/api/ExcelToPdf/convert-by-path
  • Body (JSON):
{
  "FilePath": "C:\\Users\\huanld\\Desktop\\PTSC STR\\SWG-PTSC-70-PL-PLI-T01-FUR-0001.xlsx",
  "PrintArea": "A1:G50",   // Tuỳ chọn (để null nếu muốn in hết)
  "Landscape": true        // Tuỳ chọn (true = in ngang, false = in dọc)
}
  • Kết quả: Trả về trực tiếp nội dung file PDF (dạng File Download - application/pdf).

API 2: Convert file bằng cách Upload trực tiếp

Dùng khi bạn muốn upload file trực tiếp từ Client lên Service để lấy file PDF về. (Hỗ trợ upload tối đa 50MB).

  • URL: POST http://localhost:5200/api/ExcelToPdf/convert?landscape=true&printArea=A1:G50
  • Body (Form-Data):
    • Key: file (Kiểu File)
    • Value: Chọn file .xlsx hoặc .xls
  • Kết quả: Trả về trực tiếp file PDF để tải xuống.

API 3: Health Check

Dùng để kiểm tra xem Service có đang hoạt động hay không.

  • URL: GET http://localhost:5200/api/ExcelToPdf/health
  • Kết quả (JSON):
{
  "status": "ok",
  "version": "1.0.0",
  "time": "2026-05-18T08:15:30Z"
}

3. Cấu hình (appsettings.json)

Bạn có thể chỉnh sửa cổng mạng (port) hoặc License Key của Syncfusion bằng cách mở file appsettings.json trong cùng thư mục:

{
  "Syncfusion": {
    "LicenseKey": "MjExMDkzMEAzMjMxMmUzMTJlMzMzNWd1RGM1NVFmUUMzWmZlN0dCc3NadUJyM1RUYVh1SHVSS1B2Tzdwa0NhcE09"
  },
  "Urls": "http://0.0.0.0:5200"
}

Lưu ý: Nếu sửa file appsettings.json, bạn cần Restart lại Windows Service (trong services.msc) để thay đổi có hiệu lực.

S
Description
Excel to PDF Export Service using Syncfusion (ASP.NET Core)
Readme 37 KiB
Languages
C# 100%