Cách chuyển đổi HTML sang PDF trong PHP bằng fpdf

0 3

Trong bài này tôi sẽ hướng dẫn các bạn cách chuyển đổi html sang pdf bằng php, sau đó xuất file pdf trong php.

Chuyển đổi HTML sang 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ện  mã nguồn mở fpdf và 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 fpdf và đưa nó vào tệp PHP bê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

- Advertisement -

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:

<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>Chuyển HTML sang PDF</title>
</head>
 
<body>
<h2>HChuyển HTML sang PDF.   => <a href="https://vzn.vn/">Trang chủ</a> | <a href="https://vzn.vn">Ví dụ</a></h2>
<div class="container">
      <form class="contact-us form-horizontal" action="actionpdf.php" method="post">
        <legend>Điền vào mẫu sau đó gửi để tạo 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">Gử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 đó.

<?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ý.

$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 đề.

$pdf->SetFont('Arial','B',7);

Chọn phông chữ nhỏ cho nội dung trong bảng

$pdf->WriteHTML2("<br><br><br>$htmlTable");
$pdf->Output();

Viết HTML sang tệp pdf và xuất tệp đó trên trình duyệt web.

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.

  • Bài viết này có hữu ích không?
  •    không
Loading...
Bình luận
Đang tải...