Html2pdf java
Dự án này dựa trên wkhtmltopdf, giúp chuyển đổi tài liệu HTML thành PDF. Truy cập vào wkhtmltopdf được thực hiện thông qua JNA, được hiển thị thông qua một lớp thân thiện với Java Show Hiểu rồilớp compile 'io.woo:htmltopdf:1.0.8' maven <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency> Bắt đầuCác ví dụ sau đây đủ để giúp bạn bắt đầu, tuy nhiên, có thể khám phá thêm nhiều tùy chọn khác bằng cách xem xét các phương pháp của <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>23 và <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>24 Lưu HTML dưới dạng tệp PDFboolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml(" Lưu trang web từ URL dưới dạng tệp PDFboolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf"); Lưu nhiều đối tượng dưới dạng tệp PDFboolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .object(HtmlToPdfObject.forHtml(" Chuyển đổi sang InputStream (thay vì lưu dưới dạng tệp)Việc chuyển đổi thành InputStream sẽ hữu ích nếu bạn định trả lại tài liệu PDF kết quả dưới dạng phản hồi HTTP hoặc thêm nó dưới dạng tệp đính kèm email HtmlToPdf htmlToPdf = HtmlToPdf.create() // ... .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")); try (InputStream in = htmlToPdf.convert()) { // "in" has PDF bytes loaded } catch (HtmlToPdfException e) { // HtmlToPdfException is a RuntimeException, thus you are not required to // catch it in this scope. It is thrown when the conversion fails // for any reason. } hạn chế đồng thờiMặc dù thư viện an toàn theo luồng, rất tiếc, nó không thể thực hiện chuyển đổi đồng thời. Vì wkhtmltopdf sử dụng Qt phía sau hậu trường để hiển thị trang web, nên có một chuỗi duy nhất thực hiện hiển thị như vậy trên một quy trình duy nhất. Do đó, tại thời điểm này, chỉ có thể thực hiện một chuyển đổi cùng một lúc cho mỗi quy trình Xử lý sự cốThiếu phụ thuộc bản địaNếu bạn nhận được ngoại lệ sau
Sau đó, điều đó có thể có nghĩa là một trong những phụ thuộc riêng của wkhtmltopdf không được đáp ứng. Có thể đáng để kiểm tra xem các gói sau đã được cài đặt chưa Trong chương này, chúng ta sẽ chuyển đổi một tệp HTML đơn giản sang tài liệu PDF theo nhiều cách khác nhau. Nội dung của tệp HTML sẽ bao gồm tiêu đề "Test", đoạn "Xin chào thế giới" và hình ảnh đại diện cho logo iText Cấu trúc của các ví dụTất cả các ví dụ xuyên suốt cuốn sách này sẽ có cấu trúc tương tự nhau. ĐẦU VÀO Đối với đầu vào, chúng tôi sẽ cung cấp cú pháp HTML. Trong hướng dẫn này, chúng ta sẽ sử dụng HTML 6, đường dẫn đến tệp HTML hoặc – trong chương 4 – đường dẫn đến tệp XML cùng với đường dẫn đến tệp XSLT để chuyển đổi XML sang HTMLTrong ví dụ đầu tiên, C01E01_HelloWorld. java, HTML được cung cấp dưới dạng 6public String HTML = " Trong các ví dụ khác, chẳng hạn như C01E03_HelloWorld. java, chúng ta sẽ sử dụng hai hằng số
Ví dụ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>2____7 ĐẦU RA Chúng tôi sẽ sử dụng một cấu trúc tương tự cho đầu ra
Ví dụ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>4 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>7 PHƯƠNG PHÁP CHÍNH Phương pháp chính của tất cả các ví dụ trong cuốn sách này sẽ không khác nhiều so với phương pháp của ví dụ đầu tiên của chúng tôi <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>8 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>9 Trước tiên, chúng tôi tải tệp giấy phép iText. Đây là một tệp XML chứa khóa cấp phép để sử dụng iText. Bạn có thể không cần mã cấp phép này nếu bạn đang sử dụng iText và pdfHTML trong ngữ cảnh của dự án AGPL. Tuy nhiên, bạn sẽ cần tiện ích bổ sung pdfCalligraph cho các ví dụ quốc tế hóa trong chương 6 và tiện ích bổ sung pdfCalligraph không có sẵn theo AGPL; Khóa cấp phép mà chúng tôi đang sử dụng trong các ví dụ của cuốn sách này tương tự như khóa bạn sẽ nhận được nếu mua giấy phép thương mại để sử dụng iText 7, pdfHTML và pdfCalligraph trong ngữ cảnh nguồn đóng Sau đó, chúng tôi tạo thư mục đích trong trường hợp nó chưa tồn tại, tiếp theo là phương pháp <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>42/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>43. Chúng ta có thể thực hiện phương pháp này theo nhiều cách khác nhau Chuyển đổi HTML sang PDFViệc triển khai phương thức <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>42/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>43 của C01E01_HelloWorld. ví dụ java rất đơn giản. Cơ thể của nó bao gồm một dòng duy nhất boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("4 boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("5 Đối tượng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>46 có nhiều lựa chọn phương thức <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>47/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>48 tĩnh khác nhau lấy các tham số khác nhau tùy thuộc vào trường hợp sử dụng. Trong ví dụ đầu tiên, tham số đầu tiên <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>49 là 6 có giá trị như sauboolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf");1____120 Hình 1. 1. chuyển đổi một đoạn mã HTML thành PDF Hãy giới thiệu một hình ảnh và sử dụng những điều sau đây 6<dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>21 Đoạn mã HTML này chứa liên kết tương đối đến tệp hình ảnh <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>72 trong thư mục con có tên <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>73. iText không thể đoán được nơi tìm thư mục con này, do đó chúng tôi sẽ định cấu hình URI cơ sở cho quá trình chuyển đổi Việc này được thực hiện bằng cách sử dụng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>74 (Java/. NET), như được minh họa trong phương thức <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>42/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>43 của C01E02_HelloWorld. ví dụ java <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>22 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>23 Chúng tôi tạo một <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>74 (Java/. NET) và chúng tôi đặt URI cơ sở thành thư mục mẹ của thư mục <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>73 nơi iText có thể tìm thấy tệp <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>72 Hình 1. 2 hiển thị kết quả Hình 1. 2. chuyển đổi đoạn mã HTML có chứa tham chiếu đến hình ảnh Trong hầu hết các ví dụ tiếp theo, chúng tôi sẽ không sử dụng HTML được lưu trữ trong một 6. Thay vào đó, chúng tôi sẽ chuyển đổi tệp HTML trên đĩa thành tệp trên đĩaĐối với các ví dụ còn lại trong chương này, chúng tôi sẽ sử dụng tệp có tên <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>81 được hiển thị trong hình 1. 3 Hình 1. 3. xin chào. html được hiển thị trong trình duyệt cũng như trong trình soạn thảo văn bản Có nhiều cách khác nhau để chuyển đổi tệp này thành tài liệu PDF Trong C01E03_HelloWorld. ví dụ java, chúng tôi sử dụng các đối tượng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>82 / <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>83 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>24 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>25 Tham số đầu tiên của phương pháp <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>47/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>48 đề cập đến tệp HTML nguồn, tham số thứ hai cho tệp PDF đích. Trong trường hợp này, chúng tôi không cần đặt bất kỳ thuộc tính chuyển đổi nào. Theo mặc định, iText sẽ sử dụng thư mục mẹ của tệp này làm URI cơ sở Điều này không hoạt động đối với C01E04_HelloWorld. java ví dụ nơi chúng tôi sử dụng các đối tượng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>86/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>87 và <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>88/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>87 thay vì các đối tượng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>82/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>83 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>26 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>27 Bạn không thể truy xuất cấp độ gốc ở đây, do đó, chúng tôi cần chuyển URI cơ sở tới trình chuyển đổi bằng cách sử dụng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>74 (Java/. NET) ví dụ. Các tệp PDF kết quả của ví dụ thứ ba và thứ tư này trông giống hệt với tệp PDF kết quả của ví dụ thứ hai được hiển thị trong hình 1. 2. Bản PDF kết quả của ví dụ thứ năm, C01E05_HelloWorld cũng vậy. java <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>28 <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>29 Trong trường hợp này, chúng tôi sử dụng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>93 (Java/. NET) thay vì một phiên bản <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>88/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>87. Sử dụng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>93 (Java/. NET) có thể hữu ích nếu bạn muốn đặt một số thuộc tính trình ghi Để biết thêm thông tin về thuộc tính của người viết, vui lòng đọc Chương 7 của iText 7. Khối xây dựng Hướng dẫn Java, có tiêu đề "Xử lý sự kiện; đặt tùy chọn trình xem và thuộc tính máy in. " Trong ví dụ này, chúng tôi tạo tệp PDF ở chế độ nén hoàn toàn. Đối với mắt người, tệp PDF thu được trông giống hệt nhau, nhưng khi bạn so sánh kích thước tệp của tệp PDF được tạo trong ví dụ 4 với kích thước tệp của tệp PDF được tạo trong ví dụ này, bạn sẽ thấy rằng việc nén hoàn toàn đã chiếm được một số byte Hình 1. 4 hiển thị 3.430 byte khi sử dụng tính năng nén như đã thực hiện trong PDF 1. 0 to PDF 1. 4; . 5. Sự khác biệt đó có vẻ nhỏ, nhưng tệp PDF của bạn càng có nhiều đối tượng thì việc sử dụng tính năng nén hoàn toàn càng có ý nghĩa Hình 1. 4. so sánh kích thước tập tin Trong C01E06_HelloWorld. java, chúng tôi đã thay thế <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>93 (Java/. NET) với tham số <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>98 (Java/. NET) tham số 0 1Sử dụng <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>98 (Java/. NET) sẽ hợp lý nếu bạn muốn định cấu hình một tính năng tại <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>98 (Java/. NET) cấp độ. Trong trường hợp này, chúng tôi giới thiệu dòng boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("41/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("42, hướng dẫn iText tạo PDF được gắn thẻ Hình 1. 5 hiển thị tệp PDF kết quả với bảng Thẻ được mở Hình 1. 5. tạo PDF được gắn thẻ Nhìn vào bảng Tags, bạn có thể thấy cấu trúc của nội dung. Khi di chuột qua hình ảnh, bạn sẽ thấy giá trị của thuộc tính boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("43 của thẻ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("44 dưới dạng chú giải công cụ Để biết thêm thông tin về PDF được gắn thẻ, vui lòng đọc Chương 7 của iText 7. Hướng dẫn Khởi động, có tựa đề "Tạo tài liệu PDF/UA và PDF/A. " Chúng ta sẽ tìm hiểu sâu hơn về PDF được gắn thẻ và làm cho các tệp PDF "có thể truy cập được" trong chương 3 Chuyển đổi HTML thành các đối tượng iTextCác phương thức <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>47/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>48 tạo một tệp PDF hoàn chỉnh. Bất kỳ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>82, <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>83, boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("49, <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>93(Java/. NET) hoặc <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>98 (Java/. NET) được chuyển đến phương thức <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>47/_______148 bị đóng sau khi đầu vào được phân tích cú pháp và chuyển đổi thành PDF. Điều này có thể không phải luôn luôn là những gì bạn muốn Trong một số trường hợp, bạn muốn thêm một số thông tin bổ sung vào boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("54(Java/. NET) hoặc có thể bạn không muốn chuyển đổi HTML thành tệp PDF mà thành một loạt đối tượng iText mà bạn có thể sử dụng cho mục đích khác. Đó là nội dung của các phương thức boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("55/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("56 và boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("57/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("58 Trong C01E07_HelloWorld. java, chúng tôi chuyển HTML Hello World của mình thành boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("54 (Java/. NET) vì chúng tôi muốn thêm một số nội dung bổ sung sau khi chúng tôi đã hoàn tất việc phân tích cú pháp HTML 2____73Phương thức boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("55/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("56 trả về một iText boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("54 (Java/. NET) ví dụ. Chúng tôi sử dụng cái này boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("54 (Java/. NET) để thêm một số nội dung bổ sung ( boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf");14) sau khi HTML đã được phân tích cú pháp Hình 1. 6. sử dụng phương thức convertToDocument() Phần trên của nội dung trong hình 1. 6 đã được thêm vào bằng cách phân tích cú pháp HTML thành PDF; . " ở cuối– được thêm vào bằng cách sử dụng hướng dẫn boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf");15/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf");16 Trong C01E08_HelloWorld. java, chúng tôi sử dụng phương thức boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("57/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("58 . Phương thức này tạo ra boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forUrl("https://github.com/wooio/htmltopdf-java")) .convert("/path/to/file.pdf");19 trong số <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>200 đối tượng. Giao diện <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>200 được triển khai bởi tất cả các khối xây dựng iText Để biết thêm thông tin về các nền tảng của iText, vui lòng đọc iText 7. Hướng dẫn khối xây dựng Ví dụ cuối cùng của chương 1 này thêm mọi đối tượng cấp cao nhất của bộ sưu tập <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>202/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>203 vào một boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("54(Java/. NET), trước một <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>205 hiển thị tên của đối tượng đó 4 5Nhìn vào hình 1. 7, chúng ta thấy rằng danh sách bao gồm ba yếu tố. một <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>206 và hai <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>205 (Java/. NET) đối tượng Hình 1. 7. thêm từng phần tử một Tiêu đề được coi là ____1206, trong khi hình ảnh biểu trưng được bao bọc bên trong _____1205(Java/. MẠNG LƯỚI). Đừng lo lắng về điều này; . Kết quả cuối cùng mới quan trọng Bản tóm tắtTrong chương này, chúng tôi đã lấy một tệp HTML rất đơn giản và chúng tôi đã chuyển đổi tệp đó thành PDF bằng cách triển khai các phương pháp chuyển đổi khác nhau <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>47/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>48, boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("55/ <dependency> <groupId>io.woogroupId> <artifactId>htmltopdfartifactId> <version>1.0.8version> <scope>compilescope> dependency>213 and boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("57/ boolean success = HtmlToPdf.create() .object(HtmlToPdfObject.forHtml("58 . When you consult the API documentation for the HtmlConverter class ( Java / . NET ), bạn sẽ khám phá thêm một số biến thể của các phương thức đó. Trong chương tiếp theo, chúng ta sẽ chọn một trong các phương pháp đó để chuyển đổi các tệp HTML khác nhau. Mỗi tệp HTML này sẽ sử dụng CSS theo một cách khác nhau. |