Hình ảnh được sử dụng rộng rãi cho các loại mô tả và minh họa khác nhau trong các tệp PDF. Trong bài viết này, bạn sẽ học cách xử lý hình ảnh trong tệp PDF theo chương trình. Đặc biệt, bài viết sẽ trình bày cách thêm, trích xuất, xóa hoặc thay thế hình ảnh trong tệp PDF bằng Java.
- API Java để Thêm và Thao tác Hình ảnh trong PDF
- Thêm hình ảnh trong PDF bằng Java
- Trích xuất hình ảnh từ tệp PDF bằng Java
- Xóa hình ảnh khỏi PDF bằng Java
- Thay thế một hình ảnh trong một tệp PDF bằng Java
- Nhận giấy phép miễn phí
Java API để Thêm và Thao tác Hình ảnh trong PDF - Tải xuống Miễn phí
Aspose.PDF dành cho Java là một API mạnh mẽ cung cấp cho bạn một loạt các tính năng thao tác PDF. API cho phép bạn làm việc với văn bản, chú thích hoặc hình ảnh trong tệp PDF một cách liền mạch. Bạn có thể tải xuống JAR của API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.2</version>
</dependency>
Thêm hình ảnh vào tệp PDF trong Java
Sau đây là các bước để thêm hình ảnh trong tệp PDF bằng Java.
- Đầu tiên, tạo một phiên bản của lớp Document để tải tài liệu PDF.
- Lấy Trang bạn muốn thêm hình ảnh bằng cách sử dụng phương thức Document.getPages(). GetItem (int).
- Tải tệp hình ảnh vào đối tượng FileInputStream.
- Thêm hình ảnh vào tài nguyên của trang bằng phương pháp Page.getResources(). GetImages(). Add (FileInputStream).
- Sử dụng toán tử để đặt hình ảnh trên trang:
- Toán tử GSave để lưu trạng thái đồ họa hiện tại.
- Toán tử ConcatenateMatrix để chỉ định vị trí đặt hình ảnh.
- Toán tử Do để vẽ hình ảnh trên trang.
- Toán tử GRestore để lưu trạng thái đồ họa được cập nhật.
- Cuối cùng, lưu tệp PDF đã cập nhật bằng phương pháp Document.save (string).
Mẫu mã sau đây cho thấy cách thêm hình ảnh vào tệp PDF trong Java.
// Mở một tài liệu
Document pdfDocument1 = new Document("input.pdf");
// Đặt tọa độ
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Lấy trang bạn muốn thêm hình ảnh vào
Page page = pdfDocument1.getPages().get_Item(1);
// Tải hình ảnh vào luồng
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));
// Thêm hình ảnh vào bộ sưu tập Hình ảnh của tài nguyên trang
page.getResources().getImages().add(imageStream);
// Sử dụng toán tử GSave: toán tử này lưu trạng thái đồ họa hiện tại
page.getContents().add(new Operator.GSave());
// Tạo các đối tượng Hình chữ nhật và Ma trận
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });
// Sử dụng toán tử ConcatenateMatrix (ma trận nối): xác định cách đặt hình ảnh
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
// Sử dụng toán tử Do: toán tử này vẽ hình ảnh
page.getContents().add(new Operator.Do(ximage.getName()));
// Sử dụng toán tử GRestore: toán tử này khôi phục trạng thái đồ họa
page.getContents().add(new Operator.GRestore());
// Lưu tệp PDF mới
pdfDocument1.save("Updated_document.pdf");
// Đóng luồng hình ảnh
imageStream.close();
Trích xuất hình ảnh từ tệp PDF bằng Java
Sau đây là các bước để trích xuất hình ảnh từ tài liệu PDF bằng Java.
- Tạo một phiên bản của lớp Document để tải tài liệu PDF.
- Trích xuất hình ảnh mong muốn vào đối tượng XImage bằng phương thức Document.getPages(). GetItem (int) .getResources(). GetImages(). GetItem (int).
- Bạn cũng có thể lặp lại bộ sưu tập hình ảnh để trích xuất và lưu tất cả các hình ảnh.
- Cuối cùng, lưu hình ảnh đã trích xuất dưới dạng tệp bằng OutputStream.
Mẫu mã sau đây cho thấy cách trích xuất hình ảnh từ tệp PDF bằng Java.
// Mở một tài liệu
Document pdfDocument = new Document("input.pdf");
// Trích xuất một hình ảnh cụ thể
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);
// Tạo đối tượng luồng để lưu hình ảnh đầu ra
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");
// Lưu hình ảnh đầu ra
xImage.save(output);
// Đóng luồng
output.close();
Xóa hình ảnh khỏi tệp PDF bằng Java
Sau đây là các bước để xóa hình ảnh khỏi tệp PDF bằng Java.
- Tải tệp PDF vào đối tượng Tài liệu.
- Xóa (các) hình ảnh mong muốn bằng một trong các phương pháp sau.
- xóa bỏ() to delete images from collection.
- xóa (int index) to delete an image from the collection by index.
- xóa (Tên chuỗi) to delete an image from the collection by name.
- Cuối cùng, lưu tệp PDF đã cập nhật bằng phương thức Document.save (string).
Mẫu mã sau đây cho thấy cách xóa hình ảnh trong PDF bằng Java.
// Mở một tài liệu
Document pdfDocument = new Document("input.pdf");
// Xóa một hình ảnh cụ thể
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);
// Lưu tệp PDF đã cập nhật
pdfDocument.save("output.pdf");
Thay thế hình ảnh trong tệp PDF bằng Java
Sau đây là các bước để thay thế hình ảnh trong tệp PDF bằng Java.
- Tải tệp PDF vào đối tượng Tài liệu.
- Tải hình ảnh mới vào đối tượng FileInputStream.
- Sử dụng phương thức Document.getPages(). GetItem (int) .getResources(). GetImages(). Replace (int, FileInputStream) để thay thế hình ảnh bằng cách chỉ định chỉ mục.
- Cuối cùng, lưu tệp PDF đã cập nhật bằng phương thức Document.save (string).
Mẫu mã sau đây cho thấy cách thay thế một hình ảnh trong PDF bằng Java.
// Mở một tài liệu
Document pdfDocument = new Document("input.pdf");
// Thay thế một hình ảnh cụ thể
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("aspose.png")));
// Lưu tệp PDF đã cập nhật
pdfDocument.save("output.pdf");
API Java để thêm hình ảnh trong PDF - Nhận giấy phép API miễn phí
Bạn có thể dùng thử miễn phí Aspose.PDF for Java bằng cách nhận giấy phép tạm thời.
Sự kết luận
Trong bài này, bạn đã học cách thao tác với hình ảnh trong tệp PDF bằng Java. Hướng dẫn từng bước và các mẫu mã đã chỉ ra cách trích xuất, thêm, xóa và thay thế hình ảnh trong tệp PDF. Bạn có thể khám phá các tính năng khác của Aspose.PDF dành cho Java bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.