Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一区二区三区视频在线观看,久久精品在线免费观看,日韩小视频在线观看

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          PHP轉換HTML為PDF文檔的方法和常見問題

          司的某項業務需要與用戶線上簽訂協議,即用戶在線手寫一個簽名,后臺將公司公章信息和用戶的簽名以及合同信息生成一份PDF文件,供用戶查看和下載。



          比對了一些插件,我們最終決定使用dompdf這個插件,插件的github在這里:https://github.com/dompdf/dompdf。

          1. 使用方法

          • 安裝可以使用composer或者直接下載源代碼,使用require或者include引入。
          • 具體的使用方式,可以參考以下示例代碼。
          // 引入命名空間
          use Dompdf\Dompdf;
          // 初始化dompdf對象
          $dompdf = new Dompdf();
          // 加載html文檔內容
          $dompdf->loadHtml('hello world');
          // 設置紙張類型和方向
          $dompdf->setPaper('A4', 'landscape');
          // 渲染HTML為PDF
          $dompdf->render();
          // 流輸出
          $dompdf->stream();
          

          2. 常見問題和解決辦法

          2.1 中文亂碼的問題

          插件對于字體和編碼問題是這樣形容的:

          PDF documents internally support the following fonts: Helvetica, Times-Roman, Courier, Zapf-Dingbats, & Symbol. These fonts only support Windows ANSI encoding. In order for a PDF to display characters that are not available in Windows ANSI, you must supply an external font. Dompdf will embed any referenced font in the PDF so long as it has been pre-loaded or is accessible to dompdf and reference in CSS @font-face rules. See the font overview for more information on how to use fonts.The DejaVu TrueType fonts have been pre-installed to give dompdf decent Unicode character coverage by default. To use the DejaVu fonts reference the font in your stylesheet, e.g. body { font-family: DejaVu Sans; } (for DejaVu Sans). The following DejaVu 2.34 fonts are available: DejaVu Sans, DejaVu Serif, and DejaVu Sans Mono.

          嘗試了一下,默認帶的字體是無法渲染中文的,使用CSS的@font-face引入會報錯(也可能是我打開方式不對)。這樣就只好自己引入一個字體了。

          插件給了一個安裝語言文件的工具,地址再這里:https://github.com/dompdf/utils。

          使用步驟:

          • 下載或者復制load_font.php文件,放到dompdf文件夾內,與src和test文件夾同級
          • 修改load_font.php文件中引入的autoload.php為項目實際的位置
          • 在命令行中執行php load_font.php simkai /path/to/simkai.ttf

          這樣,我們就可以在html文檔的css中使用font-family屬性來指定字體了。

          html {
           font-family: simkai;
          }
          

          2.2 圖片無法展示

          插件應該是無法直接顯示網絡圖片,所以需要將圖片轉換為BASE64格式才能顯示。

          將HTML文檔中的所有圖片轉換為BASE64的方式:

          function imgToBase64($html) {
           $html = preg_replace_callback('/<img(?:.*?)src="(.*?)"(?:.*?)\/?>/', function($matches) {
           $imageInfo = getimagesize($matches[1]);
           $base64 = "" . chunk_split(base64_encode(file_get_contents($matches[1])));
           $base64_image = 'data:' . $imageInfo['mime'] . ';base64,' . $base64;
           return str_replace($matches[1], $base64_image, $matches[0]);
           }, $html);
           return $html;
          }
          

          這樣轉換其實性能影響挺大的,感覺性能不太好可以加一下緩存。

          hp修改html標簽中的內容php與html如何配合使用php改變htmlphp過濾htmlphp輸出html標簽

          PHP刪除HTMl標簽的三種解決方法_流年-CSDN博客_php去除htm...

          2017年9月19日 在PHP中可以使用strip_tags函數去除HTML標簽,看下面示例: 復制代碼代碼如下: <?php $str = ‘www<p>dreamdu</p>.com'; echo(htmlspecialchars($str).”<br>”);...

          CSDN技術社區

          百度快照

          php去除HTML標簽實例_php實例_腳本之家

          2013年11月6日 在php中要去除字符串中的HTML標簽方法有很多種,最常用的就是使用strip_tags函數一并去了,只保留字符了,還在就是有選擇性的去除了這里要用正則表達式了,下面寫二...

          CMSYOU分享PHPCMS V9模板風格管理設置技巧之后,我們繼續分享一篇關于自定義PHPCMS文章URL的技巧:Phpcms V9文章內容頁自定義HTML網址。

          這一方法,改變html默認采用數字生成的地址,可以自定義成字母、單詞、拼音,對于網址的識別性、SEO,有很大幫助!

          下面是來自rhongsheng發布的教程,分享在此。

          用過2008版的網友都知道,內容模型在發布內容的時候可以自定義生成的HTML文件名,這個功能對于SEO來說非常有好處,但是到了V9之后卻很遺憾,這個功能卻沒有了,現在你只要對V9進行一個小小的修改即可令V9重新擁有08版的自定義HTML文件名的功能,操作方法如下:

          1、修改你需要設置的模型,添加一個字段,配置如下:

          2、打開/phpcms/modules/content/create_html.php,找到代碼

          $urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime']);

          批量替換成

          $urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime'], $r['prefix']);

          共三處

          3、打開/phpcms/modules/content/classes/url.class.php,找到代碼

          .$day = date('d',$time);


          在其下方插入

          $tmp_id = $content_ishtml && $prefix ? $prefix : $id; //增加自定義HTML文件名支持

          找到

          $urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);

          修改為

          $urls = str_replace(array('{$categorydir}','{$catdir}','{$year}','{$month}','{$day}','{$catid}','{$id}','{$page}'),array($categorydir,$catdir,$year,$month,$day,$catid,$tmp_id,$page),$urlrule);

          完畢。

          Enjoy it!


          主站蜘蛛池模板: 日本国产一区二区三区在线观看| 国产精品熟女一区二区| 无码国产精品一区二区免费模式 | 亚洲一区二区三区久久| 精品欧洲av无码一区二区三区| 亚洲AV无码一区二区乱孑伦AS | 无码人妻一区二区三区在线视频 | 国产午夜精品免费一区二区三区| 国产99精品一区二区三区免费| 少妇精品久久久一区二区三区| 鲁丝丝国产一区二区| 大伊香蕉精品一区视频在线| 91福利国产在线观一区二区| 动漫精品专区一区二区三区不卡| 一区二区三区四区精品视频| asmr国产一区在线| 一区二区无码免费视频网站| 九九久久99综合一区二区| 日韩精品人妻一区二区三区四区| 狠狠色婷婷久久一区二区三区 | 69福利视频一区二区| 国产成人无码AV一区二区| 高清一区二区三区视频| 国产乱子伦一区二区三区| 日韩精品一区二区三区中文3d| 91久久精品国产免费一区| 无码人妻一区二区三区免费视频| 午夜在线视频一区二区三区 | 日亚毛片免费乱码不卡一区 | 亚洲国产成人久久一区久久| 女同一区二区在线观看| 日韩美一区二区三区| 日本一区二区三区在线网| 高清一区二区三区| 国产人妖视频一区二区破除| 中文国产成人精品久久一区| 精品视频一区二区三区| 手机看片一区二区| 精品少妇ay一区二区三区| 竹菊影视欧美日韩一区二区三区四区五区| 中文字幕精品一区二区日本|