Tạo file PDF tự động bằng BIRT report bằng command line

Công ty mình có 1 công việc là hàng tháng gửi báo cáo bằng PDF gửi cho từng cửa hàng.
Trước đây việc này người trước xuất thủ công ra 1 file tổng PDF bằng Eclipse sau đó dùng tool để chia file ra và gửi đi bằng tay.
Sau đó mình sử dụng BIRT birt-viewer để xuất cả ra file tổng.
Đợt này mình muốn sử dụng lệnh để xuất thành từng file một để tự động gửi đi, mình có nghiên cứu sử dụng Python để xuất file theo từng mã cửa hàng (link tại đây) nhưng đúng là sử dụng Python khá mềm dẻo nhưng để căn được từng dòng để trình bày cho đẹp hoặc xử lý nhiều page một file rất khó khăn(một số thứ không làm được). Mình đành quay về sử dụng mẫu BIRT report cũ và tìm các xuất file bằng command line. May mắn đã có công cụ BIRT Runtime để chạy.

Sau đây là các bước mình đã làm, mọi người tham khảo nhé:

B1: Tải file nén BIRT Runtime về (địa chỉ tại đây)
B2: Giải nén file vào thư mục thuộc ổ C (đổi tên thư mục cho gọn, không sau sẽ không chạy được vì thằng này biến truyền vào giới hạn số lượng ký tự khá ít)
B3: set biến home cho nó vào thư mục ở B2:
Set BIRT_HOME=C:\birt-runtime
B4: Copy file rptdesign mà mình đã tạo bằng Eclipse vào thư mục: C:\birt-runtime\ReportEngine
B5: Sử dụng command line đi đến vị trí: C:\birt-runtime\ReportEngine
Ta có thể sử dụng luôn câu lệnh sau để gen ra file HuyEVET.pdf đặt ở ổ C thông qua file template HuyEVET.rptdesign.

.\genReport.bat --format PDF --output C:\HuyEVET.pdf .\HuyEVET.rptdesign

Đối với Linux ta cũng có thể làm tương tự nhưng ta chạy file .\genReport.sh

Để xuất file PDF với biến truyền vào mình vẫn chưa làm được, sắp tới làm được mình sẽ cập nhật nhé.

P/S: Nếu file rptdesign có kết nối tới DB oracle thì ta cần thêm thư viện JDBC: ojdbc6-11.2.0.4.jar vào trong thư mục lib: C:\birt-run\ReportEngine\lib