Chuyển đổi PDF sang hình ảnh bằng C#

Bạn có thể cần chia sẻ các trang tài liệu PDF dưới dạng tệp hình ảnh với người khác. Là nhà phát triển C#, bạn có thể dễ dàng chuyển đổi tệp PDF thành PNG, JPG, TIFF hoặc BMP theo chương trình trong các ứng dụng .NET của mình. Trong bài viết này, bạn sẽ tìm hiểu cách chuyển đổi PDF sang Hình ảnh bằng C#.

Các chủ đề sau được thảo luận/đề cập trong bài viết này:

API C# chuyển đổi PDF sang hình ảnh

Để chuyển đổi PDF thành hình ảnh, tôi sẽ sử dụng Aspose.PDF for .NET API. Đây là API quản lý tệp PDF mạnh mẽ cho phép bạn thao tác các tài liệu PDF từ bên trong các ứng dụng .NET của mình. Nó cho phép bạn tạo, sửa đổi, chuyển đổi, kết xuất, bảo mật và in tài liệu mà không cần sử dụng Adobe Acrobat.

Bạn có thể tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

Install-Package Aspose.Pdf

C# Chuyển đổi hình ảnh PDF sang PNG - Chỉ cần vài bước

Bạn có thể chuyển đổi tệp PDF thành hình ảnh PNG theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một phiên bản của lớp Document với đường dẫn tệp PDF đầu vào.
  2. Lặp lại tất cả các trang của tệp PDF bằng bộ sưu tập Document.Pages và thực hiện như sau: 2.1. Tạo một phiên bản của lớp Độ phân giải và đặt giá trị của nó. 2.2. Tạo một phiên bản của lớp PngDevice và truyền đối tượng Chiều rộng, Chiều cao và Độ phân giải. 2.3. Gọi phương thức Process(Page, String) với số trang và đường dẫn hình ảnh PNG đầu ra để chuyển đổi trang thành PNG.

Mẫu mã sau đây cho biết cách chuyển đổi trang PDF thành hình ảnh PNG bằng C#.

// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Xác định độ phân giải
    Resolution resolution = new Resolution(300);

    // Tạo thiết bị PNG với các thuộc tính được chỉ định
    // Chiều rộng, chiều cao, độ phân giải
    PngDevice PngDevice = new PngDevice(500, 700, resolution);

    // Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
    PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}
Chuyển đổi hình ảnh PDF sang PNG bằng C#

Chuyển đổi hình ảnh PDF sang PNG bằng C#

Lớp Document đại diện cho tài liệu PDF. Nó cung cấp một số thuộc tính và phương thức để thực hiện các chức năng khác nhau. Bộ sưu tập Document.Pages là tập hợp các trang tài liệu và việc đánh số trang bắt đầu từ 1 trong bộ sưu tập. Lớp Độ phân giải xác định độ phân giải của hình ảnh. Lớp PngDevice cho phép lưu các trang của tài liệu PDF thành hình ảnh PNG. Lớp này cung cấp các phương thức sau để lưu trang thành hình ảnh PNG:

C# Chuyển đổi hình ảnh PDF sang JPG - Từng bước

Bạn có thể chuyển đổi tệp PDF thành hình ảnh JPG theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Document với đường dẫn tệp đầu vào.
  2. Lặp lại tất cả các trang của tệp PDF bằng bộ sưu tập Document.Pages và thực hiện như sau: 2.1. Tạo một phiên bản của lớp Độ phân giải và đặt giá trị của nó. 2.2. Tạo một thể hiện của lớp JpegDevice và truyền đối tượng Chiều rộng, Chiều cao và Độ phân giải. 2.3. Gọi phương thức Process(Page, String) với số trang và đường dẫn hình ảnh JPG đầu ra để chuyển đổi trang thành JPG.

Mẫu mã sau đây cho biết cách chuyển đổi trang PDF thành hình ảnh JPG bằng C#.

// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Xác định độ phân giải
    Resolution resolution = new Resolution(300);
    
    // Tạo thiết bị Jpeg với các thuộc tính được chỉ định
    // Chiều rộng, chiều cao, độ phân giải
    JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);

    // Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
    JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}
Chuyển đổi hình ảnh PDF sang JPG bằng C#

Chuyển đổi hình ảnh PDF sang JPG bằng C#

Chuyển đổi C# PDF sang BMP - Hướng dẫn ngắn

Bạn có thể chuyển đổi tệp PDF sang hình ảnh BMP theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Document với đường dẫn tệp đầu vào.
  2. Lặp lại tất cả các trang của tệp PDF bằng bộ sưu tập Document.Pages và thực hiện như sau: 2.1 Tạo một phiên bản của lớp Độ phân giải và đặt giá trị của nó. 2.2 Tạo một thể hiện của lớp BmpDevice và truyền đối tượng Chiều rộng, Chiều cao và Độ phân giải. 2.3 Gọi phương thức Process(Page, String) với số trang và đường dẫn hình ảnh BMP đầu ra để chuyển đổi trang thành BMP.

Mẫu mã sau đây cho biết cách chuyển đổi trang PDF thành hình ảnh BMP bằng C#.

// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Xác định độ phân giải
    Resolution resolution = new Resolution(300);
    
    // Tạo thiết bị PNG với các thuộc tính được chỉ định
    // Chiều rộng, chiều cao, độ phân giải
    BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);

    // Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
    BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}
Chuyển đổi PDF sang BMP bằng C#

Chuyển đổi PDF sang BMP bằng C#

Hướng dẫn C#: Cách chuyển đổi PDF sang TIFF

Bạn có thể chuyển đổi tệp PDF sang TIFF theo chương trình bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Document với đường dẫn tệp đầu vào.
  2. Khởi tạo một thể hiện của lớp Độ phân giải và đặt giá trị của nó.
  3. Tạo một thể hiện của lớp TiffSettings.
  4. Đặt các thuộc tính khác nhau như Nén, Độ sâu, Hình dạng và SkipBlankPages, v.v.
  5. Tạo một thể hiện của lớp TiffDevice với các đối tượng Độ phân giải và TiffSettings.
  6. Gọi phương thức Process(Document, String) với đối tượng Document và đường dẫn tệp TIFF đầu ra để chuyển đổi tài liệu thành TIFF.

Mẫu mã sau đây cho biết cách chuyển đổi tệp PDF thành TIFF bằng C#.

// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Xác định độ phân giải
Resolution resolution = new Resolution(300);

// Tạo đối tượng TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
    Compression = CompressionType.None,
    Depth = ColorDepth.Default,
    Shape = ShapeType.Portrait,
    SkipBlankPages = false
};

// Tạo thiết bị TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);

// Chuyển đổi một trang cụ thể và lưu hình ảnh vào luồng
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");
Chuyển đổi PDF sang TIFF bằng C#

Chuyển đổi PDF sang TIFF bằng C#

Lớp TiffSettings cung cấp một số cài đặt để chuyển đổi PDF sang TIFF. Bạn có thể đặt Độ sáng, Độ nén, Loại tọa độ, Độ sâu, Lề, Hình dạng và SkipBlankPages trong khi chuyển đổi PDF sang TIFF.

C# Trích xuất hình ảnh từ tài liệu PDF

Bạn có thể trích xuất tất cả hình ảnh từ bất kỳ tệp PDF nào theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Tạo một thể hiện của lớp Document với đường dẫn tệp đầu vào.
  • Đối với mỗi trang, hãy tạo phiên bản XImage cho mọi hình ảnh trong bộ sưu tập Page.Resources.Images.
  • Tạo một thể hiện của lớp FileStream với đường dẫn tệp hình ảnh đầu ra.
  • Gọi phương thức Save() với đối tượng FileStream để lưu ảnh
  • Cuối cùng, đóng FileStream bằng phương thức Close().

Mẫu mã sau đây cho biết cách trích xuất hình ảnh từ tài liệu PDF bằng C#.

// Mở tài liệu
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Lặp qua các trang
foreach (var page in pdfDocument.Pages)
{
    int imageCounter = 1;
    // Lặp lại tất cả hình ảnh
    foreach (XImage image in page.Resources.Images)
    {
        // Tạo luồng file cho hình ảnh
        FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);

        // Lưu hình ảnh đầu ra
        image.Save(outputImage);

        // Đóng luồng
        outputImage.Close();

        imageCounter++;
    }
}
Trích xuất hình ảnh từ tài liệu PDF bằng C#

Trích xuất hình ảnh từ tài liệu PDF bằng C#

Lớp XImage đại diện cho hình ảnh X-Object. Nó cung cấp một số thuộc tính và phương thức để làm việc với hình ảnh. Lớp XImage cung cấp các phương thức sau để lưu đối tượng hình ảnh:

Bộ sưu tập Page.Resources.Images đại diện cho bộ sưu tập hình ảnh cho trang cụ thể.

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

Bạn có thể dùng thử API mà không bị giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, bạn đã học cách chuyển đổi các trang tệp PDF thành hình ảnh bằng C#. Bạn cũng đã học cách chuyển đổi PDF sang PNG, PDF sang JPG, PDF sang BMP và PDF sang TIFF theo chương trình. Hơn nữa, bạn đã học cách trích xuất hình ảnh từ tệp PDF bằng C#. API cũng cung cấp các tùy chọn nén, tạo và thao tác bảng, chức năng biểu đồ và hình ảnh, chức năng siêu liên kết mở rộng, tác vụ đóng dấu và hình mờ, kiểm soát bảo mật mở rộng và xử lý phông chữ tùy chỉnh. Bạn có thể tìm hiểu thêm về Aspose.PDF for .NET API bằ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.

Xem thêm