In HTML sang PDF

"Tôi đến với Prince sau khi thấy nó được đề xuất tốt trên web và tôi thấy nó rất linh hoạt và mạnh mẽ để tạo các tệp PDF tùy chỉnh phù hợp với thiết kế đồ họa được chỉ định chặt chẽ. Cảm ơn vì đã cung cấp một công cụ tuyệt vời như vậy. "

Jon Sorenson, Kỹ sư phần mềm chính tại InVitae

"Với Prince, tôi đã tạo một tệp XML mẫu và biểu định kiểu in CSS trong vài phút. Với quy trình làm việc khác, tôi phải mất hàng giờ mới bắt đầu được. "

Trong bài viết này, chúng ta sẽ khám phá việc chuyển đổi nội dung HTML cần thiết thành tệp PDF. Nhiều khi chúng ta phải đọc và chấp nhận các Điều khoản & Điều kiện, cách tốt hơn là tải xuống tệp PDF để đọc khi rảnh rỗi và sau đó chấp nhận nó. Do đó, để đạt được điều này, chúng ta có thể tận dụng chuyển đổi nội dung thành tệp PDF

Chúng tôi cũng cần một số nội dung được lưu trữ trong tệp PDF để sử dụng sau này cho các mục đích khác nhau. Việc sử dụng phổ biến nhất bao gồm tải xuống các chương, văn bản, luận án, v.v.

Việc chuyển đổi trên có thể đạt được theo 2 cách -

  • In trang web cụ thể và lưu dưới dạng PDF

  • Sử dụng thư viện jsPDF

Chúng ta sẽ khám phá cả hai cách trong các ví dụ dưới đây

ví dụ 1. In trang web cụ thể và lưu dưới dạng PDF

Trong ví dụ dưới đây, chúng ta sẽ khám phá cách thứ nhất và in trang web cụ thể thành PDF. Điều này tương tự như in mặc định và lưu tệp dưới dạng PDF

Các bước để đạt được điều này như sau -

  • Mở một cửa sổ mới bằng cửa sổ. phương thức mở []

  • Viết InternalHTML cho thẻ div bên trong cửa sổ

  • In và đóng cửa sổ

Thí dụ

#têntệp. mục lục. html



   Generate PDF
   


   

      Click here to Generate PDF      

         

Welcome to Tutorials Point

         
               
  •                

    We are going to generate a pdf from the area inside the box

               
  •            
  •                

    About Company

                   

    Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms. The journey commenced with a single tutorial on HTML in 2006 and elated by the response it generated, we worked our way to adding fresh tutorials to our repository which now proudly flaunts a wealth of tutorials and allied articles on topics ranging from programming languages to web designing to academics and much more.

               
  •          
     

   

   

đầu ra

ví dụ 2. Sử dụng thư viện jsPDF

Một cách khác là sử dụng thư viện PDF được cung cấp bởi JS i. e. thư viện jsPDF. Các bước để sử dụng thư viện này như sau -

  • Bao gồm liên kết CDN tới jsPDF trong thẻ HTML để nhập thư viện

  • Bây giờ chúng ta có thể sử dụng thư viện trên để sử dụng các chức năng của nó. Chúng tôi sẽ sử dụng phương thức fromHTML để tạo PDF từ HTML

    jsPDF có thể sử dụng plugin. Để cho phép nó in HTML, bạn phải bao gồm một số plugin nhất định và do đó phải thực hiện các thao tác sau

    1. Truy cập https. //github. com/MrRio/jsPDF và tải xuống Phiên bản mới nhất
    2. Bao gồm các Tập lệnh sau trong dự án của bạn
      • jspdf. js
      • jspdf. cắm vào. from_html. js
      • jspdf. cắm vào. split_text_to_size. js
      • jspdf. cắm vào. standard_fonts_metrics. js

    Nếu bạn muốn bỏ qua một số phần tử nhất định, bạn phải đánh dấu chúng bằng ID, sau đó bạn có thể bỏ qua ID này trong trình xử lý phần tử đặc biệt của jsPDF. Do đó, HTML của bạn sẽ trông như thế này

    
    
      
        

    don't print this to pdf

    print this to pdf

    Sau đó, bạn sử dụng mã JavaScript sau để mở tệp PDF đã tạo trong Cửa sổ bật lên

    var doc = new jsPDF[];          
    var elementHandler = {
      '#ignorePDF': function [element, renderer] {
        return true;
      }
    };
    var source = window.document.getElementsByTagName["body"][0];
    doc.fromHTML[
        source,
        15,
        15,
        {
          'width': 180,'elementHandlers': elementHandler
        }];
    
    doc.output["dataurlnewwindow"];
    

    Đối với tôi, điều này đã tạo ra một tệp PDF đẹp và gọn gàng chỉ bao gồm dòng 'in tệp này thành pdf'

    Xin lưu ý rằng trình xử lý phần tử đặc biệt chỉ xử lý ID trong phiên bản hiện tại, điều này cũng được nêu trong Vấn đề GitHub. Nó nói

    Bởi vì việc so khớp được thực hiện với mọi phần tử trong cây nút, mong muốn của tôi là làm cho nó nhanh nhất có thể. Trong trường hợp đó, điều đó có nghĩa là "Chỉ các ID phần tử được khớp" Các ID phần tử vẫn được thực hiện theo kiểu jQuery "#id", nhưng điều đó không có nghĩa là tất cả các bộ chọn jQuery đều được hỗ trợ

    Do đó, thay thế '#ignorePDF' bằng bộ chọn lớp như '. bỏ quaPDF' không hoạt động đối với tôi. Thay vào đó, bạn sẽ phải thêm cùng một trình xử lý cho từng và mọi phần tử mà bạn muốn bỏ qua như

    var elementHandler = {
      '#ignoreElement': function [element, renderer] {
        return true;
      },
      '#anotherIdToBeIgnored': function [element, renderer] {
        return true;
      }
    };
    

    Từ các ví dụ, người ta cũng nói rằng có thể chọn các thẻ như 'a' hoặc 'li'. Mặc dù vậy, điều đó có thể là một chút không hạn chế đối với hầu hết các trường hợp sử dụng

    Chúng tôi hỗ trợ các trình xử lý phần tử đặc biệt. Đăng ký chúng với bộ chọn ID kiểu jQuery cho ID hoặc tên nút. ["#iAmID", "div", "span", v.v. ] Không có hỗ trợ cho bất kỳ loại bộ chọn nào khác [loại, hợp chất] tại thời điểm này

    Một điều rất quan trọng cần thêm là bạn mất tất cả thông tin về kiểu dáng [CSS]. May mắn thay, jsPDF có thể định dạng độc đáo h1, h2, h3, v.v. , đó là đủ cho mục đích của tôi. Ngoài ra, nó sẽ chỉ in văn bản trong các nút văn bản, có nghĩa là nó sẽ không in các giá trị của vùng văn bản và những thứ tương tự. Thí dụ

    Bạn có thể in tài liệu HTML không?

    Mở tài liệu trong trình soạn thảo HTML. Trên menu chính, nhấp vào Tệp > Thiết lập in . Hộp thoại Thiết lập In xuất hiện. Chỉ định máy in, thuộc tính máy in, khổ giấy, nguồn giấy và hướng, sau đó nhấp vào OK để chấp nhận hoặc Hủy bỏ để hủy bỏ các thay đổi.

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

    Tạo PDF bằng JavaScript .
    Chỉ định nội dung trong phương thức text[] của đối tượng jsPDF
    Sử dụng phương thức addPage[] để thêm trang mới vào PDF
    Sử dụng phương thức save[] để tạo và tải xuống tệp PDF

    Tại sao các tệp pdf của tôi được lưu dưới dạng HTML chrome?

    Nếu bạn chưa cài đặt bất kỳ trình xem PDF nào, thì bạn có thể chọn Chrome [nếu bạn đã cài đặt nó]. Chrome có trình xem PDF tích hợp và có thể mở các tệp PDF. Khi Chrome được chọn làm trình xem PDF, các tệp PDF sẽ thay đổi thành HTML của Chrome .

Chủ Đề