Tạo PDF từ HTML trong C#

Trong khi duyệt các trang web khác nhau, bạn có thể muốn tải xuống nội dung HTML của trang web dưới dạng tệp PDF để sử dụng sau này. Trong trường hợp này, bạn cần một trình chuyển đổi tất cả trong một để chuyển đổi chính xác nội dung của bạn từ HTML sang PDF. Là nhà phát triển C#, chúng tôi có thể dễ dàng chuyển đổi nội dung HTML từ tệp HTML sang tài liệu PDF. Chúng tôi cũng có thể tạo tài liệu PDF từ chuỗi HTML hoặc lưu trang web dưới dạng PDF từ URL trực tiếp. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo PDF từ HTML trong C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. C# API để tạo PDF từ HTML
  2. Tạo tài liệu PDF từ HTML
  3. Chuyển đổi HTML sang PDF với Tùy chọn Lưu
  4. Tạo PDF từ chuỗi HTML
  5. Tạo PDF từ URL trực tiếp

C# API để tạo PDF từ HTML

Để tạo tài liệu PDF từ tệp HTML, chúng tôi sẽ sử dụng API Aspose.HTML for .NET. Nó là một API xử lý HTML nâng cao cho phép tạo, sửa đổi và trích xuất dữ liệu từ các tài liệu HTML. Nó cũng cho phép chuyển đổi và hiển thị các tài liệu HTML mà không cần bất kỳ phần mềm bên ngoài nào.

Lớp HTMLDocument của API đại diện cho một tài liệu HTML hoặc trang web mà chúng tôi thấy trong trình duyệt. Lớp PdfSaveOptions cho phép chỉ định các tùy chọn lưu khác nhau trong khi lưu dưới dạng PDF. Chúng tôi có lớp Converter cung cấp nhiều loại chuyển đổi sang các định dạng phổ biến, chẳng hạn như PDF, XPS, định dạng hình ảnh, v.v. Nó cung cấp các phương thức ConvertHTML() để chuyển đổi HTML sang các định dạng khác các định dạng.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Html

Tạo tài liệu PDF từ HTML trong C#

Chúng tôi có thể dễ dàng tạo tài liệu PDF từ tệp HTML bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tải một tài liệu HTML bằng lớp HTMLDocument.
  2. Tiếp theo, tạo một thể hiện của lớp PdfSaveOptions.
  3. Cuối cùng, gọi phương thức Converter.ConvertHTML() để tạo PDF. Nó lấy HTMLDocument, PdfSaveOptions và đường dẫn tệp PDF xuất ra làm đối số.

Mẫu mã sau đây cho thấy cách tạo tài liệu PDF từ tệp HTML bằng C#.

// Ví dụ mã này trình bày cách tạo tài liệu PDF từ tệp HTML.
// Nhập đường dẫn tệp HTML
string documentPath = @"C:\Files\sample.html";

// Đường dẫn tệp PDF đầu ra 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// Tải tệp HTML đầu vào
var document = new HTMLDocument(documentPath);

// Khởi tạo PdfSaveOptions 
var options = new PdfSaveOptions();

// Chuyển đổi HTML sang PDF
Converter.ConvertHTML(document, options, savePath);
Tạo-PDF-Tài liệu-từ-HTML-trong-CSharp

Tạo tài liệu PDF từ HTML trong C#

Chuyển đổi HTML sang PDF với Tùy chọn Lưu trong C#

Chúng tôi có thể tạo tài liệu PDF từ tệp HTML với các tùy chọn lưu bổ sung bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tải một tài liệu HTML bằng lớp HTMLDocument.
  2. Tiếp theo, tạo một thể hiện của lớp PdfSaveOptions.
  3. Sau đó, chỉ định các tùy chọn lưu như HorizontalResolution, VerticalResolution, v.v.
  4. Cuối cùng, gọi phương thức Converter.ConvertHTML() để tạo PDF.

Mẫu mã sau đây cho thấy cách tạo PDF từ tệp HTML với các tùy chọn bổ sung trong C#.

// Ví dụ mã này trình bày cách tạo tài liệu PDF từ tệp HTML với Tùy chọn lưu.
// Nhập đường dẫn tệp HTML
string documentPath = @"C:\Files\sample.html";

// Đường dẫn tệp PDF đầu ra 
string savePath = Path.Combine(@"C:\Files\output.pdf");

// Tải tệp HTML đầu vào
var document = new HTMLDocument(documentPath);

// Khởi tạo PdfSaveOptions. 
// Thiết lập kích thước trang, lề, độ phân giải và thay đổi màu nền thành AliceBlue 
var options = new PdfSaveOptions()
{
    HorizontalResolution = 200,
    VerticalResolution = 200,
    JpegQuality = 100,
    BackgroundColor = Color.AliceBlue
};

options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 300), new Margin(20, 10, 10, 10));

// Chuyển đổi HTML sang PDF
Converter.ConvertHTML(document, options, savePath);

Tạo PDF từ chuỗi HTML trong C#

Chúng tôi cũng có thể tạo tài liệu PDF từ một chuỗi HTML bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp PdfSaveOptions.
  2. Theo tùy chọn, xác định các tùy chọn lưu.
  3. Cuối cùng, gọi phương thức Converter.ConvertHTML() để tạo PDF. Nó lấy chuỗi HTML, PdfSaveOptions và đường dẫn tệp PDF xuất ra làm đối số.

Mẫu mã sau đây cho thấy cách tạo tệp PDF từ chuỗi HTML bằng C#.

// Ví dụ mã này trình bày cách tạo tài liệu PDF từ một chuỗi HTML.
string htmlString = @"<h1>Convert HTML to PDF!</h1><br/><h2>This is Sample Heading!</h2><p>This is first paragraph.</p>";

// Khởi tạo PdfSaveOptions 
var options = new PdfSaveOptions();

// Gọi phương thức ConvertHTML để chuyển đổi mã HTML sang PDF           
Converter.ConvertHTML(htmlString, ".", options, @"C:\Files\HtmlStringToPdf.pdf");
Tạo-PDF-từ-HTML-Chuỗi-trong-CSharp

Tạo PDF từ chuỗi HTML trong C#

Tạo PDF từ URL trực tiếp trong C#

Trong phần trước, chúng ta đã biết cách tạo PDF từ chuỗi HTML. Chúng tôi cũng có thể lưu một trang web từ URL sang tài liệu PDF bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp Url với URL của một trang web.
  2. Tiếp theo, tạo một thể hiện của lớp PdfSaveOptions.
  3. Theo tùy chọn, xác định các tùy chọn lưu.
  4. Cuối cùng, lưu HTML dưới dạng PDF bằng phương thức Converter.ConvertHTML(). Nó lấy Url, PdfSaveOptions và đường dẫn tệp PDF xuất ra làm đối số.

Mẫu mã sau đây cho thấy cách tạo tệp PDF từ URL trực tiếp bằng C#.

// URL
Url url = new Url("https://docs.aspose.com/diagram/net/");

// Khởi tạo PdfSaveOptions 
var options = new PdfSaveOptions();

// Chuyển đổi mã HTML sang PDF
Converter.ConvertHTML(url, options, @"C:\Files\outputFromURL.pdf");

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.HTML for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách:

  • tải tệp HTML theo chương trình;
  • xác định các tùy chọn lưu PDF;
  • lưu chuỗi HTML dưới dạng PDF;
  • lưu một trang web dưới dạng tài liệu PDF;
  • chuyển đổi tệp HTML sang PDF trong C#.

Bên cạnh việc tạo PDF từ HTML trong C#, bạn có thể tìm hiểu thêm về Aspose.HTML for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm