php做pdf插件,php上傳pdf文件

本文目錄一覽:

php網站pdf顯示插件 pdf.js 瀏覽器打開大文件崩潰。

您好,兩種方案:一種直接鏈接,把pdf文件當作img文件,類似a href=””/這種形式,這樣鏈接:

代碼如下:

frame src=”pdf文件的地址”/frame

另一種:使用js插件哈。

其中實現閱讀pdf文件的js插件很多,比如:pdf.js:是一個技術原型主要用於在 HTML5 平台上展示 PDF 文檔,無需任何本地技術支持;jsPDF:是一個使用Javascript語言生成PDF的開源庫(IE暫不支持);

比較簡單易上手的js插件:PDFObject.js,是一個 JavaScript 庫用來在HTML中動態嵌入 PDF 文檔。

效果如下:

PDFObject.js目前已經升級到1.2,可以支持IE9.

PDFObject.js宗旨:Sometimes you need a little JavaScript. When you do, try PDFObject.

來看看少之又少的js代碼:

代碼如下:

script type=”text/javascript”

window.onload = function (){

var success = new PDFObject({ url: “sample.pdf” }).embed();

};

/script

OK,這樣就可以了。只要把地址寫對即可。

若我在某一個div中加載pdf咋辦呢?看官網,發現embed()方法可以有參數的,無參數是指body,有參數是具體的某一個位置。

代碼如下:

script type=”text/javascript”

window.onload = function (){

var success = new PDFObject({ url: “sample.pdf” }).embed(「div的id」);

};

/script

當然,其中還可以進一步設置參數,比如你想以多少秒的速度預覽,有css,無css等。

PHP生成PDF,用什麼類庫好

FPDF

FPDF

這個PHP

Class允許你採用純PHP(更確切地說就是不需要使用PDFlib)來生成PDF文件。它所具有的特點包括:可選擇的unit大小,頁面格式和頁邊

距;頁眉和頁腳管理;自動分頁;自動換行與文本自動對齊;支持JPEG與PNG圖片格式;支持着色和文件超鏈接;支持TrueType,Type1與

encoding;支持頁面壓縮。

HTML2PDF

HTML2PDF能夠把一個HTML文本轉換成一個打印機友好的PDF文件。這個PHP腳本構建在FPDF

PHP腳本之上。

TCPDF

TCPDF是一個用於快速生成PDF文件的PHP5函數包。TCPDF基於FPDF進行擴展和改進。支持UTF-8,Unicode,HTML和

XHTML。

html2ps

html2ps

能夠把帶有圖片,複雜表格(包含rowspan/colspan)

,layer/div和css樣式的HTML轉換成Postscript與PDF。

html2ps對CSS2.1支持非常好,並且很好地兼容不正確的HMTL。它甚至能夠轉換幾乎是採用CSS設計的網站如msn.com。

HTML_ToPDF

HTML_ToPDF能夠把任何HTML文檔轉換成在任何平台和打印機下界面格式都一樣的PDF文檔。它包括支持圖片轉換,使用樣式表來定製PDF

文件和錯誤處理。

cPdfWriter

cPdfWriter是一個能夠輸出PDF文檔的PHP5

class。基於TCPDF,FPDF和其它相關腳本。

dompdf

dompdf是一個HTML到PDF的轉換工具。它的核心是一個遵循大部份CSS2.1樣式的Rendering引擎。dompdf採用樣式驅動,

它能夠下載並讀取外部樣式,整個樣式標籤和單個HTML元素的樣式屬性。它同樣支持目當大部份HTML屬性。

怎麼用PHP在HTML中生成PDF文件

php有很多開源的生成PDF的類庫你直接搜下就能找到

類似這樣的插件基本都輸出同樣格式就可以;

這下邊是個案列:

require_once(‘tcpdf.php’);

//實例化

$pdf = new TCPDF(‘P’, ‘mm’, ‘A4’, true, ‘UTF-8’, false);

// 設置文檔信息

$pdf-SetCreator(‘Helloweba’);

$pdf-SetAuthor(‘yueguangguang’);

$pdf-SetTitle(‘Welcome to helloweba.com!’);

$pdf-SetSubject(‘TCPDF Tutorial’);

$pdf-SetKeywords(‘TCPDF, PDF, PHP’);

// 設置頁眉和頁腳信息

$pdf-SetHeaderData(‘logo.png’, 30, ‘Helloweba.com’, ‘致力於WEB前端技術在中國的應用’,

array(0,64,255), array(0,64,128));

$pdf-setFooterData(array(0,64,0), array(0,64,128));

// 設置頁眉和頁腳字體

$pdf-setHeaderFont(Array(‘stsongstdlight’, ”, ’10’));

$pdf-setFooterFont(Array(‘helvetica’, ”, ‘8’));

// 設置默認等寬字體

$pdf-SetDefaultMonospacedFont(‘courier’);

// 設置間距

$pdf-SetMargins(15, 27, 15);

$pdf-SetHeaderMargin(5);

$pdf-SetFooterMargin(10);

// 設置分頁

$pdf-SetAutoPageBreak(TRUE, 25);

// set image scale factor

$pdf-setImageScale(1.25);

// set default font subsetting mode

$pdf-setFontSubsetting(true);

//設置字體

$pdf-SetFont(‘stsongstdlight’, ”, 14);

$pdf-AddPage();

$str1 = ‘歡迎來到Helloweba.com’;

$pdf-Write(0,$str1,”, 0, ‘L’, true, 0, false, false, 0);

//輸出PDF

$pdf-Output(‘t.pdf’, ‘I’);

php wkhtmltopdf怎麼實現

安裝wkhtmltopdf

# apt-get install wkhtmltopdf

從HTML生成PDF文件的基本語法如下:

# wkhtmltopdf input-file output-file

我們可以從任何網頁生成PDF:

# wkhtmltopdf example.com example.pdf

或從本地html文件:

# wkhtmltopdf example.html example.pdf

以上命令只能在Linux box 圖形環境中使用。如果我們在一個VPS或專用服務器上生成PDF,如果我們執行該命令,我們將得到從下錯誤:

wkhtmltopdf: cannot connect to X server

為了解決這個問題,我們需要使用一個名為 xvfb 的工具。

Xvfb是一個 X 服務器,能夠運行在沒有顯示硬件和沒有物理輸入設備的機器上。它使用虛擬內存來模擬一個dumb framebuffer。

回到頂部

安裝 xvfb

# apt-get install xvfb

接下來,我們需要創建一個shell腳本:

xvfb-run –server-args=”-screen 0, 1024x768x24″ /usr/bin/wkhtmltopdf $*

然後將它保存在 /usr/bin/wkhtmltopdf.sh 下

下一步,我們將創建一個 symbolic 鏈接,這樣我們就可以執行腳本而不用編寫的完整路徑:

# ln -s /usr/bin/wkhtmltopdf.sh /usr/local/bin/wkhtmltopdf2

讓我們嘗試執行shell腳本,並看看會發生什麼。

# wkhtmltopdf2 example.com example.pdf

Loading page (1/2)

Printing pages (2/2)

Done

好,如果能夠正確運行。就可以用以下自定義PHP腳本來生成一個PDF文件。

//Turn on output buffering

ob_start();

echo “html”;

echo “head”;

echo “link href=” rel=’stylesheet’ type=’text/css'”;

echo “/head”;

你試試吧,我還要在後盾網學習呢,有不會的可以問我

如何使用PHP創建和修改PDF文檔

示例一:使用PHP生成一個簡單的PDF文檔

以下為引用的內容:

require_once(‘../config/lang/eng.php’);

require_once(‘../tcpdf.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 002’);

$pdf-SetSubject(‘TCPDF Tutorial’);

$pdf-SetKeywords(‘TCPDF, PDF, example, test, guide’);

// remove default header/footer

$pdf-setPrintHeader(false);

$pdf-setPrintFooter(false);

// set default monospaced font

$pdf-SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins

$pdf-SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

//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

$pdf-setLanguageArray($l);

// ———————————————————

// set font

$pdf-SetFont(‘times’, ‘BI’, 20);

// add a page

$pdf-AddPage();

// print a line using Cell()

$pdf-Cell(0, 10, ‘Example 002’, 1, 1, ‘C’);

// ———————————————————

//Close and output PDF document

$pdf-Output(‘example_002.pdf’, ‘I’);

?

使用PHP修改PDF文檔

下面我們討論如何使用PHP修改PDF文檔。假設我們需要將一張圖片通過PHP程序加入到PDF中,示例代碼如下:

示例二:使用PHP在PDF中增加一張圖片

以下為引用的內容:

require_once(‘../config/lang/eng.php’);

require_once(‘../tcpdf.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 009’);

$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, 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

$pdf-setLanguageArray($l);

// ———————————————————

// add a page

$pdf-AddPage();

// set JPEG quality

$pdf-setJPEGQuality(75);

// Image example

$pdf-Image(‘../images/image_demo.jpg’, 50, 50, 100, 150, ”, ”, ”, true, 150);

// ———————————————————

//Close and output PDF document

$pdf-Output(‘example_009.pdf’, ‘I’);

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/197573.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 20:05
下一篇 2024-12-03 20:05

相關推薦

發表回復

登錄後才能評論