<?php
require('fpdf/fpdf.php');

$data = json_decode(file_get_contents('php://input'), true);

class PDF extends FPDF {
    // Cabeçalho
    function Header() {
        if($this->PageNo() == 1){
            // Capa, sem cabeçalho
            return;
        }
        $this->SetFont('Arial','I',8);
        $this->SetTextColor(100,100,100);
        $this->Cell(0,10,'Relatorio de Formulario e Pesquisa - Página '.$this->PageNo(),0,0,'C');
        $this->Ln(10);
    }
    // Rodapé
    function Footer() {
        $this->SetY(-15);
        $this->SetFont('Arial','I',8);
        $this->SetTextColor(150,150,150);
        $this->Cell(0,10,'Gerado em '.date('d/m/Y H:i'),0,0,'C');
    }
}

$pdf = new PDF();
$pdf->SetAutoPageBreak(true, 20);

// ------------------ Capa ------------------
$pdf->AddPage();
$pdf->SetFont('Arial','B',24);
$pdf->SetTextColor(0,50,100);
$pdf->Cell(0,20,'Relatório Profissional de Formulários e Pesquisas',0,1,'C');
$pdf->Ln(10);

// Logo opcional
if(file_exists('logo.png')){
    $pdf->Image('logo.png', ($pdf->GetPageWidth()-50)/2, $pdf->GetY(), 50);
    $pdf->Ln(30);
}

$pdf->SetFont('Arial','',14);
$pdf->SetTextColor(0,0,0);
$pdf->MultiCell(0,8,'Este relatório contém todos os gráficos e dados das pesquisas e formulários, com visualização de respostas individuais e agregadas.',0,'C');
$pdf->Ln(20);

// ------------------ Índice ------------------
$pdf->SetFont('Arial','B',16);
$pdf->Cell(0,10,'Índice',0,1);
$pdf->SetFont('Arial','',12);
foreach($data as $index => $d){
    $pdf->Cell(0,8,($index+1).'. '.$d['id'],0,1);
}
$pdf->AddPage();

// ------------------ Conteúdo ------------------
foreach ($data as $d) {
    $pdf->SetFont('Arial','B',14);
    $pdf->SetTextColor(0,50,100);
    $pdf->Cell(0,10,$d['id'],0,1);
    $pdf->Ln(3);

    // Gráfico
    $img = str_replace('data:image/png;base64,', '', $d['img']);
    $img = base64_decode($img);
    $tmpFile = tempnam(sys_get_temp_dir(), 'chart').'.png';
    file_put_contents($tmpFile, $img);
    $pdf->Image($tmpFile, null, null, 180);
    unlink($tmpFile);
    $pdf->Ln(5);

    // Tabela de respostas
    if (!empty($d['table'])) {
        $pdf->SetFont('Arial','B',11);
        $pdf->SetFillColor(200,220,255);

        // Cabeçalho
        foreach ($d['table'][0] as $col) {
            $pdf->Cell(45,7, $col, 1,0,'C',true);
        }
        $pdf->Ln();

        $pdf->SetFont('Arial','',10);
        $pdf->SetFillColor(245,245,245);
        $fill = false;

        // Dados
        for ($i=1;$i<count($d['table']);$i++){
            foreach ($d['table'][$i] as $col){
                $pdf->Cell(45,6,$col,1,0,'C',$fill);
            }
            $pdf->Ln();
            $fill = !$fill;
        }
        $pdf->Ln(8);
    }

    $pdf->AddPage();
}

$pdf->Output('D','relatorio_profissional.pdf');
