docs: add detailed README for installation and API usage
This commit is contained in:
@@ -0,0 +1,82 @@
|
|||||||
|
# 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:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
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)*
|
||||||
|
|
||||||
|
3. Bật service:
|
||||||
|
```powershell
|
||||||
|
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):**
|
||||||
|
```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):**
|
||||||
|
```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:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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.*
|
||||||
Reference in New Issue
Block a user