phpajaxpdf的簡單介紹

本文目錄一覽:

如何使用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’);

?

PHP如何實現ajax分頁總結

!DOCTYPE htmlhtml head meta charset=”UTF-8″ titleAjax做分頁/title script src=”bootstrap/js/jquery-1.11.2.min.js”/script script src=”Ajax_pag.js”/script script src=”bootstrap/js/bootstrap.min.js”/script link href=”bootstrap/css/bootstrap.min.css” rel=”stylesheet” type=”text/css”/ /head style .header{ margin-top: 20px; } /style body div style=”margin-top: 20px; margin-top: 20px;” 關鍵字: input id=”key” type=”text” name=”gjz”/ input type=”button” value=”查詢” id=”ck” / /div table class=”table table-bordered header” thead tr th地區代號/th th地區名稱/th th父級代號/th /tr /thead tbody id=”list” /tbody /table div style=”margin:0 auto; width:500px;” ul class=”pagination” id=”fenye” /ul /div /body/html

php另存網頁為PDF格式怎麼實現

有很多方法可以實現

谷歌瀏覽器頁面中右鍵選擇打印,然後就可以把網頁另存為PDF了。

調用第三方庫來完成,如html2pdf、tcpdf等。

有沒哪個大神知道怎麼用javascript或php實現從客戶端打印服務器端PDF文件

使用springmvc 構造一個 rest風格的框架,然後配置一個pdf的視圖,然後就就可以把服務器上的數據已pdf形式展現到瀏覽器了,php也可以使用rest的。

PHP 如何用ajax做文件上傳

通過傳統的form表單提交的方式上傳文件:

[html] view plain copy 在CODE上查看代碼片派生到我的代碼片form id= “uploadForm” action= “” method= “post” enctype =”multipart/form-data”

h1 測試通過Rest接口上傳文件 /h1

p 指定文件名: input type =”text” name=”filename” //p

p 上傳文件: input type =”file” name=”file” //p

p 關鍵字1: input type =”text” name=”keyword” //p

p 關鍵字2: input type =”text” name=”keyword” //p

p 關鍵字3: input type =”text” name=”keyword” //p

input type =”submit” value=”上傳”/

/form

不過傳統的form表單提交會導致頁面刷新,但是在有些情況下,我們不希望頁面被刷新,這種時候我們都是使用Ajax的方式進行請求的。

Ajax的方式進行請求:

[javascript] view plain copy 在CODE上查看代碼片派生到我的代碼片$.ajax({

url : “”,type : “POST”,

data : $( ‘#postForm’).serialize(),

success : function(data) {

$( ‘#serverResponse’).html(data);

},

error : function(data) {

$( ‘#serverResponse’).html(data.status + ” : ” + data.statusText + ” : ” + data.responseText);}

});

通常我們提交(使用submit button)時,會把form中的所有表格元素的name與value組成一個queryString,提交到後台。這用jQuery的方法來說,就是serialize。

通過$(‘#postForm’).serialize()可以對form表單進行序列化,從而將form表單中的所有參數傳遞到服務端。

但是上述方式,只能傳遞一般的參數,上傳文件的文件流是無法被序列化並傳遞的。

不過如今主流瀏覽器都開始支持一個叫做FormData的對象,有了這個FormData,我們就可以輕鬆地使用Ajax方式進行文件上傳了。

關於FormData及其用法

FormData是什麼呢?我們來看看Mozilla上的介紹。

XMLHttpRequest Level 2添加了一個新的接口FormData.利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件,我們還可以使用XMLHttpRequest的send()方法來異步的提交這個”表單”.比起普通的ajax,使用FormData的最大優點就是我們可以異步上傳一個二進制文件.

所有主流瀏覽器的較新版本都已經支持這個對象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。

參見:

FormData()

想得到一個FormData對象:

var formdata = new FormData();

W3c草案提供了三種方案來獲取或修改FormData。

方案1:創建一個空的FormData對象,然後再用append方法逐個添加鍵值對:

var formdata = new FormData();

formdata.append(“name”, “呵呵”);

formdata.append(“url”, “”);方案2:取得form元素對象,將它作為參數傳入FormData對象中!

var formobj = document.getElementById(“form”);var formdata = new FormData(formobj);

方案3:利用form元素對象的getFormData方法生成它!

var formobj = document.getElementById(“form”);var formdata = formobj.getFormData()

Method

FormData.append

本方法用於向已存在的鍵添加新的值,如該鍵不存在,新建之。

語法

formData.append(name, value);

formData.append(name, value, filename);

注: 通過 FormData.append()方法賦給字段的值若是數字會被自動轉換為字符(字段的值可以是一個Blob對象,一個File對象,或者一個字符串,剩下其他類型的值都會被自動轉換成字符串).

參數解釋

name

鍵 (key), 對應表單域

value

表單域的值

filename (optional)

The filename reported to the server (a USVString), when a Blob or File is passed as the second parameter. The default filename for Blob objects is “blob”.

FormData.delete

將一對鍵和值從 FormData 對象中刪除。

formData.delete(username);

FormData.get

返回給定鍵的第一個值

formData.append(‘username’, ‘Justin’);

formData.append(‘username’, ‘Chris’);

formData.get(username); // “Justin”

FormData.getAll

返回給定鍵的所有值

formData.append(‘username’, ‘Justin’);

formData.append(‘username’, ‘Chris’);

formData.getAll(username); // [“Justin”, “Chris”]

FormData.has

檢查是否包含給定鍵,返回 true 或 false

formData.has(username);

FormData.set

設置給定鍵的值

formData.set(name, value);

formData.set(name, value, filename);

瀏覽器兼容情況

來自 MDN:

Desktop

FeatureChromeFirfox(Gecko)Intenet ExplorerOperaSafariBasic support7+4.0(2.0)10+12+5+

append with filename(Yes)22.0(22.0)???

delete, get, getAll, has, setBehind FlagNot supportedNot supported(Yes)Not supportedMobile

FeatureAndroidChrome AndroidFirfox Mobile (Gecko)Firfox OS (Gecko)IE MobileOpera MobileSafari MobileBasic support3.0?4.0(2.0)1.0.1?12+?

append with filename??22.0(22.0)1.2???

delete, get, getAll, has, set(Yes)(Yes)Not supportedNot supportedNot supported(Yes)Not supported2015年06月04日發佈

Ajax通過FormData上傳文件

1.使用form表單初始化FormData對象方式上傳文件HTML代碼

form id=”uploadForm” enctype=”multipart/form-data”

input id=”file” type=”file” name=”file”/

button id=”upload” type=”button”upload/button

/form

javascript代碼

$.ajax({

url: ‘/upload’,

type: ‘POST’,

cache: false,

data: new FormData($(‘#uploadForm’)[0]),

processData: false,

contentType: false

}).done(function(res) {

}).fail(function(res) {});

這裡要注意幾點:

processData設置為false。因為data值是FormData對象,不需要對數據做處理。

form標籤添加enctype=”multipart/form-data”屬性。

cache設置為false,上傳文件不需要緩存。

contentType設置為false,不設置contentType值,因為是由form表單構造的FormData對象,且已經聲明了屬性enctype=”multipart/form-data”,所以這裡設置為false。

上傳後,服務器端代碼需要使用從查詢參數名為file獲取文件輸入流對象,因為input中聲明的是name=”file”。

如果不是用form表單構造FormData對象又該怎麼做呢?

2.使用FormData對象添加字段方式上傳文件

HTML代碼

div id=”uploadForm”

input id=”file” type=”file”/

button id=”upload” type=”button”upload/button

/div

這裡沒有form標籤,也沒有enctype=”multipart/form-data”屬性。

javascript代碼

var formData = new FormData();

formData.append(‘file’, $(‘#file’)[0].files[0]);$.ajax({

url: ‘/upload’,

type: ‘POST’,

cache: false,

data: formData,

processData: false,

contentType: false

}).done(function(res) {

}).fail(function(res) {});

這裡有幾處不一樣:

append()的第二個參數應是文件對象,即$(‘#file’)[0].files[0]。

contentType也要設置為『false』。

從代碼$(‘#file’)[0].files[0]中可以看到一個input type=”file”標籤能夠上傳多個文件,只需要在input type=”file”里添加multiple或multiple=”multiple”屬性。

3.服務器端讀文件

從Servlet 3.0 開始,可以通過 request.getPart() 或 request.getPars() 兩個接口獲取上傳的文件。

如何從php程序讀取pdf文檔中的文本信息

PHP程序pdf格式文件函數庫

本函數庫共有65個函數

PDF是Adobe所發展的可攜式文件格式,它的文件可以在網絡上傳輸、瀏覽,甚至使用印表機印出,或使用其它輸出裝置輸出,都可以保存原來的文字及圖片的編排。詳細的信息可以參考 Adobe 的網站。參考其中有關 PDF 或 Acrobat 的部份。

在 UNIX 系統中,可以使用 Thomas Merz 開發的 PDF 函數庫。將它編譯安裝完成後,再編譯 PHP 程序方可供 PHP 使用 pdflib。編譯時可能要 JPEG library 及 TIFF library。

除了用這個函數庫可以建立 PDF 文件外,FastIO 公司發展的產品 ClibPDF 也可以處理 PDF 文件。

以下為處理 PDF 文件的範例,本例對 test.pdf 加工後等待用戶讀取。

?php

$fp = fopen(“test.pdf”, “w”);

$pdf = PDF_open($fp);

pdf_set_info_author($pdf, “Uwe Steinmann”);

PDF_set_info_title($pdf, “Test for PHP wrapper of PDFlib 2.0”);

PDF_set_info_author($pdf, “Name of Author”);

pdf_set_info_creator($pdf, “See Author”);

pdf_set_info_subject($pdf, “Testing”);

PDF_begin_page($pdf, 595, 842);

PDF_add_outline($pdf, “Page 1”);

pdf_set_font($pdf, “Times-Roman”, 30, 4);

pdf_set_text_rendering($pdf, 1);

PDF_show_xy($pdf, “Times Roman outlined”, 50, 750);

pdf_moveto($pdf, 50, 740);

pdf_lineto($pdf, 330, 740);

pdf_stroke($pdf);

PDF_end_page($pdf);

PDF_close($pdf);

fclose($fp);

echo “A HREF=getpdf.php3finished/A”;

?

上例中的 gettest.php3 可能像下面的樣子

?php

$fp = fopen(“test.pdf”, “r”);

header(“Content-type: application/pdf”);

fpassthru($fp);

fclose($fp);

?

PDF_get_info: 返迴文件信息。

PDF_set_info_creator: 配置建檔者字符串。

PDF_set_info_title: 配置文件標題。

PDF_set_info_subject: 配置文件主題。

PDF_set_info_keywords: 配置文件的關鍵字。

PDF_set_info_author: 配置文件作者。

PDF_open: 建立新的 PDF 檔。

PDF_close: 關閉 PDF 檔。

PDF_begin_page: 啟始 PDF 文件頁面。

PDF_end_page: 關閉 PDF 文件頁面。

PDF_show: 輸出字符串到 PDF 文件。

PDF_show_xy: 輸出字符串到指定坐標。

PDF_set_font: 配置使用的字型及大小。

PDF_set_leading: 配置行距。

PDF_set_text_rendering: 配置文字表現方式。

PDF_set_horiz_scaling: 配置文字水平間距。

PDF_set_text_rise: 配置文字高度。

PDF_set_text_matrix: 配置文字矩陣。

PDF_set_text_pos: 配置文字位置。

PDF_set_char_spacing: 配置字符間距。

PDF_set_word_spacing: 配置字間距。

PDF_continue_text: 輸出文字。

PDF_stringwidth: 計算字符串的寬度。

PDF_save: 儲存環境變量。

PDF_restore: 還原環境變量。

PDF_translate: 移動原點。

PDF_scale: 縮放類。

PDF_rotate: 旋轉類。

PDF_setflat: 配置平滑值。

PDF_setlinejoin: 配置連接參數。

PDF_setlinecap: 配置 linecap 參數。

PDF_setmiterlimit: 配置斜邊界限。

PDF_setlinewidth: 配置線寬。

PDF_setdash: 配置虛線樣式。

PDF_moveto: 配置處理的坐標點。

PDF_curveto: 繪貝氏曲線。

PDF_lineto: 繪直線。

PDF_circle: 繪圓。

PDF_arc: 繪弧。

PDF_rect: 繪長方形。

PDF_closepath: 形成封閉的向量形狀。

PDF_stroke: 沿向量繪線。

PDF_closepath_stroke: 形成封閉的向量形狀並沿向量繪線。

PDF_fill: 填滿目前的向量。

PDF_fill_stroke: 填滿目前的向量並沿向量繪線。

PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線並填滿。

PDF_endpath: 關閉目前向量。

PDF_clip: 組合所有向量。

PDF_setgray_fill: 指定填入的顏色為灰階。

PDF_setgray_stroke: 指定繪圖的顏色為灰階。

PDF_setgray: 指定繪圖的顏色為灰階並填入。

PDF_setrgbcolor_fill: 指定填入的顏色為彩色。

PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。

PDF_setrgbcolor: 指定繪圖的顏色為彩色並填入。

PDF_add_outline: 目前頁面加入書籤。

PDF_set_transition: 配置頁的轉換。

PDF_set_duration: 配置二頁的切換時間。

PDF_open_gif: 打開 GIF 圖檔。

PDF_open_memory_image: 打開內存圖檔。

PDF_open_jpeg: 打開 JPEG 圖檔。

PDF_close_image: 關閉圖檔。

PDF_place_image: 放置圖片到 PDF 檔指定位置。

PDF_put_image: 放置圖片到 PDF 檔。

PDF_execute_image: 放置 PDF 檔中圖片到指定位置。

PDF_add_annotation: 加入注釋。

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

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

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論