Home  >  Article  >  Backend Development  >  How to use PHP to implement website printing and PDF generation functions

How to use PHP to implement website printing and PDF generation functions

WBOY
WBOYOriginal
2023-09-05 15:21:341704browse

如何使用 PHP 实现网站打印和生成 PDF 功能

How to use PHP to implement website printing and PDF generation functions

With the rapid development of the Internet, more and more websites need to provide printing and PDF generation functions. In PHP, we can achieve these functions by using some third-party libraries. This article will introduce how to use PHP to implement website printing and PDF generation functions, and provide corresponding code examples.

1. Printing web pages

Printing web pages refers to printing out the content of web pages directly for users to use offline. To achieve this functionality, we can use a combination of PHP and JavaScript.

First, add the following code to the head tag of HTML to introduce the print style:

<style type="text/css" media="print">
    /* 定义打印样式 */
    /* 在这里设置你想要的打印样式 */
</style>

Next, add the following code to the page where you need to add the print button:

<button onClick="window.print()">打印</button>

In this way, when the user clicks the print button, the page content will be presented in print style, and the browser's print dialog box will pop up, and the user can select a printer to print.

2. Generate PDF

Generating PDF refers to converting web content into PDF format to facilitate users to save and share. In order to achieve this function, we can use the third-party library TCPDF.

First, download TCPDF and extract it into the project directory. Then, create a PHP file (for example: create_pdf.php) and enter the following code:

<?php
require_once('tcpdf/tcpdf.php');

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

// 设置 PDF 文档的属性
$pdf->SetCreator('Your Name');
$pdf->SetAuthor('Your Name');
$pdf->SetTitle('Your Title');

$pdf->AddPage();

// 在这里添加要生成 PDF 的内容
$pdf->writeHTML('<h1>这是一个 PDF 示例</h1>', true, false, true, false, '');


$pdf->Output('example_pdf.pdf', 'D');
?>

In this code, first introduce the TCPDF class file. Then create an instance of TCPDF and set the properties of PDF. Next, add a PDF page via the AddPage() method. After this method, you can use the writeHTML() method to add HTML content to the PDF page.

Finally, use the Output() method to output the generated PDF file to the user, who can choose to download or open it in a browser.

3. Convert web page content to PDF

Sometimes, we want to convert web page content to PDF format instead of just generating PDF from HTML content. In order to achieve this function, we can use the third-party library Dompdf.

First, download Dompdf and extract it into the project directory. Then, create a PHP file (for example: convert_to_pdf.php) and enter the following code:

<?php
require_once("dompdf/autoload.inc.php");

use DompdfDompdf;

$dompdf = new Dompdf();

$html = file_get_contents("your_html_file.html");

$dompdf->loadHtml($html);

$dompdf->setPaper('A4', 'landscape');

$dompdf->render();

$dompdf->stream("your_pdf_file.pdf");
?>

In this code, first introduce the Dompdf class file. Then create an instance of Dompdf. Next, load the HTML content of the web page using the loadHtml() method.

Then, you can use the setPaper() method to set the paper size and orientation of the PDF. After this method, call the render() method to render the web content into PDF.

Finally, use the stream() method to output the generated PDF file to the user, who can choose to download or open it in a browser.

Using these methods, we can easily and quickly implement the printing and PDF generation functions of the website. I hope the content of this article can be helpful to everyone.

The above is the detailed content of How to use PHP to implement website printing and PDF generation functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn