PDF là định dạng phổ biến để chia sẻ và in tài liệu do bố cục nhất quán của nó. Tuy nhiên, bạn có thể rơi vào tình huống muốn tạo ảnh bìa của tệp PDF hoặc nhúng các trang của tệp đó vào một trang web. Trong những trường hợp như vậy, việc chuyển đổi tệp PDF sang định dạng hình ảnh sẽ tỏ ra hữu ích. Để đạt được mục tiêu đó, bài viết này sẽ hướng dẫn bạn cách chuyển đổi các trang PDF sang hình ảnh PNG bằng C ++.
- API C ++ để chuyển đổi trang PDF sang hình ảnh PNG
- Chuyển đổi Trang PDF sang Hình ảnh PNG bằng C ++
- Chuyển đổi một trang PDF thành hình ảnh PNG bằng C ++
API C ++ để chuyển đổi trang PDF sang hình ảnh PNG
Aspose.PDF dành cho C ++ là thư viện C ++ cho phép bạn tạo, đọc và cập nhật tài liệu PDF. Hơn nữa, API hỗ trợ chuyển đổi các trang PDF sang hình ảnh PNG. 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
Chuyển đổi Trang PDF sang Hình ảnh PNG bằng C ++
Sau đây là các bước chuyển trang PDF sang ảnh PNG.
- Tải tệp PDF bằng lớp Tài liệu.
- Lặp lại các trang của tệp PDF.
- Trong vòng lặp, tạo một thể hiện của lớp FileStream cho hình ảnh đầu ra.
- Tạo một thể hiện của lớp Độ phân giải.
- Tạo một thể hiện của lớp PngDevice.
- Sử dụng Process (System :: SharedPtr trang, Hệ thống :: SharedPtrSystem::IO::Stream output) của lớp PngDevice, lưu hình ảnh của trang PDF.
Đoạn mã mẫu sau đây trình bày cách lưu các trang của tệp PDF dưới dạng ảnh PNG bằng C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Lặp lại các trang PDF
for (auto page : pdfDocument->get_Pages())
{
// Tạo một phiên bản của lớp FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// Tạo một phiên bản của lớp Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// Tạo một phiên bản của lớp PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// Lưu trang dưới dạng hình ảnh
pngDevice->Process(page, imageStream);
// Đóng luồng
imageStream->Close();
}
Chuyển đổi một trang PDF thành hình ảnh PNG bằng C ++
Sau đây là các bước để chuyển đổi một trang của tệp PDF sang hình ảnh PNG.
- Tải tệp PDF bằng lớp Tài liệu.
- Truy xuất trang mà bạn muốn chuyển đổi bằng phương thức Document-> getPages() -> idxget (int32t index).
- Tạo một thể hiện của lớp FileStream cho hình ảnh đầu ra.
- Khởi tạo một đối tượng của lớp Độ phân giải.
- Tạo một thể hiện của lớp PngDevice.
- Sử dụng Process (System :: SharedPtr trang, Hệ thống :: SharedPtrSystem::IO::Stream output) của lớp PngDevice, lưu hình ảnh của trang PDF.
Đoạn mã mẫu sau đây cho thấy cách chuyển đổi một trang PDF sang hình ảnh PNG bằng C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Lấy trang đầu tiên
auto page = pdfDocument->get_Pages()->idx_get(1);
// Tạo một phiên bản của lớp FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// Tạo một phiên bản của lớp Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// Tạo một phiên bản của lớp PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// Lưu trang dưới dạng hình ảnh
pngDevice->Process(page, imageStream);
// Đóng luồng
imageStream->Close();
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 chuyển đổi các trang của tệp PDF sang hình ảnh PNG bằng C ++. Bạn có thể chuyển đổi tất cả các trang hoặc các trang đã chọn của tệp PDF sang hình ảnh PNG. Aspose.PDF cho C ++ là một API mạnh mẽ với nhiều tính năng bổ sung để tự động hóa quy trình công việc liên quan đến PDF của bạn. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, 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.