PDF-файл не загружается или сохраняется в папку - PullRequest
0 голосов
/ 18 июня 2019

Я писал об этой проблеме не так давно, и я подумал, что понял это, но ничего не происходит. Проблема : Я пытаюсь создать PDF-файл, который фиксирует подпись клиента. По сути, они вводят свое имя в поле, и это имя отображается в файле pdf.php вместе со всей другой информацией (например, дата, условия и т. Д.). Я создал класс, который выходит из FPDF, и, хотя JavaScript, я отправляю имя, которое заполняется, обрабатывается через этот файл pdf.php и должно вернуть «подписанный» файл PDF. Однако мой pdf-файл не загружается, не сохраняется или какие-либо параметры (I, D, F, S). Ниже приведен фрагмент этого раздела в моем коде.

pdf.php

$tempDir = "C:/PHP/temp/";
$thisaction = filter_input(INPUT_POST, 'action', FILTER_SANITIZE_STRING);
$answers = filter_input(INPUT_POST, 'encFormData');
$decFD = json_decode($answers);

$pdf = new WaiverFPDF();
// Pull values from array
$returnVals = array();
$returnVals['result'];
$returnVals['html'] = '';
$returnVals['errorMsg'] = '';

//the name of the person who signed the waiver
$name = $decFD->signWaiver;
$today = date('m/d/Y');

if($thisaction == 'waiverName'){
        // Generate a new PDF
        $pdf = new WaiverFPDF();
        $pdf->AddPage()
        $pdfFile = "Waiver". $name . ".pdf";
        ....
        // Output form
        $pdf->Write(8, 'I HEREBY ASSUME ALL OF THE RISKS...');
        // Line Break
        $pdf-> all other info...
        $outFile  = $tempDir . $pdfFile;
       //output pdf
        $pdf->Output('D', $pdfFile);

        $returnVals['result'] = true;
}
else{
    $returnVals['errorMsg'] = "There was an error in waiver.php";
    $returnVals['result'] = false;
}

echo json_encode($returnVals);
?>

.js файл (JSON)

function sendWaiver(){
    var formHash = new Hash();
    formHash.signWaiver = $('signWaiver').get('value');
    console.log ("name being encoded");
    waiverNameRequest.setOptions({
        data : {
            'encFormData' : JSON.encode(formHash)
        }
    }).send();
return true;
}
waiverNameRequest = new Request.JSON({
        method : 'post',
        async : false,
        url : 'pdf.php',
        data : {
            'action' : 'waiverName',
            'encFormData' : ''
        },
        onRequest : function() {
        //  $('messageDiv').set('html', 'processing...');
            console.log("waiver onRequest");
        },
        onSuccess : function(response) {
            $('messageDiv').set('html', 'PDF has been downloaded');
            if (response.result == true) {
                console.log('OnSuccess PDF created');
            } else {
                $('messageDiv').set('html', response.errorMsg);
                console.log('PDF error');
            }
        }
    });

Я знаю, что моя обработка ошибок очень проста, но все, что я получаю, это сообщения об успехе, но не сгенерированный файл PDF ... Я не уверен, что делаю неправильно. Я также убедился, что файл (когда я сохраняю в файл) доступен для записи. class_WaiverFPDF.php

class WaiverFPDF extends FPDF
{
    // Page header
    function Header()
    {
        // Arial bold 15
        $this->SetFont('Arial','B',12);
        // Position XY X=20, Y=25
        $this->SetXY(15,25);
        // Title
        $this->Cell(179,10, 'Accident Waiver ','B','C');
        // Line break
        $this->Ln(11);
    }

    // Page footer
    function Footer()
    {
        // Position from bottom
        $this->SetY(-21);
        // Arial italic 8
        $this->SetFont('Arial','I',8);
        $this->Ln();
        // Current date
        $this->SetFont('Arial','I',8);
        // $this->Cell(179,10,$today,0,1,'R',false);
        // $today= date('m/d/Y');

        $this->Cell(115,10,' Participant Name',0,0,'C');
        $this->Cell(150,10,'Date',0,'C',false);
        // Page number
        //$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');

    }
}
...