Lưu HTML sang PDF JavaScript

Bạn đang loay hoay chỉ để xuất một trang web sang tệp PDF hay bạn chỉ muốn xuất một thứ gì đó từ trang web của mình sang PDF và muốn một giải pháp đơn giản?

Bạn có thể nhận được câu trả lời của bạn ở đây

Có hai cách để xuất một trang web sang PDF

  • Tạo tệp PDF phía máy chủ
  • Tạo tệp PDF phía máy khách (trình duyệt)

Phương pháp PDF phía máy chủ khá tốn kém và phức tạp. Giải pháp dễ dàng hơn liên quan đến việc xuất một trang web ở phía máy khách

Trước tiên, hãy hiểu những lợi ích ở đâyL

  • Tất cả quá trình tính toán để tạo tệp PDF sẽ diễn ra trên máy khách — điều này có thể nhanh hơn việc gửi đến máy chủ và tạo ở đó
  • Giải pháp tuyệt vời để xử lý các trang web tĩnh
  • Đơn giản để thực hiện cho các yêu cầu cơ bản

Hãy bắt đầu nào

Tạo PDF phía máy khách là tất cả về các lệnh gọi API của trình duyệt, mà JavaScript và các thư viện liên quan của nó sử dụng để hoàn thành công việc. Có nhiều thư viện JavaScript mà chúng ta có thể sử dụng ở đây, bao gồm

  • jsPDF
  • html2pdf
  • pdfmake
  • PDFsKit
  • thư giãn
  • nốt sần
  • điện tử
  • PDFObject
  • pdf2json

Ở đây, chúng tôi sẽ sử dụng jsPDF và html2pdf





Đầu tiên tích hợp kiểu tệp biểu định kiểu. css, nơi bạn muốn một số chỉnh sửa giao diện trong CSS, sau đó tôi đã thêm gói CSS Bootstrap và CDN của thư viện Bootstrap JS, chỉ để tạo trang web tốt hơn

Ghi chú. Việc sử dụng Bootstrap hoàn toàn là tùy chọn

Dòng 12 và 13 rất quan trọng, ở đây chúng tôi đang tích hợp CDN của thư viện jsPDF và html2pdf

Dòng 40–82. Div(Nội dung) sẽ được xuất

Trong mã của chúng tôi, từ dòng 40–82 là mã phần tử

, nơi chúng tôi phải thiết kế phần tử trung tâm có viền màu xám phải được xuất sang pdf. bạn có thể mã hóa bất cứ thứ gì trong div này nhưng phần quan trọng nhất là div ID hoặc tôi muốn nói là ID phần tử, đây sẽ là tham chiếu đến mã tạo PDF cho thư viện html2pdf

Dòng 44. Nút xuất sang PDF

Kiểm tra dòng 44 này, tôi biết một nút HTML đơn giản với một số lớp Bootstrap trên đó, nhưng quan trọng hơn là chức năng mà chúng ta đang gọi ở đây, có tham số onclick=”generatePDF()”. chúng tôi đang gọi một hàm JavaScript ở đây trong sự kiện nhấp chuột của nút này. Hàm generatePDF() là mấu chốt của blog này và là cốt lõi của ví dụ của chúng tôi, hãy kiểm tra mã

Dòng 86–104. hàm tạoPDF()

Hình ảnh trên đang giải thích mọi thứ, tôi sẽ giải thích lệnh gọi hàm html2pdf() và biến

.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
0

Biến

.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
1 chứa tất cả các giá trị đang xác định cấu hình của tệp pdf. Lề, tất nhiên, lề trang chúng ta cần trên mỗi trang PDF, tên tệp là tên của tệp PDF đã xuất. Hình ảnh là một tham số quan trọng của đối tượng
.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
1

Thư viện html2pdf sử dụng thư viện html2canvas để vẽ hình ảnh trên trang web dưới dạng ảnh chụp màn hình trên trang pdf. Điều quan trọng cần lưu ý ở đây là bạn chỉ có thể xuất hình ảnh “jpeg”, “png” và “webp”(chrome), kiểm tra tại đây

Đối tượng html2canvas được truyền với tham số tỷ lệ, tạo PDF dựa trên tỷ lệ pixel của thiết bị trình duyệt. Kiểm tra các tham số ở đây chúng ta có thể truyền vào đối tượng này

Đối tượng jsPDF, ở đây chúng tôi đang chuyển các kích thước của trang PDF, định dạng của trang, độ chính xác và các đơn vị đo lường, như “mm”, “in” hoặc “px”. Đối tượng này sẽ được chuyển đến thư viện jsPDF để thiết lập trang pdf. kiểm tra danh sách đầy đủ các tham số tại đây

Một cuộc gọi cuối cùng đến chức năng html2pdf(). Ở đây, chúng tôi phải gọi nhiều hàm thư viện worker API) để đạt được mục tiêu của mình. Dòng chảy về cơ bản diễn ra như thế này

.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()

Chúng ta phải gọi tất cả các chức năng theo thứ tự này. Nếu bạn muốn cài đặt trang của pdf, hãy gọi hàm

.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
0 trên hàm
.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
1 và chuyển đối tượng opt và cuối cùng chúng ta phải gọi hàm
.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
2 để lưu tệp pdf của mình

Trong chức năng generatePDF() của chúng tôi, dòng 102 có thể đơn giản là

.from() -> .toContainer() -> .toCanvas() -> .toImg() -> .toPdf() -> .save()
4, sau đó nó sẽ đặt tất cả các cài đặt trang thành mặc định cho pdf, bố cục mặc định là tỷ lệ dọc là một, lề là 1 và phần tử sẽ được căn trái

Tôi hy vọng bạn đã tìm thấy điều này hữu ích. Hãy cho tôi biết trong các nhận xét và thoải mái đặt câu hỏi

Xây dựng các ứng dụng web có thể kết hợp

Đừng xây dựng web nguyên khối. Sử dụng Bit để tạo và soạn các thành phần phần mềm tách rời — trong các khung yêu thích của bạn như React hoặc Node. Xây dựng giao diện người dùng và phụ trợ có thể mở rộng với trải nghiệm nhà phát triển mạnh mẽ và thú vị

Đưa nhóm của bạn đến Bit Cloud để lưu trữ và cộng tác trên các thành phần cùng nhau, đồng thời tăng tốc, mở rộng quy mô và chuẩn hóa đáng kể quá trình phát triển theo nhóm. Bắt đầu với các giao diện người dùng có thể kết hợp như Hệ thống thiết kế hoặc Giao diện vi mô hoặc khám phá phần phụ trợ có thể kết hợp. Hãy thử nó →

Làm cách nào để chuyển đổi HTML CSS sang PDF bằng JavaScript?

Các bước để xuất HTML sang pdf javascript. Trước tiên, bạn cần phải thêm thư viện bằng CDN (http. // kiếm đạo. cdn. điện thoại. com/2017. 2. 621/js/kiếm đạo. tất cả các. tối thiểu. js ) trong tệp HTML của bạn. Thứ hai, bạn sẽ cần đặt bất kỳ nội dung nào trên trang web của mình bằng HTML/CSS mà bạn muốn xuất sang tài liệu Pdf.

Làm cách nào để tạo PDF bằng JavaScript?

Để có thể chuyển đổi trang web của bạn sang pdf, chúng tôi cần. .
nhập thư viện JavaScript bằng cách cài đặt nó cục bộ trong máy chủ của bạn bằng NPM hoặc bằng cách đưa nó vào mã HTML của bạn như ví dụ sau
Thêm hàm generatePDF sẽ chuyển đổi phần đã duyệt trên trang web của bạn thành pdf bằng cách gọi tài liệu

Làm cách nào để xuất nội dung div sang PDF bằng JavaScript?

var doc = jsPDF mới();
hàm saveDiv(divId, title) {
doc. fromHTML(`${title}` + document. getElementById(divId). innerHTML + ``);.
tài liệu. lưu ('div. pdf');
hàm printDiv(divId,
chức vụ) {

Làm cách nào để chuyển đổi HTML sang PDF bằng jsPDF?

Xuất trang web html sang pdf bằng jspdf .
Sử dụng jsPDF trong các mẫu Django để xuất dưới dạng PDF. .
Ví dụ để chạy tập lệnh từ bộ nhớ cục bộ
Trong phần ĐẦU. .
Trong phần CƠ THỂ. .
Hãy bắt đầu với một số khái niệm cơ bản về jsPDF để có ý tưởng sử dụng nó trong các ứng dụng của chúng ta. .
Bây giờ là lúc để làm việc với văn bản