使用 laravel api 返回 pdf (TCPDF)

问题描述 投票:0回答:1

我正在将 Laravel 应用程序移动到 Laravel api,并且我有一个在 Laravel 应用程序中使用 TCPDF 创建 pdf 的功能,它可以正常工作,没有任何问题,但是当我尝试将此功能移动到 api 时,我收到了几个错误。

  1. pdf (这不应该发生)

  2. pdf 没有名称(似乎是)

    //laravel controller code: 
    
     $filename = $odp_volumetrica->codigo . ' L ' . $odp_volumetrica->lote . '.pdf';
     $filename = str_replace(' ', '_', $filename); 
    
     header('Content-Type: application/pdf');
     header('Content-Disposition: inline; filename="' . $filename . '"');
     header('Access-Control-Allow-Origin: *');
     $pdf->Output($filename, 'I'); 
    
    
    //react client code:
         authorizedRequest
         .get('/odps/13/printCoa')
         .then(({ data }) => {
             const blob = new Blob([data], { type: 'application/pdf' });
             window.open(URL.createObjectURL(blob));
         })
         .catch((error) => {
             console.log(error);
         });
    

我想知道是否有办法返回这些 pdf 并在浏览器的新选项卡中打开它们,如果可能的话,其名称不是随机字符串。

javascript laravel pdf axios tcpdf
1个回答
0
投票

你尝试过吗?

const link = document.createElement('a');
link.download = 'your-name.pdf';
link.href = URL.createObjectURL(blob));
link.click();
© www.soinside.com 2019 - 2024. All rights reserved.