PDF là định dạng phổ biến để chia sẻ thông tin qua internet. Hầu hết thời gian, tệp PDF chứa hình ảnh cùng với văn bản và các yếu tố khác. Có thể có các tình huống mà bạn cần trích xuất những hình ảnh này từ tệp PDF để xử lý chúng thêm. Để kết thúc, bài viết này sẽ hướng dẫn bạn cách trích xuất hình ảnh từ tệp PDF bằng C ++.

API C ++ để trích xuất hình ảnh từ tệp PDF

Aspose.PDF for C ++ là thư viện C ++ cho phép bạn tạo, đọc và sửa đổi tài liệu PDF. Hơn nữa, API hỗ trợ trích xuất hình ảnh từ tệp PDF. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần tải xuống.

PM> Install-Package Aspose.PDF.Cpp

Trích xuất hình ảnh từ tệp PDF bằng C ++

Sau đây là các bước để trích xuất hình ảnh từ tệp PDF.

  • Tải tài liệu PDF bằng lớp Tài liệu.
  • Lấy các trang của tài liệu bằng phương thức Document-> getPages() và lặp lại chúng.
  • Lấy hình ảnh cho mỗi trang bằng phương thức page-> getResources() -> getImages() và lặp lại chúng.
  • Tạo đối tượng FileStream cho mỗi hình ảnh và lưu dưới dạng JPEG, PNG, v.v.

Đoạn mã mẫu sau đây trình bày cách trích xuất hình ảnh từ tệp PDF bằng C ++.

// Tải tài liệu PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\SampleImages2.pdf");

// Khởi tạo bộ đếm hình ảnh
int imageCounter = 1;

// Lặp lại các trang của tài liệu
for (auto page : pdfDocument->get_Pages())
{
	// Lặp lại các hình ảnh của trang
	for (auto image : page->get_Resources()->get_Images())
	{
		// Tạo một phiên bản của FileStream
		System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(String::Format(u"OutputDirectory\\Image{0}.jpg", imageCounter));

		// Lưu hình ảnh
		image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

		// Đóng FileStream
		outputImage->Close();

		// Tăng bộ đếm hình ảnh
		imageCounter++;
	}
}

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

Bạn có thể dùng thử API mà không có 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í.

Sự kết luận

Trong bài viết này, bạn đã học cách trích xuất hình ảnh từ tệp PDF bằng C ++. Chúng tôi đã sử dụng Aspose.PDF mạnh mẽ và dễ sử dụng cho API C ++ để đạt được điều này. API cung cấp một loạt các tính năng bổ sung để làm việc với các tệp PDF mà bạn có thể khám phá chi tiết bằng cách truy cập tài liệu chính thức. Nếu bạn có bất kỳ câu hỏi nào liên quan đến bất kỳ khía cạnh nào của API, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm