本文整理汇总了PHP中PHPWord_Media::resetMedia方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPWord_Media::resetMedia方法的具体用法?PHP PHPWord_Media::resetMedia怎么用?PHP PHPWord_Media::resetMedia使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPWord_Media
的用法示例。
在下文中一共展示了PHPWord_Media::resetMedia方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: offlinequiz_create_docx_question
/**
* Generates the DOCX question/correction form for an offlinequiz group.
*
* @param question_usage_by_activity $templateusage the template question usage for this offline group
* @param object $offlinequiz The offlinequiz object
* @param object $group the offline group object
* @param int $courseid the ID of the Moodle course
* @param object $context the context of the offline quiz.
* @param boolean correction if true the correction form is generated.
* @return stored_file instance, the generated DOCX file.
*/
function offlinequiz_create_docx_question(question_usage_by_activity $templateusage, $offlinequiz, $group, $courseid, $context, $correction = false)
{
global $CFG, $DB, $OUTPUT;
$letterstr = 'abcdefghijklmnopqrstuvwxyz';
$groupletter = strtoupper($letterstr[$group->number - 1]);
$coursecontext = context_course::instance($courseid);
PHPWord_Media::resetMedia();
$docx = new PHPWord();
$trans = new offlinequiz_html_translator();
// Define cell style arrays.
$cellstyle = array('valign' => 'center');
// Add text styles.
// Normal style.
$docx->addFontStyle('nStyle', array('size' => $offlinequiz->fontsize));
// Italic style.
$docx->addFontStyle('iStyle', array('italic' => true, 'size' => $offlinequiz->fontsize));
// Bold style.
$docx->addFontStyle('bStyle', array('bold' => true, 'size' => $offlinequiz->fontsize));
$docx->addFontStyle('brStyle', array('bold' => true, 'align' => 'right', 'size' => $offlinequiz->fontsize));
// Underline style.
$docx->addFontStyle('uStyle', array('underline' => PHPWord_Style_Font::UNDERLINE_SINGLE, 'size' => $offlinequiz->fontsize));
$docx->addFontStyle('ibStyle', array('italic' => true, 'bold' => true, 'size' => $offlinequiz->fontsize));
$docx->addFontStyle('iuStyle', array('italic' => true, 'underline' => PHPWord_Style_Font::UNDERLINE_SINGLE, 'size' => $offlinequiz->fontsize));
$docx->addFontStyle('buStyle', array('bold' => true, 'underline' => PHPWord_Style_Font::UNDERLINE_SINGLE, 'size' => $offlinequiz->fontsize));
$docx->addFontStyle('ibuStyle', array('italic' => true, 'bold' => true, 'underline' => PHPWord_Style_Font::UNDERLINE_SINGLE, 'size' => $offlinequiz->fontsize));
// Header style.
$docx->addFontStyle('hStyle', array('bold' => true, 'size' => $offlinequiz->fontsize + 4));
// Center style.
$docx->addParagraphStyle('cStyle', array('align' => 'center', 'spaceAfter' => 100));
$docx->addParagraphStyle('cStyle', array('align' => 'center', 'spaceAfter' => 100));
$docx->addParagraphStyle('questionTab', array('tabs' => array(new PHPWord_Style_Tab("left", 360))));
// Define table style arrays.
$tablestyle = array('borderSize' => 0, 'borderColor' => 'FFFFFF', 'cellMargin' => 20, 'align' => 'center');
$firstrowstyle = array('borderBottomSize' => 0, 'borderBottomColor' => 'FFFFFF', 'bgColor' => 'FFFFFF');
$docx->addTableStyle('tableStyle', $tablestyle, $firstrowstyle);
$boldfont = new PHPWord_Style_Font();
$boldfont->setBold(true);
$boldfont->setSize($offlinequiz->fontsize);
$normalfont = new PHPWord_Style_Font();
$normalfont->setSize($offlinequiz->fontsize);
// Define custom list item style for question answers.
$level1 = new PHPWord_Style_Paragraph();
$level1->setTabs(new PHPWord_Style_Tabs(array(new PHPWord_Style_Tab('clear', 720), new PHPWord_Style_Tab('num', 360))));
$level1->setIndentions(new PHPWord_Style_Indentation(array('left' => 360, 'hanging' => 360)));
$level2 = new PHPWord_Style_Paragraph();
$level2->setTabs(new PHPWord_Style_Tabs(array(new PHPWord_Style_Tab('left', 720), new PHPWord_Style_Tab('num', 720))));
$level2->setIndentions(new PHPWord_Style_Indentation(array('left' => 720, 'hanging' => 360)));
// Create the section that will be used for all outputs.
$section = $docx->createSection();
$title = offlinequiz_str_html_docx($offlinequiz->name);
if (!empty($offlinequiz->time)) {
if (strlen($title) > 35) {
$title = substr($title, 0, 33) . ' ...';
}
$title .= ": " . offlinequiz_str_html_docx(userdate($offlinequiz->time));
} else {
if (strlen($title) > 40) {
$title = substr($title, 0, 37) . ' ...';
}
}
$title .= ", " . offlinequiz_str_html_docx(get_string('group') . " {$groupletter}");
// Add a header.
$header = $section->createHeader();
$header->addText($title, array('size' => 10), 'cStyle');
$header->addImage($CFG->dirroot . '/mod/offlinequiz/pix/line.png', array('width' => 600, 'height' => 5, 'align' => 'center'));
// Add a footer.
$footer = $section->createFooter();
$footer->addImage($CFG->dirroot . '/mod/offlinequiz/pix/line.png', array('width' => 600, 'height' => 5, 'align' => 'center'));
$footer->addPreserveText($title . ' | ' . get_string('page') . ' ' . '{PAGE} / {NUMPAGES}', null, array('align' => 'left'));
// Print title page.
if (!$correction) {
$section->addText(offlinequiz_str_html_docx(get_string('questionsheet', 'offlinequiz') . ' - ' . get_string('group') . " {$groupletter}"), 'hStyle', 'cStyle');
$section->addTextBreak(2);
$table = $section->addTable('tableStyle');
$table->addRow();
$cell = $table->addCell(200, $cellstyle)->addText(offlinequiz_str_html_docx(get_string('name')) . ': ', 'brStyle');
$table->addRow();
$cell = $table->addCell(200, $cellstyle)->addText(offlinequiz_str_html_docx(get_string('idnumber', 'offlinequiz')) . ': ', 'brStyle');
$table->addRow();
$cell = $table->addCell(200, $cellstyle)->addText(offlinequiz_str_html_docx(get_string('studycode', 'offlinequiz')) . ': ', 'brStyle');
$table->addRow();
$cell = $table->addCell(200, $cellstyle)->addText(offlinequiz_str_html_docx(get_string('signature', 'offlinequiz')) . ': ', 'brStyle');
$section->addTextBreak(2);
// The DOCX intro text can be arbitrarily long so we have to catch page overflows.
if (!empty($offlinequiz->pdfintro)) {
$blocks = offlinequiz_convert_image_docx($offlinequiz->pdfintro);
offlinequiz_print_blocks_docx($section, $blocks);
}
$section->addPageBreak();
//.........这里部分代码省略.........