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:
- Mở PowerShell dưới quyền Admin (Run as Administrator)
- 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)
- 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
.xlsxhoặc.xls
- Key:
- 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.