php实现web打印
PHP 实现 Web 打印的方法
使用 JavaScript 的 window.print() 方法
PHP 可以通过生成包含 JavaScript 代码的 HTML 页面来实现打印功能。在 PHP 中输出 HTML 和 JavaScript,调用浏览器的打印对话框。
<?php
echo '<button onclick="window.print()">打印页面</button>';
?>
生成打印专用的 HTML 页面
创建一个专门用于打印的 PHP 页面,通过 CSS 控制打印样式,隐藏不需要打印的元素。
<?php
echo '<link rel="stylesheet" href="print.css" media="print">';
echo '<div class="print-content">打印内容</div>';
echo '<button onclick="window.print()">打印</button>';
?>
在 print.css 中设置打印样式:

@media print {
.no-print {
display: none;
}
.print-content {
width: 100%;
}
}
使用 TCPDF 或 FPDF 生成 PDF 打印
通过 PHP 库(如 TCPDF 或 FPDF)生成 PDF 文件,用户下载后打印。
<?php
require_once('tcpdf/tcpdf.php');
$pdf = new TCPDF();
$pdf->AddPage();
$pdf->Write(0, '打印内容');
$pdf->Output('document.pdf', 'D'); // D 表示下载
?>
直接打印 HTML 内容
通过 PHP 输出 HTML 内容,并使用 CSS 控制打印布局。

<?php
$content = '<div class="print-area">需要打印的内容</div>';
echo $content;
echo '<script>window.print();</script>';
?>
使用 PHP 打印服务器端数据
从数据库获取数据并生成打印内容。
<?php
$conn = new mysqli('localhost', 'user', 'password', 'database');
$result = $conn->query('SELECT * FROM orders');
echo '<table>';
while ($row = $result->fetch_assoc()) {
echo '<tr><td>' . $row['id'] . '</td><td>' . $row['name'] . '</td></tr>';
}
echo '</table>';
echo '<button onclick="window.print()">打印表格</button>';
?>
打印特定 DIV 内容
通过 JavaScript 仅打印页面中的特定部分。
<?php
echo '<div id="print-section">打印这部分内容</div>';
echo '<button onclick="printDiv(\'print-section\')">打印</button>';
echo '<script>
function printDiv(divId) {
var printContents = document.getElementById(divId).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>';
?>
注意事项
- 打印样式应使用
@media print优化布局。 - 避免打印页面时出现不必要的页眉、页脚,可通过浏览器设置或 CSS 调整。
- 使用 PDF 生成库时,确保服务器支持文件写入和输出。






