【发布时间】:2018-06-26 08:36:32
【问题描述】:
我正在使用带有 php 的 mpdf 库来创建动态 PDF。 PDF是用英文字符创建的,但是当我尝试使用印地语字符时,它会打印??????。请建议我该怎么做。我将非常感谢所有人。
<?php
require_once('config.php');
require_once __DIR__ . '/lib/functions.php';
require_once __DIR__ . '/lib/mpdf/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf(['utf-8', 'A4-C']); // New PDF object with encoding & page size
$mpdf->text_input_as_HTML = TRUE;
$userId = $_SESSION['user_id'];
$user = getsingledataByfeild('user_id', $userId, 'registered_user');
$Id = $_SESSION['did'];
$feeDetails = getsingledataByfeild('id', $Id, 'fee_calculation');
$authname = getdataByConditions(['id' => $feeDetails['authority']], 'development_authority');
$html = '<table class="table">
<tr>
<td><label> अथॉरिटी का नाम: <span>*</span></label></td>
<td>' . $authname[0]['authority_name'] . '</td>
</tr>
<tr>
<td><label> आवेदक का नाम <span>*</span></label></td>
<td>' . $feeDetails['applicant_name'] . '</td>
</tr>
<tr>
<td><label> आवदेक का पता : <span>*</span></label></td>
<td>' . $feeDetails['applicant_address'] . '</td>
</tr>
<tr>
<td><label> भूखण्ड संख्या : <span>*</span></label></td>
<td>' . $feeDetails['land_no'] . '</td>
</tr>
<tr>
<td><label> योजना का नाम : <span>*</span></label></td>
<td>' . $feeDetails['plan_name'] . '</td>
</tr>
</table>';
$mpdf->setAutoTopMargin = 'stretch'; // Set pdf top margin to stretch to avoid content overlapping
$mpdf->setAutoBottomMargin = 'stretch'; // Set pdf bottom margin to stretch to avoid content overlapping
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($html);
$mpdf->Output();
【问题讨论】:
-
你看过这篇文章了吗:shishtpal.blogspot.com/2017/04/…
-
我检查并关注但仍然无法正常工作@LovepreetSingh
-
您有三个问题: (1.) 编码: 如果您的 PHP 文件使用错误的编码保存,印地语字符将被损坏。 (2) font: 你需要一个支持这些字符的字体。我没有看到你定义一个。 (3.) 连字: 即使字符被渲染,它们也会出错,因为不支持梵文脚本。只有少数 PDF 库支持这一点。请参阅 this white paper 和 iText 7 pdfCalligraph 页面。
-
感谢您的评论。我会尝试您的建议。我的项目是基于php的,所以我不能改变。