本文目錄一覽:
- 1、php網站pdf顯示插件 pdf.js 瀏覽器打開大文件崩潰。
- 2、PHP生成PDF,用什麼類庫好
- 3、怎麼用PHP在HTML中生成PDF文件
- 4、php wkhtmltopdf怎麼實現
- 5、如何使用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