Dompdf 古吉拉特语和印地语文本无法正确显示

2024-02-16

在我的 Laravel 项目中,我使用 DOMPDF 从 html Blade 文件生成 pdf。我想根据语言选择显示印地语或古吉拉特语文本。这是我的控制器代码。

 $pdf=PDF::loadView('my-htmlt.pdffile',['header'=>$header,'data'=>$data,'footer'=>$footer]);        
    $name=$header->name."_".date('YmdHis');

    if(isset($view) && $view!=''){
        return $pdf->stream($name.'.pdf');
    } else {
        return $pdf->download($name.'.pdf');
    }

这是刀片文件中的代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <title>{{$header->name}}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<style type="text/css">
    @page{
        padding: 15px;
    }
    <?php if($header->lang== 'Guj'){ ?> 
    * {
        font-family: 'noto serif gujarati', sans-serif;
      }
    <?php } else if($header->lang == 'Hindi'){ ?>
    * { 
        font-family: 'tiro devanagari hindi', sans-serif; 
      }
    <?php } ?>
   </style>
   <body>{{Content fetched from database either in Hindi or Gujarati}}</body>
</html>

I have downloaded ttf font files for Noto Serif Gujarati and Tiro Devnagari and copy under projectfolder/storage/fonts Folder. I have also tried using face font css with file path of ttf file. But result is same so, working with less code. I have set collation and charset as utf8_unicode_ci in database and getting text properly from database, tested printing html view. Now issue is that text is showing in Hindi or gujarati but text is not showing properly as per my requirement. For example I want to show text like "ચિત્ર જોઈ તેનો પહેલો મૂળાક્ષર શોધો". But it is showing like this enter image description here

Same way in hindi I want to show text like "कौन सा जीव धीमी गति से चलता है ?" But it is showing like this enter image description here

谁能提供在 PDF 中显示正确文本的解决方案?


所以,经过一番努力,我做出了另一种选择。我正在渲染我的视图

return view('my-html.pdffile',['header'=>$header,'data'=>$data,'footer'=>$footer]);

在 my-html.pdffile Blade 文件中,我允许用户使用这样的 window.print 脚本下载 pdf。

<script>
var is_chrome = function () { return Boolean(window.chrome); }
if(is_chrome){
    window.print();
    //  setTimeout(function(){window.close();}, 10000);
    //  give them 10 seconds to print, then close
}else{
    window.print();
}
</script>

现在我可以根据我的要求下载所有语言的 pdf,而无需使用任何字体或下载任何字体库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dompdf 古吉拉特语和印地语文本无法正确显示 的相关文章

  • LibreOffice 并行将 .docx 转换为 .pdf 效果不佳

    我有很多 docx 文件需要转换为 pdf 将它们一一转换需要很长时间 所以我编写了一个 python 脚本来并行转换它们 from subprocess import Popen import time import os os chdi
  • 运行一个特定的 Laravel 迁移(单个文件)

    我的项目中有 5 次迁移 我只想运行这些迁移之一 是否可以将单个文件的名称传递给php artisan migrate命令 您可以将迁移放入更多文件夹中并运行如下命令 php artisan migrate path app databas
  • Laravel 路由中的“as”关键字是什么意思?

    据我从 Laravel 文档中了解到 它用于重定向 但也许我错了 I wrote Route get user profile as gt profile function echo some text 然后我期望我的 URL 重定向自ht
  • Laravel 按动态 ID 数组对集合进行排序 [重复]

    这个问题在这里已经有答案了 我有以下 people array 5 2 9 6 11 people collection People find people 但当我倾倒并死去时 people collection集合按 ID ASC 排序
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • 如何使用文件输入在PDFJS中打开本地PDF?

    我想知道是否有办法使用选择pdf文件input type file 并使用打开它PDFJS https github com mozilla pdf js 您应该能够使用 FileReader 来获取文件对象的内容作为类型化数组 pdfjs
  • 在 null laravel 上调用成员函数 save()

    大家好 我正在使用 laravel 5 多态关系将数据保存在数据库中 但我遇到了一些问题 当我尝试将数据保存在数据库中时 它会抛出此错误 对 null 调用成员函数 save 我不知道为什么我会遇到这个错误 我正在关注多态关系的本教程在 L
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • 编码员的 PDF 规范:Adobe 还是 ISO?

    我想编写一个可以读取和解码 pdf 文档的应用程序 现在我应该在哪里获取此文件格式的规格 PDF 格式是由 ISO 组织标准化的 但我不清楚哪里是获取此类信息的最可靠来源 什么是开始使用这种文件格式的好来源 您实际上可以使用您提到的两个来源
  • 如何在无头模式下使用 Libre Office Draw 从命令行创建 PDF/A?

    LibreOffice Draw 允许您打开非 PDF A 文件并将其导出为 PDF A 1b 或 PDF A 2b 文件 通过在 macOS 上调用命令行也可以实现相同的效果 Applications LibreOffice app Co
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 在 RMarkdown 输出到 PDF 时缩进而不添加项目符号点或编号

    之前有人问过如何在没有项目符号的情况下缩进文本 RMarkdown 中的点 但这是针对 HTML 输出的 在 RMarkdown 中缩进而不添加项目符号点或数字 https stackoverflow com questions 47087
  • Laravel 保存/更新多对多关系

    谁能帮助我如何保存多对多关系 我有任务 用户可以有很多任务 任务可以有很多用户 多对多 我想要实现的是更新表格管理员可以将多个用户分配给特定任务 这是通过 html 多选输入完成的 name taskParticipants 这里的问题是
  • 同一路由组的多个前缀

    我正在为一所学校编写一个相当简单的网站 该网站有新闻 文章 视频剪辑 等 它的工作方式是在主页中我们向访问者展示一些课程 例如 gt math gt geography gt chemistry 用户在其中选择 1 网站内容会根据用户的选择
  • Laravel/Homestead - OSX - Vagrant 连接超时

    Problem 我正在尝试让 Laravel Homestead 在我的 Mac Book Air 上运行 我已按照以下指示进行操作http laravel com docs 4 2 homestead http laravel com d
  • 如何在 Laravel 5 中使用 Orchestral/Tenanti 构建具有多个数据库的多租户应用程序?

    我正在尝试使用 Laravel 5 构建和应用程序 它应该是使用多个数据库的多租户数据库架构 我的雇主出于安全目的要求这样做 我尝试手动管理主数据库迁移和租户迁移 但失败了 所以我决定借助 Laravel 特定包的帮助 这应该是我所需要的
  • 在 JSPdf 中嵌入二进制文件

    我在用着JsPDF https www npmjs com package jspdf将 html 内容导出到下载的 PDF 考虑以下示例 该示例获取一些 HTML 内容并将其输出到下载的 PDF 文件 使用JsPdf import Rea
  • 向 Laravel 的 Mailer 添加新的传输驱动程序

    我需要向 Laravel 的邮件包添加一个新的传输驱动程序 以便我可以通过默认情况下不支持的外部服务 Mailjet 发送电子邮件 编写传输驱动程序不会成为问题 但我找不到一种方法来连接并添加新的驱动程序 以便我可以继续正常使用 Larav
  • Laravel 5.1 date_format 验证允许两种格式

    我对传入的 POST 请求使用以下日期验证 trep txn date gt date format Y m d H i s u 这只允许这种日期 即 2012 01 21 15 59 44 8 我还想允许没有时间的日期 例如2012 01
  • php laravel Blade 模板不渲染

    我正在尝试使用 Laravel 和 twitter bootstrap 设置一个基本页面 我安装了 Laravel 并获得了通用的 你在这里 或 w e 图像 这样看起来很闪亮 对于 twitter bootstrap 我在 public

随机推荐