Экспорт формы CF7 в PDF с использованием TCPDF и FPDF застрял с неизвестной ошибкой PHP - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь проследить за этим блогом, чтобы иметь возможность использовать библиотеку TCPDF для использования форматирования HTML при создании PDF из отправленной формы CF7 POST. Ссылка

Автор блога фактически не определяет для читателя, как использовать оба / fpdf & / tcpdf одновременно.Ошибка, которую я получаю, это внутренняя ошибка сервера 500 PHP, у которой не было времени, чтобы получить больше возвращаемых данных, чем это.

* $ many_unqique_form_fields <--- Скрытие поля формы для анонимности </p>

// ************** Генерация PDF /tcpdf/tcpdf_cf7.php****************

class CREATE_FPDFCF7{
    function CREATE_FPDFCF7Fn($several_unqique_form_fields, $savepath){

        // include the main TCPDF library
        define ('TCPDF_PATH',get_theme_file_path().'/tcpdf/'); 
        require_once(TCPDF_PATH.'config/tcpdf_config_alt.php');
        require_once(TCPDF_PATH.'tcpdf.php');

        // create new pdf document
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        // set document information
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetAuthor('Texas Home School Coalition');
        $pdf->SetTitle($lname . ' Family Withdrawal Letter');
        $pdf->SetSubject('Student Withdrawal Letter For Purposes of Homeschooling, Education, and Prayer');
        $pdf->setPrintHeader(false);
        $pdf->setPrintFooter(false);
        $pdf->SetHeaderMargin(0);

        // set auto page breaks
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

        // set default font subsetting mode
        $pdf->setFontSubsetting(true);

        // add a page
        $pdf->AddPage();

        //content to print
        $html .='<h3 style="font-size:12px;text-align:center;">Contact Form 7 Submission</h3>';
        $html .='<div style="font-family:arial;font-weight:normal;font-size:8px;">Name :   '.$several_unqique_form_fields.'</div>';

        // print texts
        $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
        $filename =rand().'_'.time().'.pdf';
        $pdf->Output($savepath.$filename,'F');
        return $filename;
    }
}

// **************** Пользовательские функции генерации PDF .php ******************

add_action( 'wpcf7_before_send_mail', 'create_contact_form_pdf' );

function create_contact_form_pdf($cf7){
    //check if this is the right form - replace your contact form 7 id here//
    if ($cf7->id==ID){

        //get_template_directory
        define ('TCPDF_PATH',get_theme_file_path().'/tcpdf/'); 
        require_once(TCPDF_PATH.'tcpdf_cf7.php');

        $submission = WPCF7_Submission::get_instance();
        if ($submission){
        $posted_data = $submission->get_posted_data();

        $several_unqique_form_fields = $posted_data['cf7_Form_ID'];

        // create new PDF document
        $createpdf = new CREATE_FPDFCF7();

        //upload path
        $uploads = wp_upload_dir();
        define ('PDF_FILE_PATH',$uploads['basedir'].'/cf7_pdf/');
        $file_name = $createpdf>CREATE_FPDFCF7Fn($several_unqique_form_fields, PDF_FILE_PATH);

        //set filenames
        $pdf_filename= PDF_FILE_PATH.$file_name;

        //use the same tag used in contact form 7 mail tab
        $submission->add_uploaded_file('submission_pdf', $pdf_filename);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...