在 mediawiki 实现导出 中文pdf
来源:互联网 发布:上饶师范学院网络教育 编辑:程序博客网 时间:2024/05/29 14:00
问题描述
mediawiki 中导出pdf的插件很多,可支持中文文字的插件就不少了。本文作者根据网上资料,亲测如下方式,可实现中文文字和图片pdf导出功能。
主要参照这篇文章实现: 使用Mediawiki构建个人知识库
主要参照这篇文章实现: 使用Mediawiki构建个人知识库
这篇文章方法正确,可文章提到了要修改文件,却没有给出修改方法。后来作者通过痛苦地加打印语句调试后,才解决了问题。
这也是写这篇博客的原因,分享经验,节约时间。
下载文件
mpdf: 下载对应的版本
https://www.mediawiki.org/wiki/Extension:Mpdf
pdfexport
https://www.mediawiki.org/wiki/Extension:Pdf_Export
https://www.mediawiki.org/wiki/Extension:Mpdf
pdfexport
https://www.mediawiki.org/wiki/Extension:Pdf_Export
配置
将 pdfexport 及 mpdf 解压到 mediawiki/extension 目录下
在 mediawiki/LocalSetting.php 中新增如下配置:
1. mediawiki/Mpdf/mpdf/config_font.php:
1) windosw 的字体配置路径
define("_MPDF_SYSTEM_TTFONTS", 'C:/Windows/Fonts/');
2) 查找如下代码段,取消注释。
如果想使用“微软雅黑”字体,将 "Sun-ExtA.ttf" 改成“msyh.ttf”, "Sun-ExtB.ttf" 改成“msyhbd.ttf”即可
2. mediawiki/Mpdf/mpdf/config_cp.php:
在 mediawiki/LocalSetting.php 中新增如下配置:
require_once("$IP/extensions/PdfExport/PdfExport.php");#使用Mpdf作为PdfExport的后端,但必须配置支持ckj字体$wgPdfExportMPdf = $IP . '/extensions/Mpdf/mpdf/mpdf.php';
文件修改
1. mediawiki/Mpdf/mpdf/config_font.php:
1) windosw 的字体配置路径
define("_MPDF_SYSTEM_TTFONTS", 'C:/Windows/Fonts/');
2) 查找如下代码段,取消注释。
"sun-exta" => array( 'R' => "Sun-ExtA.ttf", 'sip-ext' => 'sun-extb', ), "sun-extb" => array( 'R' => "Sun-ExtB.ttf", ),
如果想使用“微软雅黑”字体,将 "Sun-ExtA.ttf" 改成“msyh.ttf”, "Sun-ExtB.ttf" 改成“msyhbd.ttf”即可
"sun-exta" => array( 'R' => "msyh.ttf", 'sip-ext' => 'sun-extb', ), "sun-extb" => array( 'R' => "msyhbd.ttf", ),
2. mediawiki/Mpdf/mpdf/config_cp.php:
修改如下代码段
3. mediawiki/Mpdf/mpdf/config.php
修改成
$this->useAdobeCJK = true;
4. mediawiki/PdfExport/converters/MPdfConverter.php
查找“new mPDF", 修改成如下格式
CASE "zh": $unifonts = "sun-exta,sun-extb"; break;
3. mediawiki/Mpdf/mpdf/config.php
修改成
$this->useAdobeCJK = true;
4. mediawiki/PdfExport/converters/MPdfConverter.php
查找“new mPDF", 修改成如下格式
$mpdf = new mPDF('zh'); $mpdf->SetAutoFont(AUTOFONT_ALL); $mpdf->WriteHTML($html);
经验总结
1. mpdf 路径设置。参考的文中的内容,就少些了 Mpdf 这个路径。可能是因为版本发生变化了吧。第二句的关键就是要定义 MPdf 这个类。如果找不到这个文件,那么将提示“找不到pdf转换程序”
2. 字体路径: windows 下,需要更改 config_fonts.php 中的默认加载路径。
3. php 语句后都需要加分号。否则会提示语句未结束。
4. 如果发现有php文件配置出错了。依然可以采用程序的调试办法:“不断缩小错误范围的方式”,中间可加入各种打印语句 echo "123" 这样的。
解决这个问题的过程很辛苦,中间几乎放弃,可最终结果还是很满意的。越来越明白,不放弃,按照思路不断尝试,总是可以解决的。更何况这还是前人就解决过的问题呢。
2. 字体路径: windows 下,需要更改 config_fonts.php 中的默认加载路径。
3. php 语句后都需要加分号。否则会提示语句未结束。
4. 如果发现有php文件配置出错了。依然可以采用程序的调试办法:“不断缩小错误范围的方式”,中间可加入各种打印语句 echo "123" 这样的。
解决这个问题的过程很辛苦,中间几乎放弃,可最终结果还是很满意的。越来越明白,不放弃,按照思路不断尝试,总是可以解决的。更何况这还是前人就解决过的问题呢。
0 0
- 在 mediawiki 实现导出 中文pdf
- ireport导出中文pdf
- 使用PDFlib在PHP网页导出中文pdf文档
- 基于itext7导出pdf实现,支持水印、中文等
- PDF怎么支持中文 KendoUI 导出PDF
- ASPxPivotGrid导出pdf中文乱码
- HTML导出PDF中文文件
- TableExport pdf导出中文乱码
- IText 导出PDF 中文问题解决
- Java实现Pdf导出
- itext实现pdf导出
- iText实现pdf导出
- 在Ireport4.0.1下实现PDF中文报表
- iText导出PDF经典实现
- iText导出PDF经典实现
- iText导出PDF经典实现
- iText导出PDF经典实现
- iText导出PDF经典实现
- perl http 请求一些奇怪的问题
- 解决ubtuntu 64位上路径设置完全,依然包无权限访问13且R文件生成不了
- 注销 弹出来的消息实现方法
- NYOJ 252 01串
- 栈的基本
- 在 mediawiki 实现导出 中文pdf
- Redis简介
- 志愿者选拔(单调队列)
- Mac os x实用技巧-关闭渐隐和弹出动画效果
- Top 10:HTML5、JavaScript 3D游戏引擎和框架
- 自动对焦拍照,以及可移动方框定位
- 测试用例的编写
- 九宫格
- 九度OJ1386剑指offer面试题8:旋转数组的最小数字