diff --git a/src/app.ts b/src/app.ts index 1c2c289..d7d3585 100644 --- a/src/app.ts +++ b/src/app.ts @@ -36,16 +36,37 @@ async function main() { const params = new URLSearchParams(req.query as Record); 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); }