gpt4 book ai didi

java - 将字符串转换为 Angular 中的 byte[] 并将其另存为 pdf

转载 作者:行者123 更新时间:2023-12-01 19:21:08 25 4
gpt4 key购买 nike

我正在使用 JasperExportManager 将 pdf 导出为 byte[],然后将其转换为字符串,以便能够将其添加到响应 JSON 对象中。

在 Angular 前端,我无法将其转换回字节数组以再次保存它,我也许可以使用 lifesaver lib 保存它,但它不会打开 pdf 已损坏

这是我的服务代码:

InputStream jrxmlFile =
myclass.class.getResourceAsStream("/myjrxml.jrxml");
// Map params = new HashMap();
HashMap reportParameters = new HashMap();
reportParameters.put("Parameter1", goodsIssueCode);

JasperReport jasperReport = JasperCompileManager.compileReport(jrxmlFile);

JasperPrint report =
JasperFillManager.fillReport(jasperReport, reportParameters, dataSource.getConnection());
report.addStyle(prepareNormalStyle());
byte[] pdf = JasperExportManager.exportReportToPdf(report);
// Export pdf file
return getSuccessResponse(pdf.toString());

还有我的前端功能:

mergeMap(response => {
let b: any = new Blob([response['code']], { type: 'application/pdf' });
FileSaver.saveAs(b, 'mypdf.pdf');
return [];
})

最佳答案

您需要添加 { responseType: 'blob' }

尝试这样:

this.http.get(url, { responseType: 'blob' }).subscribe((resp: any) => {
...
});

关于java - 将字符串转换为 Angular 中的 byte[] 并将其另存为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59352892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com