Hướng dẫn java html to image - java html sang hình ảnh

Cần chuyển đổi HTML thành một hình ảnh theo chương trình? Với Aspose.words cho Java, bất kỳ nhà phát triển nào cũng có thể dễ dàng chuyển đổi HTML thành định dạng đồ họa chỉ với một vài dòng mã Java.Aspose.Words for Java any developer can easily transform HTML into graphical format with just a few lines of Java code.

API Java xử lý tài liệu hiện đại tạo hình ảnh từ các tệp HTML với tốc độ cao. Kiểm tra chất lượng của HTML sang chuyển đổi hình ảnh ngay trong trình duyệt. Thư viện Java mạnh mẽ cho phép chuyển đổi các tệp HTML thành hầu hết các định dạng đồ họa phổ biến.

Lưu HTML dưới dạng hình ảnh trong Java

Ví dụ sau đây cho thấy cách chuyển đổi HTML thành hình ảnh trong Java.

Thực hiện theo các bước dễ dàng để biến tệp HTML thành định dạng đồ họa. Đọc HTML từ ổ đĩa cục bộ, sau đó chỉ cần lưu nó dưới dạng hình ảnh, chỉ định định dạng đồ họa cần thiết bằng một phần mở rộng hình ảnh. Đối với cả đọc HTML và viết hình ảnh, bạn có thể sử dụng tên tệp đủ điều kiện. Nội dung kết quả sẽ giống hệt với tệp HTML gốc.

Tệp đầu vào

Tải lên một tệp bạn muốn chuyển đổi

Mã vận hành

Định dạng đầu ra

Chọn định dạng đích từ danh sách

import com.aspose.words.*;

Document doc = new Document("Input.html");

for (int page = 0; page < doc.getPageCount(); page++)
{
    Document extractedPage = doc.extractPages(page, 1);
    extractedPage.save(String.format("Output_%d.jpg", page + 1));
}

import com.aspose.words.*; Document doc = new Document("Input.html"); doc.save("Output.jpg"); import com.aspose.words.*; Document doc = new Document("Input.html"); for (int page = 0; page < doc.getPageCount(); page++) { Document extractedPage = doc.extractPages(page, 1); extractedPage.save(String.format("Output_%d.jpg", page + 1)); } import com.aspose.words.*; Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.insertImage("Input.html"); doc.save("Output.jpg"); import com.aspose.words.*; Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); Shape shape = builder.insertImage("Input.html"); shape.getImageData().save("Output.jpg");

Cách chuyển đổi HTML thành hình ảnh

  1. Cài đặt 'aspose.words cho java'.
  2. Thêm một tham chiếu thư viện (nhập thư viện) vào dự án Java của bạn.
  3. Mở tệp HTML nguồn trong Java.
  4. Gọi phương thức 'Lưu ()', chuyển tên tệp đầu ra với phần mở rộng hình ảnh.
  5. Nhận kết quả chuyển đổi HTML làm hình ảnh.

Thư viện Java để chuyển đổi HTML thành hình ảnh

Chúng tôi tổ chức các gói Java của chúng tôi trong kho Maven. 'Aspose.words cho java' là một tệp jar phổ biến chứa mã byte. Vui lòng làm theo các hướng dẫn từng bước về cách cài đặt nó vào môi trường nhà phát triển Java của bạn.

yêu cầu hệ thống

Java SE 7 và các phiên bản Java gần đây được hỗ trợ. Chúng tôi cũng cung cấp một gói riêng cho Java SE 6 trong trường hợp bạn có nghĩa vụ sử dụng JRE lỗi thời này.

Gói Java của chúng tôi là đa nền tảng và chạy trên tất cả các hệ điều hành với triển khai JVM, bao gồm Microsoft Windows, Linux, MacOS, Android và iOS.

Để biết thông tin về các phụ thuộc gói tùy chọn, chẳng hạn như Jogamp Jogl, Harfbuzz Font Engine, Java Advanced Imaging Jai, vui lòng tham khảo tài liệu sản phẩm.

Bạn có thể chuyển đổi HTML sang nhiều định dạng tệp khác:

Upload Image With Spring Boot and Thymeleaf

Người dịch: Nguyễn Thành Trung - Học viên lớp Java08Email liên hệ: Bài viết gốc: https://www.baeldung.com/spring-boot-thymeleaf-image-upload
Email liên hệ:
Bài viết gốc: https://www.baeldung.com/spring-boot-thymeleaf-image-upload

1. Tổng quát

Trong hướng dẫn nhanh này, chúng ta sẽ xem xét cách tải hình ảnh lên trong ứng dụng web Java bằng Spring Boot và Thymeleaf .

2. Dependencies

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

3. Spring Boot Controller

Bước đầu tiên, chúng ta tạo controller web Spring Boot để xử lý các yêu cầu của chúng ta:

@Controller public class UploadController {

    public static String UPLOAD_DIRECTORY = System.getProperty("user.dir") + "/uploads";

    @GetMapping("/uploadimage") public String displayUploadForm() {
        return "imageupload/index";
    }

    @PostMapping("/upload") public String uploadImage(Model model, @RequestParam("image") MultipartFile file) throws IOException {
        StringBuilder fileNames = new StringBuilder();
        Path fileNameAndPath = Paths.get(UPLOAD_DIRECTORY, file.getOriginalFilename());
        fileNames.append(file.getOriginalFilename());
        Files.write(fileNameAndPath, file.getBytes());
        model.addAttribute("msg", "Uploaded images: " + fileNames.toString());
        return "imageupload/index";
    }
}

Chúng ta đã xác định hai phương pháp để xử lý các yêu cầu HTTP GET. Phương thức displayUploadForm () xử lý yêu cầu GET và trả về tên của Thymeleaf template để hiển thị cho người dùng để cho phép anh ta nhập một hình ảnh.

Phương thức uploadImage () xử lý tải hình ảnh lên. Nó chấp nhận yêu cầu multipart/form-data POST khi tải lên hình ảnh và lưu hình ảnh trên hệ thống tệp cục bộ. MultipartFil interface là một cấu trúc dữ liệu đặc biệt mà Spring Boot cung cấp để đại diện cho một tệp được tải lên trong một multipart request.

Cuối cùng, chúng ta đã tạo một thư mục tải lên sẽ lưu trữ tất cả các hình ảnh đã tải lên. Chúng ta cũng đã thêm một thông báo, chứa tên của hình ảnh đã tải lên, để hiển thị sau khi người dùng gửi biểu mẫu.

4. Thymeleaf Template

Bước thứ hai là tạo một Thymeleaf template mà chúng ta đặt là index.html trong đường dẫn src / main / resources / templates . Template này hiển thị một biểu mẫu HTML để cho phép người dùng chọn và tải một hình ảnh lên. Hơn nữa, chúng ta sử dụng thuộc tính accept = ”image / *” để cho phép người dùng chỉ nhập hình ảnh thay vì nhập bất kỳ loại tệp nào.

Hãy xem cấu trúc của tệp index.html :

<body>
<section class="my-5">
    <div class="container">
        <div class="row">
            <div class="col-md-8 mx-auto">
                <h2>Upload Image Example</h2>
                <p th:text="${message}" th:if="${message ne null}" class="alert alert-primary"></p>
                <form method="post" th:action="@{/upload}" enctype="multipart/form-data">
                    <div class="form-group">
                        <input type="file" name="image" accept="image/*" class="form-control-file">
                    </div>
                    <button type="submit" class="btn btn-primary">Upload image</button>
                </form>
                <span th:if="${msg != null}" th:text="${msg}"></span>
            </div>
        </div>
    </div>
</section>
</body>

5. Tùy chỉnh kích thước tệp

Nếu chúng ta cố gắng tải lên một tệp lớn, một ngoại lệ MaxUploadSizeExceededException sẽ được ném ra. Tuy nhiên, chúng ta có thể điều chỉnh giới hạn tệp tải lên thông qua các thuộc tính spring.servlet.multipart.max-file-size và spring.servlet.multipart.max-request-size mà chúng ta xác định trong tệp application.properties :

spring.servlet.multipart.max-file-size = 5MB
spring.servlet.multipart.max-request-size = 5MB

6 . Kết luận

Trong bài viết nhanh này, chúng ta đã trình bày cách tải lên hình ảnh trong ứng dụng web Java bằng Spring Boot và Thymeleaf.