Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

API Pdfcrowd là một dịch vụ web cho phép bạn dễ dàng lưu các trang web và mã HTML thô thành PDF trong các ứng dụng PHP của mình. Các tệp PDF được tạo trên đám mây, không cần thư viện bên thứ 3. Tất cả những gì bạn cần là thư viện máy khách PHP API nhỏ bé của chúng tôi

Kiểm tra các mẫu sau được tạo bằng API. Nhấp vào hình thu nhỏ để mở tệp PDF

Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

Hóa đơn

Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

Báo cáo

Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

trang Wikipedia

Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

Biểu đồ vectơ JavaScript

Làm cách nào để lưu trang HTML dưới dạng PDF bằng PHP?

bản tin

Ví dụ về mã

Mã này chuyển đổi một trang web và gửi tệp PDF được tạo dưới dạng phản hồi HTTP

require 'pdfcrowd.php';

// create an API client instance
$client = new \Pdfcrowd\HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// convert a web page and store the generated PDF into a variable
$pdf = $client->convertUrl("http://www.example.com");

// set HTTP response headers
header("Content-Type: application/pdf");
header("Cache-Control: max-age=0");
header("Accept-Ranges: none");
header("Content-Disposition: attachment; filename=\"example_com.pdf\"");

// send the generated PDF 
echo $pdf;

Bạn cũng có thể chuyển đổi mã HTML thô, chỉ cần sử dụng phương pháp convertString() thay vì convertUrl()

$pdf = $client->convertString("My HTML Layout");

Hoặc sử dụng convertFile() để chuyển đổi tệp HTML cục bộ

$pdf = $client->convertFile("/path/to/MyLayout.html");

Bạn có biết không

  • PDF hỗ trợ bảo mật và quyền để cho phép người tạo giữ quyền kiểm soát tài liệu và các quyền liên quan
  • PDF duy trì độ trung thực của tài liệu độc lập với thiết bị, nền tảng và phần mềm
  • PDF có thể nhúng các phông chữ đã sử dụng và do đó cho phép các phông chữ di chuyển cùng với tài liệu

Những ngôn ngữ khác

PDF là định dạng tệp do Adobe Systems tạo để minh họa văn bản và hình ảnh trong tài liệu có bố cục cố định. PDF được sử dụng để tải xuống một loạt dữ liệu hoặc nội dung văn bản trong ứng dụng web. Định dạng tệp PDF là sự lựa chọn hoàn hảo để tải nội dung văn bản hoặc HTML trong tệp. Lúc tải nội dung trang web dưới dạng file PDF thì nó yêu cầu chuyển HTML sang PDF. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách chuyển đổi HTML sang PDF và tạo tệp PDF bằng PHP

Dompdf là một thư viện PHP cung cấp một cách đơn giản để chuyển đổi tài liệu HTML sang PDF. Sử dụng thư viện Dompdf, bạn có thể dễ dàng tạo PDF từ trang HTML trong PHP. Mã ví dụ sẽ giúp bạn triển khai chức năng tạo PDF trong ứng dụng web và giúp việc chuyển đổi HTML sang PDF trong PHP bằng Dompdf trở nên đơn giản

Cài đặt và thiết lập Dompdf

Trước khi bắt đầu, hãy tải xuống bản phát hành ổn định của thư viện Dompdf và đưa nó vào thư mục dự án

Lưu ý rằng. Bạn không cần tải xuống riêng thư viện Dompdf, tất cả các tệp cần thiết đều có trong gói mã nguồn của chúng tôi

Khởi tạo lớp Dompdf

Để sử dụng lớp Dompdf, bạn cần đưa trình tải tự động vào tập lệnh PHP. Sử dụng mã PHP sau để khởi tạo và sử dụng lớp dompdf

// Include autoloader
require_once 'dompdf/autoload.inc.php';

// Reference the Dompdf namespace
use Dompdf\Dompdf;

// Instantiate and use the dompdf class
$dompdf = new Dompdf();

Sử dụng cơ bản (Chuyển đổi HTML sang PDF)

Ví dụ sau đây cho thấy cách sử dụng Dompdf để chuyển đổi HTML và tạo PDF với cấu hình tối thiểu

  • Chỉ định nội dung HTML trong phương thức loadHtml() của lớp Dompdf
  • Kết xuất HTML dưới dạng PDF bằng phương thức render()
  • Xuất tệp PDF được tạo ra Trình duyệt bằng phương thức stream()
// Load HTML content
$dompdf->loadHtml('Welcome to CodexWorld.com');

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();

Sử dụng nâng cao

Với thư viện Dompdf, bạn có thể dễ dàng nâng cao chức năng tạo PDF. Đoạn mã sau tạo PDF từ tệp HTML (pdf-content.html)

  • Lấy nội dung từ tệp HTML bằng hàm file_get_contents() trong PHP
  • Tải nội dung HTML bằng phương thức loadHtml() của lớp Dompdf
  • Kiểm soát đầu ra PDF bằng hàm stream() của lớp Dompdf
    • $filename – (chuỗi) Tên của tệp PDF
    • $options – (mảng) Tùy chọn tiêu đề
      • Attachment – 1=tải xuống và 0=xem trước
// Load content from html file
$html = file_get_contents("pdf-content.html");
$dompdf->loadHtml($html);

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF (1 = download and 0 = preview)
$dompdf->stream("codexworld", array("Attachment" => 0));

Phương pháp hữu ích Dompdf

Thư viện Dompdf cung cấp nhiều phương pháp và tùy chọn khác nhau để định cấu hình tạo PDF và tùy chỉnh tài liệu PDF. Dưới đây là một số phương thức hữu ích của lớp Dompdf thường được sử dụng để tích hợp chức năng HTML vào PDF

tảiHtml(). Tải nội dung HTML

  • $str (chuỗi) – Bắt buộc. Chỉ định HTML để tải
  • $encoding (chuỗi) – Tùy chọn. Chỉ định mã hóa

tảiHtmlFile(). Tải nội dung từ tệp HTML

  • $file (chuỗi) – Bắt buộc. Chỉ định tên tệp hoặc url để tải

đầu ra(). Trả về PDF dưới dạng chuỗi

  • $options (mảng) – Tùy chọn. Chỉ định xem tính năng nén luồng nội dung có bật hay không. (nén => 1 hoặc 0)

kết xuất (). Kết xuất HTML thành PDF

setBasePath(). Đặt đường dẫn cơ sở để bao gồm các biểu định kiểu và hình ảnh bên ngoài

  • // Load HTML content
    $dompdf->loadHtml('Welcome to CodexWorld.com');

    // (Optional) Setup the paper size and orientation
    $dompdf->setPaper('A4', 'landscape');

    // Render the HTML as PDF
    $dompdf->render();

    // Output the generated PDF to Browser
    $dompdf->stream();

    1 (chuỗi) – Đường dẫn cơ sở được sử dụng khi tải các URL tài nguyên bên ngoài

setPaper(). Đặt khổ giấy và hướng

  • // Load HTML content
    $dompdf->loadHtml('Welcome to CodexWorld.com');

    // (Optional) Setup the paper size and orientation
    $dompdf->setPaper('A4', 'landscape');

    // Render the HTML as PDF
    $dompdf->render();

    // Output the generated PDF to Browser
    $dompdf->stream();

    2 (chuỗi. mảng) – 'thư', 'pháp lý', 'A4', v.v.
  • // Load HTML content
    $dompdf->loadHtml('Welcome to CodexWorld.com');

    // (Optional) Setup the paper size and orientation
    $dompdf->setPaper('A4', 'landscape');

    // Render the HTML as PDF
    $dompdf->render();

    // Output the generated PDF to Browser
    $dompdf->stream();

    3 (chuỗi) – 'dọc' hoặc 'phong cảnh'

suối(). Truyền tệp PDF tới máy khách

  • $filename (chuỗi) – Chỉ định tên của tệp sẽ được phát trực tuyến (không có. phần mở rộng pdf)
  • $options (mảng) –
    • 'nén' => 1 hoặc 0 – bật tính năng nén luồng nội dung
    • 'Đính kèm' => 1=tải xuống hoặc 0=xem trước

Chuyển đổi HTML sang PDF bằng JavaScript

Phần kết luận

Trong hướng dẫn này, chúng tôi đã cố gắng cung cấp một cách dễ dàng để chuyển đổi HTML sang PDF bằng Dompdf bằng PHP. Mã ví dụ của chúng tôi hiển thị tùy chọn cấu hình được sử dụng nhiều nhất để tạo PDF trong PHP. Bạn có thể dễ dàng mở rộng chức năng bằng các tùy chọn cấu hình Dompdf theo nhu cầu của mình. Để có được tất cả các tệp cần thiết bao gồm cả thư viện Dompdf, hãy tải xuống mã nguồn

Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không?

Làm cách nào để chuyển đổi trang HTML thành PDF trong PHP?

Bạn cũng có thể chuyển đổi mã HTML thô, chỉ cần sử dụng phương thức convertString() thay vì convertUrl(). $pdf = $client->convertString("");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");"); Hoặc sử dụng convertFile() để chuyển đổi cục bộ . $pdf = $client->convertFile("/path/to/MyLayout.

Làm cách nào để in một trang web dưới dạng PDF trong PHP?

php'; . //www. ví dụ. com"); // đặt tiêu đề phản hồi HTTP header("Content-Type. ứng dụng/pdf"); tiêu đề

Làm cách nào tôi có thể lưu trang HTML dưới dạng PDF?

Cách chuyển trang HTML thành tệp PDF. .
Trên máy tính Windows, hãy mở một trang web HTML trong Internet Explorer, Google Chrome hoặc Firefox. .
Nhấp vào nút “Chuyển đổi thành PDF” trên thanh công cụ Adobe PDF để bắt đầu chuyển đổi PDF
Nhập tên tệp và lưu tệp PDF mới của bạn vào vị trí mong muốn

Làm cách nào để lưu tệp PHP dưới dạng PDF?

PHP to PDF .
Mở tệp PHP của bạn bằng ứng dụng tiêu chuẩn trên máy tính của bạn như bình thường
Đi tới Tệp -> In hoặc chỉ cần nhấn. Điều khiển. +P. .
Chọn "Microsoft XPS Document Writer" làm máy in của bạn
Nhấp vào "OK" hoặc "In"
Chọn đích cho tệp XPS của bạn và nhấp vào "Lưu"