So erstellen Sie eine PDF-Seite in PHP

小云云
Freigeben: 2023-03-22 16:42:01
Original
1729 Leute haben es durchsucht


FPDF steht für „Free PDF“. Die FPDF-Klassenbibliothek bietet grundlegende PDF-Erstellungsfunktionen und ihr Quellcode und ihre Nutzungsrechte sind kostenlos. In diesem Artikel erfahren Sie hauptsächlich, wie Sie PDF-Seiten in PHP erstellen. Ich hoffe, er kann Ihnen helfen.

Vorteile von Dokumenten im PDF-Format

  1. Universell: PDF-Dokumente können sowohl auf UNIX- als auch auf Windows-Systemen normal verwendet werden.

  2. Sicherheit: PDF-Dokumente können in den schreibgeschützten Modus versetzt und Passwörter und andere Schutzmaßnahmen hinzugefügt werden.

  3. Schön: PDF-Dokumente sind weitgehend mit der chinesischen Kodierung kompatibel und behalten das aktuelle Seitenlayout bei.

  4. Exquisit: In den meisten Fällen führt die Generierung von PDF-Dokumenten zu einer Reduzierung der Dateigröße.

Download der FPDF-Klassenbibliothek

  • Download-Adresse der FPDF-Klassenbibliothek: http://www.fpdf.org/

  • Download-Adresse des chinesischen Plug-ins der FPDF-Klassenbibliothek: http://www.fpdf.org/download/chinese.zip

Konfiguration der FPDF-Klassenbibliothek

  1. FPDF-Datei herunterladen.

  2. Extrahieren Sie die heruntergeladene komprimierte Datei in das Stammverzeichnis des Projekts.

  3. Referenzieren Sie die FPDF-Klassenbibliothek im Projekt (Code unten).

<?phpdefine(&#39;FPDF_FONTPATH&#39;,&#39;font/&#39;);require_once(&#39;fpdf/fpdf.php&#39;);?>
Nach dem Login kopieren

Spezifische Operationen der FPDF-Klassenbibliothek

Objekt erstellen

new FPDF([string page-orientation [, string measure-unit [, string page-format]]]);

/*  
    page-orientation:可选参数,表示PDF文档为横向或纵向,默认 P
        取值:P:纵向 L:横向
    measure-unit:可选参数,表示计量单元,默认 mm
        取值:pt:点     mm:毫米       cm:厘米       in:英寸
    page-format:可选参数,纸张类型,默认 A4
        取值: A4、A5、Letter等
*/
Nach dem Login kopieren

Neue Seite hinzufügen

void AddPage([string page-orientation]);/*  
    page-orientation:可选参数,表示PDF文档为横向或纵向,默认 P
        取值:P:纵向 L:横向
*/
Nach dem Login kopieren

Schriftart festlegen

void SetFont(string font [, string style [, float size]]);/*
    font:表示字体;
    style:可选参数,表示样式,默认为普通样式;
        取值:B:粗体     I:斜体        U:下划线
    size:可选参数,表示字体大小,默认为12pt;
*/
Nach dem Login kopieren

Zellen hinzufügen

void Cell(float width, float height, string txt, int border, int ln, string align, boolean fill, string link);/*
    width:增加单元格宽度。
    height:增加单元格高度。
    str:放置在单元格中的文本。
    border:单元格边框。
    ln:换行高度,默认为0,即换一行。
    align:对齐方式,默认居左,R时居右,C时居中。
    fill:是否颜色填充,默认false。
    link:添加链接,默认无链接.

    * Cell()函数是FPDF中输出文字的主要方式之一。
*/
Nach dem Login kopieren

Dokument ausgeben

String Output([string name [, string dest]]);
/*
    name:可选参数,表示要储存的文件名。
    dest:可选参数,操作内容。
        取值:        I:将PDF文档直接在浏览器中显示。        D:下载PDF文档。
        F:保存为本地文件。
        S:返回一个字符串值。
*/
Nach dem Login kopieren

Bild einfügen

void Image(string file, float x, float y float width, float height);/*
    file:图片路径。
    x:图片位置的横坐标。
    y:图片位置的纵坐标。
    width:图片宽度。
    height:图片高度。
*/
Nach dem Login kopieren

Lösen Sie das Problem der verstümmelten chinesischen Sprache Zeichen

  1. Laden Sie die chinesische Plug-in-Datei chinese.php in FPDF herunter und erstellen Sie das PDF_Chinese()-Objekt.

  2. Stellen Sie die Seitenkodierung auf GB2312 ein oder verwenden Sie die Funktion iconv(), um die Zeichenfolgenkodierung zu ändern.

/*示例代码如下*/<?php
    require_once(&#39;fpdf/chinese.php&#39;);    $pdf=new PDF_Chinese(&#39;P&#39;,&#39;mm&#39;,&#39;A4&#39;);    $pdf -> AddGBFont (&#39;GB&#39;,iconv("UTF-8","gbk",&#39;微软雅黑&#39;));  
    $pdf -> AddPage ();  
    $pdf -> SetFont (&#39;GB&#39;, &#39;&#39;, 20);  
    $pdf -> Cell(0,0,iconv("UTF-8","gbk",&#39;你好,世界!&#39;));    $pdf -> Write (5, iconv("UTF-8","gbk",&#39;你好,世界!&#39;));  
    $pdf -> Output();  
?>
Nach dem Login kopieren

Kopf- und Fußzeile festlegen

Kopf- und Fußzeile festlegen, indem die Methoden Header() und Footer() in der FPDF-Klasse überschrieben werden.

<?phprequire_once(&#39;fpdf/chinese.php&#39;);class PDF extends PDF_Chinese{
    function Header(){
        $this->SetFont(&#39;GB&#39;,&#39;&#39;,10);        $this->Write(10,iconv("UTF-8","gbk",&#39;这是页眉!&#39;));        $this->Ln(20);
    }    function Footer(){
        $this->SetY(-15);        $this->SetFont(&#39;GB&#39;,&#39;&#39;,10);        $this->Cell(0,10,iconv("UTF-8","gbk",&#39;这是页脚!&#39;));
    }
}$pdf=new PDF(&#39;P&#39;,&#39;mm&#39;,&#39;A4&#39;);$pdf -> AddGBFont (&#39;GB&#39;,iconv("UTF-8","gbk",&#39;微软雅黑&#39;));  
$pdf -> AddPage ();  
$pdf -> SetFont (&#39;GB&#39;, &#39;&#39;, 20);  
$pdf -> Cell(0,0,iconv("UTF-8","gbk",&#39;你好,世界!&#39;));$pdf -> Write (5, iconv("UTF-8","gbk",&#39;你好,世界!&#39;));  
$pdf -> Output();  
?>
Nach dem Login kopieren

Position eines Elements auf der Seite festlegen/erhalten

void setX(float x);    
//设置某元素在页面的X坐标,单位为mm。如x为负数,则表示自页面右端向左的距离。void setY(float y [, boolean resetX]);    
//设置某元素在页面的Y坐标,单位为mm。如y为负数,则表示自页面底部向上的距离。若可选参数resetX为真则重置X坐标。void setXY(float x, float y);  
  //设置某元素在页面的(X,Y)坐标,规则如上,定位Y时不重置X坐标。float getX();   
   //获得某元素当前X坐标。float getY();    
   //获得某元素当前Y坐标。
Nach dem Login kopieren

Ausgabezeichenfolge

void Write(float h, string txt [, mixed link]);/*
    h:定义字符串的行高。
    txt:指定输出字符串。
    link:可选参数,设置链接。
*/
Nach dem Login kopieren

Zeilenumbruch

void Ln([float h]);//h:设置行高,默认值为最后输出的行的高度。
Nach dem Login kopieren

Textausgabe

void MultiCell(float width, float height, string txt, int border, string align, boolean fill);/*
    width:单元格宽度。
    height:单元格高度。
    txt:放置在单元格中的文本。
    border:单元格边框,默认为0。
    align:对齐方式。默认居左,R=居右,C=居中。
    fill:是否颜色填充。默认false。

    * MultiCell()函数是FPDF输出大段文字的主要方法,可自动换行。
*/
Nach dem Login kopieren

Tabelle zeichnen

Verwenden Sie die Funktion Cell(), um eine Schleife zu erstellen, um Zellen zu erstellen und schließlich eine Tabelle zu bilden.

<?phprequire_once(&#39;fpdf/chinese.php&#39;);$pdf = new PDF_Chinese(&#39;P&#39;,&#39;mm&#39;,&#39;A4&#39;);$pdf -> AddGBFont();$pdf -> AddPage();$pdf -> SetFont(&#39;GB&#39;,&#39;&#39;,14);$header = array(&#39;姓名&#39;,&#39;年龄&#39;,&#39;性别&#39;,&#39;工资&#39;);$data = array();$data[0] = array(&#39;小张&#39;,&#39;24&#39;,&#39;男&#39;,&#39;5,000.00&#39;);$data[1] = array(&#39;小王&#39;,&#39;22&#39;,&#39;女&#39;,&#39;4,000.00&#39;);$width = array(40,40,40,40);for($i=0;$i<count($header);$i++){    $pdf -> Cell($width[$i],6,iconv("UTF-8","gbk",$header[$i]),1);
}$pdf -> Ln();foreach($data as $row){    $pdf -> Cell($width[0],6,iconv("UTF-8","gbk",$row[0]),1);    $pdf -> Cell($width[1],6,iconv("UTF-8","gbk",$row[1]),1);    $pdf -> Cell($width[2],6,iconv("UTF-8","gbk",$row[2]),1);    $pdf -> Cell($width[3],6,iconv("UTF-8","gbk",$row[3]),1);    $pdf -> Ln();
}$pdf -> Output();?>
Nach dem Login kopieren

Hinweise

  • Einige Informationen enthalten die Open()-Methode der FPDF-Klassenbibliothek, sie ist jedoch nicht tatsächlich in der Klassenbibliothek enthalten. Die Verwendung der Methode Open() führt zu einem Fehler.

  • Wenn Sie die FPDF-Klasse zum Generieren von PDF-Dateien verwenden, sollte das Codierungsformat auf GB2312 (oder eine GB-bezogene Codierung) eingestellt werden, andernfalls bleibt dies auch dann der Fall, wenn die Klasse PDF_Chinese geerbt wird verstümmelt.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine PDF-Seite in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!