php操作pdf文檔輸出,php讀取pdf數據

本文目錄一覽:

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將pdf文件格式轉換成圖片,並壓縮

有一份pdf文件,需要將其轉換成圖片, 如果圖片過大,同時還需要將其壓縮。

1、安裝插件

因為不同版本的用法略有區別,我這裡用的是2.1版, 最近文檔還需要看官方文檔。

2、簡單使用

3、常用方法

4、其他

1、說明

2、安裝

不同版本的使用略有區別,我這用的是2.5版本的

3、簡單使用

其中resize,可以指定壓縮的寬度和高度,如

如果是指定寬度,智適應高度就是這樣

save的三個參數是,

4、更多

更多使用,看 說明文檔

壓縮圖片的時候,報不能讀取問題

這個可能是遇到最多的問題。可能原因如下:

1、文件讀取許可權

查看文件的許可權,看是否有讀取的許可權(r), 沒有的話直接把文件改為 777

2、插件不支持該格式文件

輸入 php –ri imagick , 在支持列表看是否支持該文件的格式。沒有的話,自己百度啦。

3、內存或緩存不夠

進入插件的 /vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php , 在24行斷點

可能會得到消息:

然後,在百度下,原來是壓縮的文件過大,插件使用的緩存不夠,這裡直接將配置改大即可

將配置文件改成如下

怎麼用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創建和修改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’);

?

原創文章,作者:RJQCL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317592.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RJQCL的頭像RJQCL
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • 使用Spire.PDF進行PDF文檔處理

    Spire.PDF是一款C#的PDF庫,它可以幫助開發者快速、簡便地處理PDF文檔。本篇文章將會介紹Spire.PDF庫的一些基本用法和常見功能。 一、PDF文檔創建 創建PDF文…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29

發表回復

登錄後才能評論