Báo cáo PDF
Tạo các báo cáo PDF chuyên nghiệp cho lá số tử vi, hợp tinh, hồi quy mặt trời và nhiều loại khác. Module Báo cáo PDF cho phép bạn tạo các báo cáo chiêm tinh học tùy chỉnh với giải thích, lá số và bảng biểu.
Tổng quan
Tính năng Báo cáo PDF cung cấp:
- Nhiều loại báo cáo: Tử vi, hợp tinh, kết hợp, quá độ, hồi quy mặt trời, hồi quy mặt trăng, tiến triển, số học và chiêm tinh học Trung Quốc
- Mẫu có thể tùy chỉnh: Tạo và quản lý các mẫu PDF của riêng bạn với bố cục tùy chỉnh
- Tính toán tự động: Dữ liệu chiêm tinh học được tính toán ngay lập tức và hợp nhất vào mẫu của bạn
- Đầu ra chuyên nghiệp: Tạo PDF chất lượng cao với hỗ trợ đầu trang, chân trang, số trang và CSS tùy chỉnh
Các Loại Báo cáo Được hỗ trợ
| Loại Báo cáo | Mô tả |
|---|---|
natal | Phân tích lá số sinh với vị trí hành tinh, cung nhà và góc chiếu |
synastry | Tương hợp quan hệ giữa hai lá số |
composite | Lá số kết hợp cho các mối quan hệ |
transit | Các quá độ hành tinh hiện tại đến lá số tử vi |
solar-return | Lá số sinh nhật hàng năm |
lunar-return | Lá số hồi quy mặt trăng hàng tháng |
progressions | Tiến triển thứ cấp |
numerology | Tính toán và phân tích số học |
chinese | Báo cáo chiêm tinh học Trung Quốc |
Tạo Báo cáo PDF
Tạo báo cáo PDF bằng cách cung cấp dữ liệu sinh và tùy chọn chỉ định một mẫu.
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "natal",
"subject": {
"name": "John Doe",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
}
}' \
--output natal-report.pdfTham số Yêu cầu
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
reportType | string | Có | Loại báo cáo (xem các loại được hỗ trợ ở trên) |
templateId | string | Không | ID mẫu cụ thể để sử dụng (sử dụng mặc định nếu không cung cấp) |
subject | object | Có | Dữ liệu sinh cho chủ thể chính |
partner | object | Không | Dữ liệu sinh cho đối tác (bắt buộc cho hợp tinh/kết hợp) |
transitDate | object | Không | Ngày mục tiêu cho báo cáo quá độ/hồi quy |
Đối tượng Subject
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
name | string | Có | Tên của người |
birthDate | object | Có | Ngày và giờ sinh |
birthDate.year | number | Có | Năm sinh |
birthDate.month | number | Có | Tháng sinh (1-12) |
birthDate.day | number | Có | Ngày sinh (1-31) |
birthDate.hour | number | Có | Giờ sinh (0-23) |
birthDate.minute | number | Có | Phút sinh (0-59) |
birthPlace | object | Có | Nơi sinh |
birthPlace.name | string | Có | Tên địa điểm |
birthPlace.latitude | number | Có | Vĩ độ (-90 đến 90) |
birthPlace.longitude | number | Có | Kinh độ (-180 đến 180) |
birthPlace.timezone | string | Có | Mã định danh múi giờ IANA |
Phản hồi
Endpoint trả về tệp PDF (application/pdf) với báo cáo được tạo.
Ví dụ Báo cáo Hợp tinh
Tạo báo cáo hợp tinh so sánh hai lá số sinh:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "synastry",
"subject": {
"name": "Person A",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
},
"partner": {
"name": "Person B",
"birthDate": {
"year": 1988,
"month": 3,
"day": 22,
"hour": 9,
"minute": 15
},
"birthPlace": {
"name": "Paris, France",
"latitude": 48.8566,
"longitude": 2.3522,
"timezone": "Europe/Paris"
}
}
}' \
--output synastry-report.pdfVí dụ Báo cáo Hồi quy Mặt Trời
Tạo lá số hồi quy mặt trời cho một năm cụ thể:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/generate" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"reportType": "solar-return",
"subject": {
"name": "John Doe",
"birthDate": {
"year": 1990,
"month": 6,
"day": 15,
"hour": 14,
"minute": 30
},
"birthPlace": {
"name": "London, UK",
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": "Europe/London"
}
},
"transitDate": {
"year": 2025,
"month": 6,
"day": 15,
"hour": 0,
"minute": 0
}
}' \
--output solar-return-2025.pdfQuản lý Mẫu
Các mẫu xác định bố cục và nội dung của báo cáo PDF của bạn. Mỗi mẫu được liên kết với một loại báo cáo cụ thể.
Liệt kê Mẫu
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates" \
-H "X-Api-Key: your-api-key"Trả về cả mẫu dành riêng cho tổ chức và mẫu toàn cục (chia sẻ).
Lấy Mẫu Cụ thể
curl -X GET "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Tạo Mẫu
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "templates",
"attributes": {
"name": "My Natal Report Template",
"description": "Custom natal chart report",
"reportType": "natal",
"editorConfig": {},
"pageSettings": {
"format": "A4",
"orientation": "portrait",
"margins": {
"top": 20,
"right": 20,
"bottom": 20,
"left": 20
}
},
"isDefault": true
}
}
}'Thuộc tính Mẫu
| Thuộc tính | Kiểu | Mô tả |
|---|---|---|
name | string | Tên mẫu (1-100 ký tự) |
description | string | Mô tả tùy chọn |
reportType | string | Loại báo cáo mà mẫu này dành cho |
editorConfig | object | Cấu hình khối Editor.js |
pageSettings | object | Cài đặt bố cục trang |
customCss | string | Kiểu CSS tùy chỉnh |
isDefault | boolean | Đặt làm mặc định cho loại báo cáo này |
isActive | boolean | Liệu mẫu có đang hoạt động |
Cài đặt Trang
| Cài đặt | Kiểu | Mô tả |
|---|---|---|
format | string | Kích thước trang: "A4" hoặc "Letter" |
orientation | string | "portrait" hoặc "landscape" |
margins | object | Lề trang tính bằng mm (top, right, bottom, left) |
header | object | Cấu hình đầu trang |
footer | object | Cấu hình chân trang |
pageNumbers | object | Cài đặt số trang |
Cấu hình Đầu trang/Chân trang
{
"header": {
"enabled": true,
"height": 15,
"content": "My Astrology Report"
},
"footer": {
"enabled": true,
"height": 15,
"content": "Generated by AstroAPI"
},
"pageNumbers": {
"enabled": true,
"position": "bottom-center",
"format": "Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>"
}
}Cập nhật Mẫu
curl -X PATCH "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "templates",
"attributes": {
"name": "Updated Template Name"
}
}
}'Xóa Mẫu
curl -X DELETE "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}" \
-H "X-Api-Key: your-api-key"Nhân bản Mẫu
Sao chép một mẫu hiện có (bao gồm cả mẫu toàn cục) vào tổ chức của bạn:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/duplicate" \
-H "X-Api-Key: your-api-key"Đặt Mẫu Mặc định
Đặt một mẫu làm mặc định cho loại báo cáo của nó:
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/templates/{templateId}/set-default" \
-H "X-Api-Key: your-api-key"Xem trước Mẫu
Xem trước cách mẫu sẽ hiển thị với dữ liệu mẫu (trả về HTML):
curl -X POST "https://api.astroapi.cloud/api/pdf-reports/preview" \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"templateId": "your-template-id"
}'Giải quyết Mẫu
Khi tạo PDF, hệ thống giải quyết mẫu nào sẽ sử dụng theo thứ tự này:
- Mẫu cụ thể: Nếu
templateIdđược cung cấp trong yêu cầu - Mặc định của tổ chức: Mẫu mặc định của tổ chức cho loại báo cáo
- Mặc định toàn cục: Mẫu mặc định toàn cục (chia sẻ) cho loại báo cáo
Quyền hạn Bắt buộc
| Endpoint | Quyền hạn |
|---|---|
| Liệt kê/Lấy mẫu | content:read |
| Tạo PDF | content:read |
| Xem trước mẫu | content:read |
| Tạo mẫu | content:create |
| Cập nhật mẫu | content:update |
| Xóa mẫu | content:delete |
| Nhân bản mẫu | content:create |
| Đặt mặc định | content:update |
Nội dung Báo cáo
Các báo cáo được tạo bao gồm:
- Thông tin chủ thể: Tên, ngày sinh, giờ và địa điểm
- Vị trí hành tinh: Tất cả các hành tinh chính với cung, nhà và độ
- Điểm cung nhà: Tất cả 12 điểm cung nhà với các cung
- Góc chiếu: Các góc chiếu hành tinh với orb và giải thích
- Giải thích: Nội dung văn bản từ CMS cho từng vị trí và góc chiếu
Nội dung thực tế phụ thuộc vào cấu hình mẫu và nội dung CMS có sẵn.