Hình ảnh có thể được sử dụng để hiển thị nhiều thứ khác nhau, từ ảnh chụp sản phẩm đến quy trình làm việc và biểu đồ. Tệp PDF có thể chứa hình ảnh dựa trên loại thông tin mà nó có. Ví dụ: hướng dẫn lắp đặt ghế sẽ bao gồm các hình ảnh về chiếc ghế trình bày cách lắp ráp nó. Có thể có các tình huống mà bạn cần phải xử lý hình ảnh trong tệp PDF theo chương trình. Đối với những trường hợp như vậy, bài viết này sẽ hướng dẫn bạn cách làm việc với hình ảnh trong tệp PDF bằng C ++. Đặc biệt, chúng tôi sẽ trình bày cách thêm, thay thế, trích xuất và xóa hình ảnh trong PDF bằng C ++.
- API C ++ để thêm, cập nhật, xóa và thay thế hình ảnh PDF
- Thêm hình ảnh vào tệp PDF bằng C ++
- Trích xuất hình ảnh từ tệp PDF bằng C ++
- Xóa hình ảnh khỏi tệp PDF bằng C ++
- Thay thế hình ảnh trong tệp PDF bằng C ++
API C ++ để thêm, cập nhật, xóa và thay thế hình ảnh PDF
Aspose.PDF dành cho C ++ là một thư viện C ++ mạnh mẽ cho phép bạn tạo, đọc và sửa đổi các tệp PDF. Hơn nữa, API hỗ trợ làm việc với hình ảnh trong tài liệu 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
Thêm hình ảnh vào tệp PDF trong C ++
Sau đây là các bước để thêm hình ảnh vào tệp PDF.
- Tải tệp PDF bằng lớp Tài liệu.
- Truy xuất trang mà bạn muốn thêm hình ảnh bằng phương thức Document-> getPages() -> idxget (int32t index).
- Tạo một thể hiện của lớp Hình chữ nhật.
- Thêm hình ảnh vào trang bằng cách sử dụng Trang-> AddImage (System :: String imagePath, System :: SharedPtrAspose::Pdf::Rectangle hình chữ nhật) phương pháp.
- Lưu tệp PDF bằng phương pháp Document-> Save (System :: String outputFileName).
Đoạn mã mẫu sau đây cho biết cách thêm hình ảnh vào tệp PDF 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 thể hiện của lớp Rectangle
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// Thêm hình ảnh vào trang
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Lưu tệp PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Trích xuất hình ảnh từ PDF trong C ++
Để trích xuất hình ảnh từ tệp PDF trong C ++, hãy làm theo các bước dưới đây.
- Tải tệp PDF bằng lớp Tài liệu.
- Giải nén hình ảnh bằng phương thức Document-> getPages() -> idxget (int32t index) -> getResources() -> getImages() -> idxget (int32t index).
- Tạo một thể hiện của lớp FileStream để lưu hình ảnh đầu ra.
- Lưu hình ảnh bằng cách sử dụng XImage-> Save (System :: SharedPtrSystem::IO::Stream luồng, Hệ thống :: SharedPtrSystem::Drawing::Imaging::ImageFormat định dạng) phương pháp.
- Đóng luồng.
Đoạn mã mẫu sau đây trình bày cách trích xuất hình ảnh từ tệp PDF trong C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Trích xuất một hình ảnh cụ thể
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Tạo một đối tượng luồng để lưu hình ảnh đầu ra
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Lưu hình ảnh đầu ra
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Đóng luồng
outputImage->Close();
Xóa hình ảnh khỏi tệp PDF bằng C ++
Sau đây là các bước để xóa hình ảnh khỏi tệp PDF trong C ++.
- Tải tệp PDF bằng lớp Tài liệu.
- Xóa một hình ảnh cụ thể bằng phương thức Document-> getPages() -> idxget (int32t index) -> getResources() -> getImages() -> Delete (int32t index).
- Lưu tệp PDF bằng phương pháp Document-> Save (System :: String outputFileName).
Đoạn mã mẫu sau đây cho biết cách xóa hình ảnh khỏi tệp PDF trong C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Xóa một hình ảnh cụ thể
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Lưu tệp PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Thay thế một hình ảnh trong một tệp PDF trong C ++
Để thay thế hình ảnh trong PDF bằng C ++, hãy làm theo các bước dưới đây.
- Tải tệp PDF bằng lớp Tài liệu.
- Mở hình ảnh mới bằng lớp FileStream.
- Thay thế hình ảnh cũ bằng cách sử dụng Document-> getPages() -> idxget (int32t index) -> getResources() -> getImages() -> Replace (int32t index, System :: SharedPtrSystem::IO::Stream stream) phương pháp.
- Đóng luồng.
- Lưu tệp PDF bằng phương pháp Document-> Save (System :: String outputFileName).
Mẫu mã sau đây cho thấy cách thay thế hình ảnh trong tệp PDF bằng C ++.
// Tải tệp PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Mở hình ảnh mới bằng FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Thay thế hình ảnh cũ
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Đóng luồng
newImage->Close();
// Lưu tệp PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
API C ++ để làm việc với hình ảnh PDF - 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 làm việc với hình ảnh trong tệp PDF bằng C ++. Cụ thể, bạn đã học cách thêm, trích xuất, thay thế và xóa hình ảnh khỏi tệp PDF bằng Aspose.PDF cho C ++ API. 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. Trong trường hợp có bất kỳ thắc mắc 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.