【问题标题】:mutliple pdf generation with mpdf, display utf-8 charset,使用 mpdf 生成多个 pdf,显示 utf-8 字符集,
【发布时间】:2016-04-25 07:45:50
【问题描述】:

我的项目应该生成多个 pdf 格式的表单,我正在使用带有 codeigniter 框架的 mpdf 库。我用英语测试了这段代码,它工作正常。但是我应该用波斯语创建表格。第一个表单创建没有任何问题,但其他表单无法很好地显示字符(如图所示)。请帮助我,我尽了最大努力并进行了很多搜索,但找不到任何解决我问题的方法。 这是正确的

剩下的所有没有第一个pdf的pdf都有这个问题

require('my_controller.php');
$file_c = new File_Controller();
$file_c->create_file(/*parameters here*/);//creates one pdf file
$file_c->mfiles(/*parameters*/);//create more than one pdf file

因为需要单独创建原始文件,所以我使用了多种形式。

我将字符集和方向设置为 html 代码。以下是我用来生成pdf的代码。

$this->load->library('m_pdf');
$mpdf=new mPDF('utf-8');
$mpdf=new mPDF('ar','A4','','',32,25,27,25,16,13);
$mpdf->debug = true;
$mpdf->SetDirectionality('rtl');
$mpdf->mirrorMargins = true;
$mpdf->WriteHTML($MyhtmlCode );
$mpdf->Output($thepath, "F");

创建后的第一个 pdf 应该在浏览器中打开。当我在 Windows(Internet Explorer 或 firefox)中打开它时,pdf 文件无法打开。但在mac中可以在浏览器中打开。

header("Content-type: application/pdf");
header("Content-Length: " . filesize($file));
echo read_file($file);

(我对所有 pdf 和函数使用相同的语法和代码。)

【问题讨论】:

  • 你为什么不用Download helper
  • 谢谢。该项目应该使用 utf-8 创建多个 pdf 并存储它们。我没有必要下载它们。你认为下载助手会帮助我吗?
  • 我也遇到了同样的问题。我正在用马拉雅拉姆语生成pdf。第一个pdf,字体非常好,从第二个开始,它们被扭曲了。我还没有解决这个问题,但是如果你正在为打印目的创建pdf,试着去做作为一个单一的长pdf,它会很好。如果您的要求不同,我还没有解决方案。

标签: php codeigniter utf-8 mpdf persian


【解决方案1】:

我遇到了同样的问题。最后,从 mPDF v6 降级到 mPDF v5 为我解决了这个问题。

【讨论】:

    【解决方案2】:

    尝试使用模式创建对象

    $mpdf = new Mpdf(['mode' => 'UTF-8']);
    

    如果你确定你的 html 是 utf-8

    附言看起来您正在创建对象 2 次。

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多