Thinkphp 整合tcpdf

網上查了些關于tcpdf 使用教程,整合到TP的話,會有些小問題,由于基礎還不是很扎實,花了點時間終于整合OK了。下面介紹步驟:

環境:

  TP版本:TP3.2.2

  tcpdf:tcpdf_6_2_3

1. 將tcpdf_6_2_3.zip解壓在Web root目錄下面,把examples文件夾下面的tcpdf_include.php文件拷貝到tcpdf文件夾下面,再把tcpdf/config/tcpdf_config.php內容替換成tcpdf/examples/config/tcpdf_config_alt.php中的內容

  這里要注意的是:tcp_include.php中?$tcpdf_include_dirs數組要多添加一行:“realpath('./').'/tcpdf/tcpdf.php',”

2. 新建test.php

  

<?php
// Include the main TCPDF library (search for installation path).
require_once('./tcpdf/tcpdf_include.php');// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' wisvalley', PDF_HEADER_STRING);// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {require_once(dirname(__FILE__).'/lang/eng.php');$pdf->setLanguageArray($l);
}// ---------------------------------------------------------// set font
//$pdf->SetFont('helvetica', '', 20);
$pdf->SetFont('stsongstdlight', '', 20);
// add a page
$pdf->AddPage();$txt = 'your content';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
$pdf->Output('/var/www/example_038.pdf', 'I');//瀏覽器預覽
//$pdf->Output('example_038.pdf', 'F');//存儲文件
//$pdf->Output('example_038.pdf', 'D');//下載文件

這樣就可以了。下面說下我碰到的幾個問題:

  1.我把這些代碼拷貝到TP控制器的某個方法里面報錯:Class 'Home\Controller\TCPDF' not found

    解答:$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        改成$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        對于tp3.2引入了命名空間,這個‘\’很重要

?

  2.TCPDF ERROR:?Unable to create output file: example_038.pdf

    解答:$pdf->Output('/var/www/example_038.pdf', 'I');路徑要為據對路徑。

?

轉載于:https://www.cnblogs.com/liushiyong1/p/4201117.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273468.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273468.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273468.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多項目開發下的dll文件管理

閱讀目錄&#xff1a;DS01&#xff1a;為什么要對生成的dll文件進行管理&#xff1f;DS02&#xff1a;首先介紹以下兩個DOS命令DS03&#xff1a;第一種實現方法&#xff08;xcopy&#xff09;DS04&#xff1a;第二種實現方法&#xff08;attrib&#xff09;DS05&#xff1a;分享…

關于Java中的隨機數產生

對比兩種寫法&#xff1a; 第一種&#xff1a; public static void main(String args[]){Random random new Random(System.currentTimeMillis());for(int i0; i<20; i){int sindex random.nextInt(2);System.out.println(sindex);}}第二種&#xff1a; public static voi…

視圖

視圖是虛表&#xff0c;是從一個或幾個基本表&#xff08;或視圖&#xff09;中導出的表&#xff0c;在系統的數據字典中僅存放了視圖的定義&#xff0c;不存放視圖對應的數據。視圖是原始數據庫數據的一種變換&#xff0c;是查看表中數據的另外一種方式。可以將視圖看成是一個…

選擇器的并發性

4.3.4 并發性 選擇器對象是線程安全的&#xff0c;但它們包含的鍵集合不是。通過keys( )和selectKeys( )返回的鍵的集合是Selector對象內部的私有的Set對象集合的直接引用。這些集合可能在任意時間被改變。已注冊的鍵的集合是只讀的。如果您試圖修改它&#xff0c;那么您得到的…

mysql 自定義函數之判斷

DELIMITER $$CREATE DEFINERrootlocalhost FUNCTION getMin(a int,b int) RETURNS int(11)BEGINdeclare min int;if(a>b)then set min b;elseif(b>a)then set min a;else set min 0;#end if;end if;RETURN min;END 調用該函數可以如下方式 select getMin(1,2); 返回值…

C/C++的數組名

數組名相當于指向數組第一個元素的地址。數組名不是變量&#xff0c;是地址常量&#xff0c;不能為其賦值。如下&#xff1a;1&#xff09;一維數組中對于數組 a[5] {1, 2, 3, 4, 5};數組名a相當于指向第一個元素a[0]的指針。即 a 與 &a[0] 等價。2&#xff09;二維數組中…

mysql的運算法

一、算術運算符1、加 www.2cto.com mysql> select 12;-----| 12 |-----| 3 |-----2、減mysql> select 1-2;-----| 1-2 |-----| -1 |-----3、乘mysql> select 2*3;-----| 2*3 |-----| 6 |-----4、除mysql> select 2/3;--------| 2/3 |--------| 0.6667 |-…

轉-- iOS 30多個iOS常用動畫,帶詳細注釋

// // CoreAnimationEffect.h // CoreAnimationEffect // // Created by VincentXue on 13-1-19. // Copyright (c) 2013年 VincentXue. All rights reserved. //#import <Foundation/Foundation.h>/**! 導入QuartzCore.framework** Example:** Step.1** #imp…

Java中abstract與interface

抽象類&#xff08;abstract class&#xff09;的特點&#xff1a; 1.抽象類、抽象方法都必須使用abstract修飾。 2.抽象類中&#xff0c;可以有非抽象方法&#xff0c;甚至可以是沒有任何方法或變量的空類。 對于抽象類中不定義抽象方法的用意在于&#xff1a;使該類不能被創建…

按位與、或、異或等運算方法

按位與運算符&#xff08;&&#xff09; 參加運算的兩個數據&#xff0c;按二進制位進行“與”運算。 運算規則&#xff1a;0&00; 0&10; 1&00; 1&11; 即&#xff1a;兩位同時為“1”&#xff0c;結果才為“1”&#xff0c;否則為0 例如&#xff1…

JavaScript驗證

<script type"text/javascript"> /*密碼*/ function password() { var password document.getElementById("password").value; var ts document.getElementById("tsPassword"); if (password.length >…

mysql數據庫根據上傳的經緯度計算距離

select 6371.393*ACOS(COS(RADIANS(latitude))*COS(RADIANS(47.02))*COS(RADIANS(longitude)-RADIANS(114.100))SIN(RADIANS(latitude))*SIN(RADIANS(47.02))) as distancefrom location

emacs配置

; 指針顏色設置為白色(set-cursor-color "white");; 鼠標顏色設置為白色(set-mouse-color "white") ;; 從color-theme中獲取;; 網上下載color-theme.el&#xff0c;放到加載路徑(&#xff0f;usr/share/emacs/site-lisp )下;; M-x color-theme-select,鼠標…

自然連接(NATURAL JOIN)

自然連接&#xff08;NATURAL JOIN&#xff09;是一種特殊的等價連接&#xff0c;它將表中具有相同名稱的列自動進行記錄匹配。自然連接不必指定任何同等連接條件。圖9.9給出了典型的自然連接示意圖。 圖9.9 自然連接 自然連接自動判斷相同名稱的列&#xff0c;而后形成匹配。…

iis express8 自動關閉

引用&#xff1a;http://www.cnblogs.com/chunCui/p/3522619.html 問題&#xff1a;最近使用vs2013開發個web &#xff0c; 每次調試結束時iis express 8 也會自動關閉 解決方法&#xff1a;web項目-屬性-web-調試器-只選中ASP.Net就可以了 轉載于:https://www.cnblogs.com/qqq…

自連接

9.3 表的連接類型 9.3.1 自連接 自連接是指表與其自身進行連接&#xff0c;這就需要用到前面介紹的表別名。下面通過一個具體實例來講解自連接的應用。 實例5 自連接的使用方法 查詢成績中存在不及格課程的學生的姓名、所在系、所有的課程及成績信息。如果采用前面介紹的…

從此記錄

從此記錄工作、學習、生活的那些事兒&#xff01;轉載于:https://www.cnblogs.com/alwaysjava/p/4221362.html

LIKE運算符

6.5 使用LIKE進行模糊查詢 當只知道部分字符串時&#xff0c;可使用LIKE運算符來查詢數據庫&#xff0c;找出與其相關的整個字符串。因此&#xff0c;當把關鍵字LIKE用在WHERE子句中時&#xff0c;可以比較兩個字符串的部分匹配。當對字符串內容有些印象&#xff0c;但并不知…

AND運算符

6.2 組合查詢條件 在前一章提到的WHERE子句進行查詢時&#xff0c;WHERE子句后面的搜索條件只是單一的。實際上&#xff0c;可以通過布爾運算符AND和OR&#xff0c;將多個單獨的搜索條件結合在一個WHERE子句中&#xff0c;形成一個復合的搜索條件。當對復合搜索條件求值時&a…

Cron表達式【一】

Cron表達式【一】 Cron表達式被用來配置CronTrigger實例。 Cron表達式是一個由 7個子表達式組成的字符串。每個子表達式都描述了一個單獨的日程細節。這些子表達式用空格分隔&#xff0c;分別表示&#xff1a; 1. Seconds 秒 2. Minutes 分鐘 3. Hours 小時 4. Day-of-Month 月…