前几天写了篇文章《怎样把WordPress的文章生成PDF》。有网友告诉我,只需稍作修改,WP Advanced PDF也可支持中文。

怀着好奇之心,我决定试试看。

安装WP Advanced PDF之后,到 设置 -> WP Advanced PDF 中,设置2个选项:Display Option 设置为 Front-End;Availability 设置为 For all visitors。

保存设置后,打开任意一篇文章,发现在文章顶部出现了 Download PDF 的图标,如下图。

点击图标,下载的文档是乱码。

怎么解决呢?

读了这个插件的源码,它是基于 TCPDF,实现的。第一步,先要确认那么TCPDF是否支持中文。

TCPDF的代码库下载了源码, 解压到服务器根目录下的某个子目录中。

好在 TCPDF提供了用户友好的样例,在 examples文件夹中。第一个样例 example_001.php文件中,把代码

1

$pdf->SetFont('dejavusans', '', 14, '', true);

修改成

1

$pdf->SetFont('stsongstdlight', '', 14, '', true);

其中”stsongstdlight”表示”STSongStdLight”字体,这是Adobe Reader的默认简体中文字体,TCPDF中已经内置这个字体的配置文件,我们只需直接调用即可。

把 example_001.php 文件中的html内容加上中文字,保存。在浏览器中打开example_001.php,中文正常显示。由此可见,TCPDF可以支持中文。要 WP Advanced PDF支持中文,初步估计改动量不大。

​要WP Advanced PDF支持中文,先保证中文字体存在。把 TCPDF的字体文件stsongstdlight.php 复制到WP Advanced PDF插件的字体文件夹wp-contents/uploads/fonts中。

之后,找到插件的文件libs/wpppdf-tab-general.php,定位到fonts数组中,在数组中加上一行

1

'STSongStd-Light-Acro' => 'stsongstdlight'

保存。然后到 wordpress 的后台 设置 -> WP Advanced PDF 中,把contenet、header、footer中的默认字体都修改成 STSongStd-Light-Acro ,保存。

这样,WP Advanced PDF插件就可以生成包含中文的PDF了。

不过,由于TCPDF是通过解析的方式静态地分析布局,鉴于布局运行时会有很大的变化,某些布局复杂的文章并不能以原格式呈现。对格式要求不高的场景,WP Advanced PDF也是一项不错的选择。

让WP-Advanced-PDF插件支持中文相关推荐

  1. PHP生成PDF完美支持中文,解决TCPDF乱码

    PHP生成PDF完美支持中文,解决TCPDF乱码 2011-09-26 09:04 418人阅读 评论(0) 收藏 举报 phpfontsheaderttfxhtml文档 PHP生成PDF完美支持中文 ...

  2. PDF怎么支持中文 KendoUI 导出PDF

    大家好,我是米娅 我尝试了很多种kendo 上PDF的导出,包括Grid与整个div界面.都不支持中文,它官网上面的都是支持英文的,我导出的中文都是这种(□□□)方框,数字和英文字符都能正确的导出, ...

  3. java生成pdf不支持中文_java生成pdf以及解决中文中文乱码问题

    [在网上搜了一下iText的东东,简单的整理了一个Demo,解决了中文乱码问题,这里不贴链接了 网上搜一下就行了package com.westdream.test;import java.io.Fi ...

  4. java html转pdf 无法支持中文_java项目实现html转pdf的需求(支持中文和CSS样式)

    java项目中用到了html转pdf的需求,现在写一个自己认为最优方案的总结,虽然还是有一些小的bug 为了保证中文的支持需要在被转换的html添加body的添加中文字体样式,保持这个字体和后边转换p ...

  5. itext转换HTML为pdf,支持中文换行

    最近有个需求,OA系统流程走完后,要求将流程导出为pdf供人下载,在网上各种查资料捣鼓了半天,终于算是搞出来了,基本逻辑就是配置好需要显示的布局,然后根据布局生成HTML页面,再导出为pdf. (20 ...

  6. php生成pdf中文断码_PHP生成PDF完美支持中文,解决TCPDF乱码

    //生成pdf最近会用到,找到一些资料,非原创 PHP生成PDF格式文件以TCPDF为基础,TCPDF是一个用于快速生成PDF文件的PHP5函数包.TCPDF基于FPDF进行扩展和改进.支持UTF-8 ...

  7. itext html转换pdf,itext转换html成pdf(支持中文、图片)

    1.首先导入依赖 com.itextpdf itextpdf 5.5.11 com.itextpdf itext-asian 5.2.0 org.xhtmlrenderer flying-saucer ...

  8. pd4ml技术html导出pdf,支持中文,兼容Linux

    java html导出pdf的文章有很多大多都使用的是itext,其实用过的都知道itext有时并不能满足我们的需求,不能兼容html的样式,而且从html页面导出的图片到pdf中也并不好处理.Fly ...

  9. itext转换html成pdf(支持中文、图片)

    1.首先导入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf< ...

最新文章

  1. RDKit | 基于RDKit的氨基酸序列转换为SMILES
  2. 印度颁布法令:禁止Facebook免费网络服务
  3. 五个你绝不可忽视的HTML5特性
  4. android平板截屏方法,Android 各种截屏方法
  5. 【报告分享】人工智能2020:落地挑战与应对.pdf(附下载链接)
  6. app开发团队人员构成怎么分配?国内著名的app开发团队有哪些
  7. JavaScript【面向对象】-静态方法-私有方法-公有方法-特权方法
  8. lightoj1234 打表技巧:分块打表
  9. 在Spring Boot中使用Spring Security实现权限控制
  10. 小爱同学app安卓版_小爱同学app-小爱同学安卓版下载v3.0
  11. 什么是ANC降噪技术?耳机工厂来告诉你
  12. 微信小程序云函数数组删除和添加并排序操作pull,push 用法
  13. qrcode将生成的二维码转成img格式
  14. 使用window.open打开新窗口被谷歌浏览器拦截
  15. macOS、Linux CentOS 、Docker安装部署canal-server(canal-deployer)服务
  16. 依赖注入框架-dragger2
  17. 快速余弦变换matlab,离散余弦变换 - MATLAB Simulink - MathWorks 中国
  18. 【Linux】进程概念 —— 进程状态
  19. linux 无法创建文件,无法创建文件系统以及无法创建PV时怎么办?
  20. win7锁定计算机要密码吗,win7锁屏设置密码的方法_w7电脑锁屏密码怎么设置

热门文章

  1. 一键生成Springboot Vue项目! 【私活神器】
  2. Idea使用Alibaba Cloud Toolkit实现一键部署项目到linux环境
  3. UGUI优化:使用镜像图片
  4. 关于百度地图设置显示的比例尺大小
  5. LINUX下磁盘管理的基本流程与相关操作命令
  6. java 公式计算_java 实现的公式计算
  7. 织梦CMS建站入门学习(一)
  8. 用PIL制作黑白滤镜
  9. 计算机怎么演示音乐,做ppt的时候怎样添加音乐 想要在PPT里面增添视频以及音乐怎么操作...
  10. SDL是什么,能干什么,为什么我们要学习它?