定制 kiklop74/moodle-local_dompdf 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kiklop74/moodle-local_dompdf

最新稳定版本:v1.5

Composer 安装命令:

composer require kiklop74/moodle-local_dompdf

包简介

DomPDF library for Moodle

README 文档

README

Dompdf is an HTML to PDF converter

At its heart, dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements. It also supports most presentational HTML attributes.

Requirements

  • PHP 7.1+
  • Moodle 3.5+
  • MBString extension

Recommendations

  • OPcache (OPcache, XCache, APC, etc.): improves performance
  • IMagick or GMagick extension: improves image processing performance

Visit the wiki for more information: https://github.com/dompdf/dompdf/wiki/Requirements

Internal settings

By default whenever a PDF is generated systems uses $CFG->localcachedir/dompdf to store temporary data.

Usage

To create new instance of the PDF class use following code:

$pdf = \local_dompdf\api\pdf::createnew();

This gives you an instance of \Dompdf\Dompdf class and you just use it as outlined in the official library documentation.

Images stored in Moodle HTML editor.

In case you want to convert to PDF HTML that does contain images coming from Moodle internal file systems you need to employ the image recoding for each specific field.

For example if you have a place where you can set the image in HTML editor when you retrieve it from database to display it on screen you use this code:

$rawtext = $DB->get_field('sometable', 'somefield', ['id' => 123]);
$options = [
    'noclean' => true, 'para' => false, 'filter' => true,
    'context' => $context, 'overflowdiv' => true
];
$intro = file_rewrite_pluginfile_urls(
    $rawtext, 'pluginfile.php', $context->id, $component, $filearea, $itemid
);
$value = format_text($intro, $format, $options, null);

For Dmpdf this does not work. There is a specific rewrite method that encode's images directly into html and makes them usable by library:

$rawtext = $DB->get_field('sometable', 'somefield', ['id' => 123]);
$options = [
    'noclean' => true, 'para' => false, 'filter' => true,
    'context' => $context, 'overflowdiv' => true
];
$intro = \local_dompdf\api\pdf::file_rewrite_image_urls(
    $rawtext, $itemid, $filearea, $contextid, $component 
);
$value = format_text($intro, $format, $options, null);

Examples

Examples are located in examples directory of the plugin.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2022-11-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固