Chuyển đổiHTMLsang PDF luôn là vấn đề đối với các lập trình viên PHP và trong suốt thời gian họ tìm kiếm các giải pháp phù hợp, vì vậy sau khi xem bài viết này, bạn sẽ không mất hơn 10 phút để định cấu hình HTML thành PDF, tôi đã sử dụng một thư việnmã nguồn mởfpdfvà rất hữu ích thư viện dành cho nhà phát triển ở đây là một hướng dẫn đơn giản về cách chuyển đổi Cách chuyển đổi HTML sang PDF bằng fpdf.
Bạn phải tải xuống thư viện fpdfvà đưa nó vàotệpPHPbên dưới các cài đặt và cách hiển thị thẻ, phông chữ và hình ảnh trong tệp pdf của bạn.Với thư viện fpdf, chúng tôi đã sử dụng thư viện HTMLparser do các lập trình viên đóng góp và tất cả các thư viện khác có sẵnở đây,bạn có thể tải xuống và sử dụng theo yêu cầu của mình.
index.html
Trong tệp này, tôi đã tạo một dữ liệu mẫu liên hệ đơn giản khi gửi nó cho thấy dữ liệu đã gửi ở định dạng PDF:
Ví dụ
<head>
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<title>Đổi HTML sang PDF</title>
</head>
<body>
<h2>Đổi HTML sang PDF. => <a href="https://vzn.vn/">Trang web</a> | <a href="https://vzn.vn">VZN.vn</a></h2>
<div class="container">
<form class="contact-us form-horizontal" action="actionpdf.php" method="post">
<legend>Nhập dữ liệu in chuyển ra PDF</legend>
<div class="control-group">
<label class="control-label">Tên</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-user"></i></span>
<input type="text" class="input-xlarge" name="name" placeholder="Tên">
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Email</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-envelope"></i></span>
<input type="text" class="input-xlarge" name="email" placeholder="Email">
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Url</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-globe"></i></span>
<input type="text" id="url" class="input-xlarge" name="url" placeholder="https://thuexehagiang.com">
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">Nội dung</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-pencil"></i></span>
<textarea name="comment" class="span4" rows="4" cols="80" placeholder="Nội dung (Tối đa 200 ký tự)"></textarea>
</div>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">Đổi</button>
<button type="button" class="btn">Hủy</button>
</div>
</div>
</form>
</div>
</body>
</html>
Actionpdf.php
Tệp này chứa mã PHP để tạo tệp pdf và hiển thị dữ liệu đã gửi của bạn trên tệp đó.
Ví dụ
<?php
require('WriteHTML.php');
$pdf=new PDF_HTML();
$pdf->AliasNbPages();
$pdf->SetAutoPageBreak(true, 15);
$pdf->AddPage();
$pdf->Image('logo.png',18,13,33);
$pdf->SetFont('Arial','B',14);
$pdf->WriteHTML('<para><h1>Chuyển đổi HTML sang PDF</h1><br>
Website: <u>www.vzn.vn</u></para><br><br>Chuyển HTML sang PDF bằng fpdf');
$pdf->SetFont('Arial','B',7);
$htmlTable='<TABLE>
<TR>
<TD>Tên:</TD>
<TD>'.$_POST['name'].'</TD>
</TR>
<TR>
<TD>Email:</TD>
<TD>'.$_POST['email'].'</TD>
</TR>
<TR>
<TD>URl:</TD>
<TD>'.$_POST['url'].'</TD>
</TR>
<TR>
<TD>Nội dung:</TD>
<TD>'.$_POST['comment'].'</TD>
</TR>
</TABLE>';
$pdf->WriteHTML2("<br><br><br>$htmlTable");
$pdf->SetFont('Arial','B',6);
$pdf->Output();
?>
Trong tệp này, tôi thêm trang và trang tự động ngắt đúng nếu nội dung của bạn tăng diện tích trang đơn thì nó sẽ tự động thêm trang thứ 2 và xử lý.
Ví dụ
$pdf->Image('logo.png',18,13,33);
$pdf->SetFont('Arial','B',14);
Những dòng này được sử dụng để thêm logo và chọn kích thước phông chữ cho tiêu đề.
Chọn phông chữ nhỏ cho nội dung trong bảng
Ví dụ
$pdf->SetFont('Arial','B',7);
//Font chữ cho toàn nội dung trong bản PDF
Viết HTML sang tệp pdf và xuất tệp đó trên trình duyệt web.
Ví dụ
$pdf->WriteHTML2("<br><br><br>$htmlTable");
$pdf->Output();
Trợ giúp
Nếu bạn cần bất kỳ trợ giúp nào về cấu hình của fpdf, vui lòng bình luận bên dưới, tôi sẽ xử lý giúp bạn.