Eu estou querendo fazer uma função que gere pdf biblioteca que uso é dompdf, eu to nessa duvida como chamar a tela no front pois é minha primeira vez gerando pdf com front e api separado, antes eu usava só laravel puro chamando a tela de gerar pdf, ah eu estou trabalhando com vue js…
Esse sistema não tem back-end? Pra nao precisar ficar passando por essa complicação sem necessidade.
Tem sim
Só gostaria de saber como eu vou passar para essa função pro front porque eu estou utilizando o dompdf para gerar pdf no projeto estou trabalhando com laravel, no exemplo abaixo estou chamando a view dentro da pasta view no back-end teste.blade.php, como eu passo ela para o front vc tem exemplo?
<?php
namespace App\Http\Controllers\API\Cliente;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use PDF;
class PDFController extends Controller {
public function index(){
$pdf = PDF::loadView('teste');
return $pdf->download('testando.pdf');
}
}
— Na rota da api definir desse o caminho desse jeito para achar a função dentro do controller
Route::get('pdf', 'API\Cliente\PDFController@index');
Nao se complique com frameworks para atender uma funcionalidade tao básica. Se por exemplo o usuário for fazer o download em um link, simplesmente coloque o endereço da requisição de download diretamente no href do elemento a.
Back-end:
https://imasters.com.br/back-end/escrevendo-arquivos-pdf-em-php-com-dompdf
Front-end:
<a href="/makePDF.php">Download</a>
Fora isso, seja mais claro no que o usuário precisa.
No meu caso seria download dos dados preenchidos no form e logo abaixo teria o botão para gerar pdf
Esqueci de falar o front e back-end estão em pastas diferente como eu acho estando em outra pasta
Isso é independente de pastas juntas ou separadas, a comunicação é via HTTP.
Estou com a mesma dúvida. Conseguiu levar o pdf pro Vue e exibir? Ou baixar?
No vue infelizmente só com jspdf, espero que permitam usar o html puro futuramente.
Eu tive que desenhar a tela e os campos no formato jspdf
O vue nao impede de fazermos o download via html (que é bem mais simples).