I am using mPDF to save form input data to PDF. For English, it is working fine. Anyone can use this code to save HTML Form data to PDF.
Issue: In order to fulfill my project requirement I need to use the Chinese Language. My current code is not working for that.
Form.html
<form action='processPDF.php' method='post'> <label for="name">Name</label> <input name="name" type="text" id="name"> <input type='submit' name='submit' value='Download PDF'> </form>
processPDF.php
<?php header('Content-Type: text/html; charset=UTF-8'); if (isset($_POST['submit'])) { if (isset($_POST['name'])) { $name = $_POST['name']; } else { $Larmtid = ''; } if (!isset($error)) { ob_start(); ?> <div style="padding:20px;"> <p>Name: <?php echo $name; ?></p> </div> <?php $body = ob_get_clean(); $body = iconv('UTF-8', 'UTF-8//IGNORE', $body); $body = iconv('UTF-8', 'UTF-8//TRANSLIT', $body); include("mpdf/mpdf.php"); $mpdf = new mPDF('c', 'A4', '', '', 0, 0, 0, 0, 0, 0); $mpdf->SetAutoFont(); $mpdf->autoScriptToLang = true; $mpdf->autoLangToFont = true; $mpdf->WriteHTML($body); $mpdf->Output('SavePDF.pdf', 'D'); } } ?>
The problem I am having is: In the input field, I typed 怎么用中文说话 and it prints ��������.
If you want to download the source code here is the link to the code
Advertisement
Answer
Do not use 'c'
as a $mode
parameter, that means PDF core fonts only and they do not support chinese characters.
Try '+aCJK'
or '-aCJK'
instead.