fixing export dashboard to pdf
This commit is contained in:
parent
6f8d1bff67
commit
ab9b6e7bdc
1 changed files with 26 additions and 5 deletions
31
src/app.ts
31
src/app.ts
|
|
@ -36,16 +36,37 @@ async function main() {
|
|||
const params = new URLSearchParams(req.query as Record<string, string>);
|
||||
const newUrl = params.toString() ? `${id}?${params.toString()}` : id;
|
||||
|
||||
const APIAPI_DASHBOARD = `${process.env.API_DASHBOARD}/generate-pdf`;
|
||||
const body = `${process.env.API_DASHBOARD}/d/${newUrl}`;
|
||||
const API_DASHBOARD = `${process.env.VITE_API_REPORT_URL}/html`;
|
||||
const url = `${process.env.API_DASHBOARD}/d/${newUrl}&kiosk`;
|
||||
|
||||
try {
|
||||
// เรียก API generate-pdf
|
||||
const apiResponse = await axios.post(APIAPI_DASHBOARD, { url: body });
|
||||
const apiResponse = await axios.post(
|
||||
API_DASHBOARD,
|
||||
{
|
||||
template: url,
|
||||
reportName: "html-report",
|
||||
htmlOption: {
|
||||
querySelector: ".scrollbar-view",
|
||||
},
|
||||
},
|
||||
{
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
accept: "application/pdf",
|
||||
},
|
||||
responseType: "arraybuffer",
|
||||
},
|
||||
);
|
||||
|
||||
// console.log("Response:", apiResponse.data.pdfUrl);
|
||||
console.log("Response:", apiResponse.data);
|
||||
|
||||
res.redirect(apiResponse.data.pdfUrl);
|
||||
const pdfBuffer = Buffer.from(apiResponse.data, "binary");
|
||||
res.set({
|
||||
"Content-Type": "application/pdf",
|
||||
"Content-Disposition": "attachment; filename=dashboard.pdf",
|
||||
});
|
||||
res.send(pdfBuffer);
|
||||
} catch (error) {
|
||||
throw new Error("Failed to generate PDF: " + error);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue