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


PHP DOMPDF::get_option方法代码示例

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


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

示例1: render

 function render(Frame $frame)
 {
     if (!$this->_dompdf->get_option("enable_javascript")) {
         return;
     }
     $this->insert($frame->get_node()->nodeValue);
 }
开发者ID:skyosev,项目名称:OpenCart-Overclocked,代码行数:7,代码来源:javascript_embedder.cls.php

示例2:

 function get_font_height($font, $size)
 {
     $fh = $this->_load_font($font);
     $this->_pdf->setfont($fh, $size);
     $asc = $this->_pdf->get_value("ascender", $fh);
     $desc = $this->_pdf->get_value("descender", $fh);
     // $desc is usually < 0,
     $ratio = $this->_dompdf->get_option("font_height_ratio");
     return $size * ($asc - $desc) * $ratio;
 }
开发者ID:BozzaCoon,项目名称:SPHERE-Framework,代码行数:10,代码来源:pdflib_adapter.cls.php

示例3: _parse_import

  /**
   * parse @import{} sections
   *
   * @param string $url  the url of the imported CSS file
   */
  private function _parse_import($url) {
    $arr = preg_split("/[\s\n,]/", $url,-1, PREG_SPLIT_NO_EMPTY);
    $url = array_shift($arr);
    $accept = false;

    if ( count($arr) > 0 ) {
      $acceptedmedia = self::$ACCEPTED_GENERIC_MEDIA_TYPES;
      $acceptedmedia[] = $this->_dompdf->get_option("default_media_type");

      // @import url media_type [media_type...]
      foreach ( $arr as $type ) {
        if ( in_array(mb_strtolower(trim($type)), $acceptedmedia) ) {
          $accept = true;
          break;
        }
      }

    }
    else {
      // unconditional import
      $accept = true;
    }

    if ( $accept ) {
      // Store our current base url properties in case the new url is elsewhere
      $protocol = $this->_protocol;
      $host = $this->_base_host;
      $path = $this->_base_path;

      // $url = str_replace(array('"',"url", "(", ")"), "", $url);
      // If the protocol is php, assume that we will import using file://
      // $url = build_url($protocol == "php://" ? "file://" : $protocol, $host, $path, $url);
      // Above does not work for subfolders and absolute urls.
      // Todo: As above, do we need to replace php or file to an empty protocol for local files?

      $url = $this->_image($url);

      $this->load_css_file($url);

      // Restore the current base url
      $this->_protocol = $protocol;
      $this->_base_host = $host;
      $this->_base_path = $path;
    }

  }
开发者ID:hendrosteven,项目名称:f3-template,代码行数:51,代码来源:stylesheet.cls.php

示例4:

 function get_font_baseline($font, $size)
 {
     $ratio = $this->_dompdf->get_option("font_height_ratio");
     return $this->get_font_height($font, $size) / $ratio;
 }
开发者ID:skyosev,项目名称:OpenCart-Overclocked,代码行数:5,代码来源:cpdf_adapter.cls.php

示例5: _background_image

 /**
  * Render a background image over a rectangular area
  *
  * @param string $url      The background image to load
  * @param float  $x        The left edge of the rectangular area
  * @param float  $y        The top edge of the rectangular area
  * @param float  $width    The width of the rectangular area
  * @param float  $height   The height of the rectangular area
  * @param Style  $style    The associated Style object
  *
  * @throws Exception
  */
 protected function _background_image($url, $x, $y, $width, $height, $style)
 {
     if (!function_exists("imagecreatetruecolor")) {
         throw new Exception("The PHP GD extension is required, but is not installed.");
     }
     $sheet = $style->get_stylesheet();
     // Skip degenerate cases
     if ($width == 0 || $height == 0) {
         return;
     }
     $box_width = $width;
     $box_height = $height;
     //debugpng
     if (DEBUGPNG) {
         print '[_background_image ' . $url . ']';
     }
     list($img, $type, ) = Image_Cache::resolve_url($url, $sheet->get_protocol(), $sheet->get_host(), $sheet->get_base_path(), $this->_dompdf);
     // Bail if the image is no good
     if (Image_Cache::is_broken($img)) {
         return;
     }
     //Try to optimize away reading and composing of same background multiple times
     //Postponing read with imagecreatefrom   ...()
     //final composition parameters and name not known yet
     //Therefore read dimension directly from file, instead of creating gd object first.
     //$img_w = imagesx($src); $img_h = imagesy($src);
     list($img_w, $img_h) = dompdf_getimagesize($img);
     if (!isset($img_w) || $img_w == 0 || !isset($img_h) || $img_h == 0) {
         return;
     }
     $repeat = $style->background_repeat;
     $dpi = $this->_dompdf->get_option("dpi");
     //Increase background resolution and dependent box size according to image resolution to be placed in
     //Then image can be copied in without resize
     $bg_width = round((double) ($width * $dpi) / 72);
     $bg_height = round((double) ($height * $dpi) / 72);
     //Need %bg_x, $bg_y as background pos, where img starts, converted to pixel
     list($bg_x, $bg_y) = $style->background_position;
     if (is_percent($bg_x)) {
         // The point $bg_x % from the left edge of the image is placed
         // $bg_x % from the left edge of the background rectangle
         $p = (double) $bg_x / 100.0;
         $x1 = $p * $img_w;
         $x2 = $p * $bg_width;
         $bg_x = $x2 - $x1;
     } else {
         $bg_x = (double) ($style->length_in_pt($bg_x) * $dpi) / 72;
     }
     $bg_x = round($bg_x + $style->length_in_pt($style->border_left_width) * $dpi / 72);
     if (is_percent($bg_y)) {
         // The point $bg_y % from the left edge of the image is placed
         // $bg_y % from the left edge of the background rectangle
         $p = (double) $bg_y / 100.0;
         $y1 = $p * $img_h;
         $y2 = $p * $bg_height;
         $bg_y = $y2 - $y1;
     } else {
         $bg_y = (double) ($style->length_in_pt($bg_y) * $dpi) / 72;
     }
     $bg_y = round($bg_y + $style->length_in_pt($style->border_top_width) * $dpi / 72);
     //clip background to the image area on partial repeat. Nothing to do if img off area
     //On repeat, normalize start position to the tile at immediate left/top or 0/0 of area
     //On no repeat with positive offset: move size/start to have offset==0
     //Handle x/y Dimensions separately
     if ($repeat !== "repeat" && $repeat !== "repeat-x") {
         //No repeat x
         if ($bg_x < 0) {
             $bg_width = $img_w + $bg_x;
         } else {
             $x += $bg_x * 72 / $dpi;
             $bg_width = $bg_width - $bg_x;
             if ($bg_width > $img_w) {
                 $bg_width = $img_w;
             }
             $bg_x = 0;
         }
         if ($bg_width <= 0) {
             return;
         }
         $width = (double) ($bg_width * 72) / $dpi;
     } else {
         //repeat x
         if ($bg_x < 0) {
             $bg_x = -(-$bg_x % $img_w);
         } else {
             $bg_x = $bg_x % $img_w;
             if ($bg_x > 0) {
                 $bg_x -= $img_w;
//.........这里部分代码省略.........
开发者ID:uab-balticode,项目名称:dpd-shipping-module-magento-2,代码行数:101,代码来源:abstract_renderer.cls.php

示例6:

 function get_font_height($font, $size)
 {
     $this->_pdf->selectFont($font);
     $ratio = $this->_dompdf->get_option("font_height_ratio");
     return $this->_pdf->getFontHeight($size) * $ratio;
 }
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:6,代码来源:cpdf_adapter.cls.php

示例7: strpos

 /**
  * Resolve and fetch an image for use.
  *
  * @param string $url        The url of the image
  * @param string $protocol   Default protocol if none specified in $url
  * @param string $host       Default host if none specified in $url
  * @param string $base_path  Default path if none specified in $url
  * @param DOMPDF $dompdf     The DOMPDF instance
  *
  * @throws DOMPDF_Image_Exception
  * @return array             An array with two elements: The local path to the image and the image extension
  */
 static function resolve_url($url, $protocol, $host, $base_path, DOMPDF $dompdf)
 {
     $parsed_url = explode_url($url);
     $message = null;
     $remote = $protocol && $protocol !== "file://" || $parsed_url['protocol'] != "";
     $data_uri = strpos($parsed_url['protocol'], "data:") === 0;
     $full_url = null;
     $enable_remote = $dompdf->get_option("enable_remote");
     try {
         // Remote not allowed and is not DataURI
         if (!$enable_remote && $remote && !$data_uri) {
             throw new DOMPDF_Image_Exception("DOMPDF_ENABLE_REMOTE is set to FALSE");
         } elseif ($enable_remote && $remote || $data_uri) {
             // Download remote files to a temporary directory
             $full_url = build_url($protocol, $host, $base_path, $url);
             // From cache
             if (isset(self::$_cache[$full_url])) {
                 $resolved_url = self::$_cache[$full_url];
             } else {
                 $tmp_dir = $dompdf->get_option("temp_dir");
                 $resolved_url = tempnam($tmp_dir, "ca_dompdf_img_");
                 $image = "";
                 if ($data_uri) {
                     if ($parsed_data_uri = parse_data_uri($url)) {
                         $image = $parsed_data_uri['data'];
                     }
                 } else {
                     set_error_handler("record_warnings");
                     $image = file_get_contents($full_url);
                     restore_error_handler();
                 }
                 // Image not found or invalid
                 if (strlen($image) == 0) {
                     $msg = $data_uri ? "Data-URI could not be parsed" : "Image not found";
                     throw new DOMPDF_Image_Exception($msg);
                 } else {
                     //e.g. fetch.php?media=url.jpg&cache=1
                     //- Image file name might be one of the dynamic parts of the url, don't strip off!
                     //- a remote url does not need to have a file extension at all
                     //- local cached file does not have a matching file extension
                     //Therefore get image type from the content
                     file_put_contents($resolved_url, $image);
                 }
             }
         } else {
             $resolved_url = build_url($protocol, $host, $base_path, $url);
         }
         // Check if the local file is readable
         if (!is_readable($resolved_url) || !filesize($resolved_url)) {
             throw new DOMPDF_Image_Exception("Image not readable or empty");
         } else {
             list($width, $height, $type) = dompdf_getimagesize($resolved_url);
             // Known image type
             if ($width && $height && in_array($type, array(IMAGETYPE_GIF, IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_BMP))) {
                 //Don't put replacement image into cache - otherwise it will be deleted on cache cleanup.
                 //Only execute on successful caching of remote image.
                 if ($enable_remote && $remote || $data_uri) {
                     self::$_cache[$full_url] = $resolved_url;
                 }
             } else {
                 throw new DOMPDF_Image_Exception("Image type unknown");
             }
         }
     } catch (DOMPDF_Image_Exception $e) {
         $resolved_url = self::$broken_image;
         $type = IMAGETYPE_PNG;
         $message = $e->getMessage() . " \n {$url}";
     }
     return array($resolved_url, $type, $message);
 }
开发者ID:skyosev,项目名称:OpenCart-Overclocked,代码行数:82,代码来源:image_cache.cls.php


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