当前位置: 首页>>代码示例>>PHP>>正文


PHP pdf::set_image_folder方法代码示例

本文整理汇总了PHP中pdf::set_image_folder方法的典型用法代码示例。如果您正苦于以下问题:PHP pdf::set_image_folder方法的具体用法?PHP pdf::set_image_folder怎么用?PHP pdf::set_image_folder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pdf的用法示例。


在下文中一共展示了pdf::set_image_folder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generate_page_images_for_attempt

 /**
  * This function will generate and return a list of the page images from a pdf.
  * @param int|\assign $assignment
  * @param int $userid
  * @param int $attemptnumber (-1 means latest attempt)
  * @return array(stored_file)
  */
 public static function generate_page_images_for_attempt($assignment, $userid, $attemptnumber)
 {
     global $CFG;
     require_once $CFG->libdir . '/pdflib.php';
     $assignment = self::get_assignment_from_param($assignment);
     if (!$assignment->can_view_submission($userid)) {
         \print_error('nopermission');
     }
     // Need to generate the page images - first get a combined pdf.
     $file = self::get_combined_pdf_for_attempt($assignment, $userid, $attemptnumber);
     if (!$file) {
         throw new \moodle_exception('Could not generate combined pdf.');
     }
     $tmpdir = \make_temp_directory('assignfeedback_editpdf/pageimages/' . self::hash($assignment, $userid, $attemptnumber));
     $combined = $tmpdir . '/' . self::COMBINED_PDF_FILENAME;
     $file->copy_content_to($combined);
     // Copy the file.
     $pdf = new pdf();
     $pdf->set_image_folder($tmpdir);
     $pagecount = $pdf->set_pdf($combined);
     $grade = $assignment->get_user_grade($userid, true, $attemptnumber);
     $record = new \stdClass();
     $record->contextid = $assignment->get_context()->id;
     $record->component = 'assignfeedback_editpdf';
     $record->filearea = self::PAGE_IMAGE_FILEAREA;
     $record->itemid = $grade->id;
     $record->filepath = '/';
     $fs = \get_file_storage();
     $files = array();
     for ($i = 0; $i < $pagecount; $i++) {
         $image = $pdf->get_image($i);
         $record->filename = basename($image);
         $files[$i] = $fs->create_file_from_pathname($record, $tmpdir . '/' . $image);
         @unlink($tmpdir . '/' . $image);
     }
     @unlink($combined);
     @rmdir($tmpdir);
     return $files;
 }
开发者ID:covex-nn,项目名称:moodle,代码行数:46,代码来源:document_services.php

示例2: test_gs_path

 /**
  * Test that the configured path to ghostscript is correct and working.
  * @param bool $generateimage - If true - a test image will be generated to verify the install.
  * @return bool
  */
 public static function test_gs_path($generateimage = true)
 {
     global $CFG;
     $ret = (object) array('status' => self::GSPATH_OK, 'message' => null);
     $gspath = \get_config('assignfeedback_editpdf', 'gspath');
     if (empty($gspath)) {
         $ret->status = self::GSPATH_EMPTY;
         return $ret;
     }
     if (!file_exists($gspath)) {
         $ret->status = self::GSPATH_DOESNOTEXIST;
         return $ret;
     }
     if (is_dir($gspath)) {
         $ret->status = self::GSPATH_ISDIR;
         return $ret;
     }
     if (!is_executable($gspath)) {
         $ret->status = self::GSPATH_NOTEXECUTABLE;
         return $ret;
     }
     $testfile = $CFG->dirroot . '/mod/assign/feedback/editpdf/tests/fixtures/testgs.pdf';
     if (!file_exists($testfile)) {
         $ret->status = self::GSPATH_NOTESTFILE;
         return $ret;
     }
     if (!$generateimage) {
         return $ret;
     }
     $testimagefolder = \make_temp_directory('assignfeedback_editpdf_test');
     @unlink($testimagefolder . '/image_page0.png');
     // Delete any previous test images.
     $pdf = new pdf();
     $pdf->set_pdf($testfile);
     $pdf->set_image_folder($testimagefolder);
     try {
         $pdf->get_image(0);
     } catch (\moodle_exception $e) {
         $ret->status = self::GSPATH_ERROR;
         $ret->message = $e->getMessage();
     }
     return $ret;
 }
开发者ID:covex-nn,项目名称:moodle,代码行数:48,代码来源:pdf.php


注:本文中的pdf::set_image_folder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。