Làm cách nào để tạo hình ảnh từ HTML trong PHP?

Hàm imagecreate() là một hàm có sẵn trong PHP được sử dụng để tạo một hình ảnh mới. Hàm này trả về hình ảnh trống có kích thước đã cho. Nói chung, hàm imagecreatetruecolor() được sử dụng thay cho hàm imagecreate() vì hàm imagecreatetruecolor() tạo ra hình ảnh chất lượng cao

Trong bài đăng này, chúng ta sẽ xem cách thay đổi bất kỳ Văn bản nào thành hình ảnh bằng PHP. PHP đi kèm với một thư viện xử lý hình ảnh được gọi là thư viện GD. Điều này có nhiều tính năng như tạo hình ảnh vẽ Văn bản, tô màu cho văn bản, v.v. , có nhiều chức năng thực sự dễ hiểu đang viết chương trình

Thư viện GD phải được cài đặt trong máy chủ Apache của bạn để tập lệnh này hoạt động

Khi tôi gửi đầu vào văn bản qua biểu mẫu HTML tới mã PHP, sau đó trong PHP tôi gọi các hàm thư viện GD để chuyển đổi thành đầu vào văn bản thành hình ảnh. Tôi tạo các lớp hình ảnh để đặt văn bản và nền. Sau đó, tôi hợp nhất các lớp và sao chép phần cần thiết để hiển thị hình ảnh đầu ra cuối cùng cho trình duyệt

Hầu hết các hoạt động dựa trên hình ảnh có thể được thực hiện bằng cách sử dụng các hàm dựng sẵn trong PHP. Các hàm PHP dựa trên hình ảnh có trong thư viện GD và chúng ta có thể sử dụng chúng để chuyển đổi văn bản thành hình ảnh

Trước đó, chúng ta phải đảm bảo rằng thư viện GD được kích hoạt trong php. cấu hình ini. Bạn cũng có thể chạy hàm PHP phpinfo() để kiểm tra xem GD đã được bật chưa

Xem bản trình diễn

Tôi gửi nội dung nhập văn bản qua biểu mẫu HTML tới mã PHP. Trong PHP, tôi gọi các hàm thư viện GD để chuyển đổi văn bản nhập này thành hình ảnh

Tôi tạo các lớp hình ảnh để đặt văn bản và nền. Sau đó, tôi hợp nhất các lớp và sao chép phần cần thiết để hiển thị hình ảnh đầu ra cuối cùng cho trình duyệt. Nếu không có văn bản nào được nhập, thì nó sẽ được giải quyết bằng xác thực JavaScript

Ảnh chụp màn hình này hiển thị đầu ra cuối cùng sau khi chuyển đổi kiểu nhập văn bản thành hình ảnh. Ví dụ này có thể hữu ích để tạo hình ảnh xác thực tùy chỉnh bằng PHP

Làm cách nào để tạo hình ảnh từ HTML trong PHP?

Nhận và xác thực kiểu nhập văn bản qua biểu mẫu HTML

Mã này hiển thị biểu mẫu HTML để nhận đầu vào văn bản từ người dùng. Khi gửi biểu mẫu này, nội dung nhập văn bản sẽ được xác thực bằng JavaScript và được gửi tới PHP. Sau khi xử lý chuyển đổi hình ảnh, hình ảnh đầu ra sẽ được hiển thị bên dưới biểu mẫu này


    

Enter Text:

Chuyển đổi văn bản thành hình ảnh bằng các hàm PHP GD

Trong PHP, với việc sử dụng chức năng thư viện GD, chúng ta có thể chuyển đổi văn bản đầu vào thành hình ảnh. Tôi đã tạo một lớp hình ảnh trong suốt để đặt văn bản nhập vào đó

Sau đó, tôi đã tạo một lớp hình nền và hợp nhất lớp đó với lớp nhập văn bản bằng cách sử dụng imagecopymerge(). Sau khi hợp nhất, tôi cắt phần bắt buộc của lớp đã hợp nhất bằng cách sử dụng imagecopy() và xuất hình ảnh cuối cùng ra trình duyệt

Trang này mô tả cách chuyển đổi các trang web và HTML thành hình ảnh trong PHP bằng cách sử dụng API Pdfcrowd dựa trên đám mây. API rất dễ sử dụng và chỉ cần một vài dòng mã để tích hợp nó vào ứng dụng của bạn. Bạn có thể tìm thông tin chung về trình chuyển đổi trên trang HTML to Image API

Cài đặt

Thư viện máy khách API PHP cung cấp quyền truy cập dễ dàng vào API Pdfcrowd. Không yêu cầu thư viện của bên thứ ba

Tải xuống pdfđám đông-5. 12. 0-php. zip, giải nén nó và yêu cầu pdfcrowd. php trong mã của bạn

Chúng tôi cũng cung cấp các tùy chọn cài đặt khác như Composer hoặc GitHub

Thông tin đăng nhập để truy cập API là tên người dùng Pdfcrowd của bạn và khóa API. Bạn có thể dùng thử API mà không cần đăng ký bằng thông tin đăng nhập demo sau

  • tên tài khoản. demo
  • Mã API. ce544b6ea52a5621fb9d55f8b542d14d

Để nhận thông tin đăng nhập API cá nhân của mình, bạn có thể bắt đầu dùng thử API miễn phí hoặc mua giấy phép API

Bắt đầu

Bạn có thể nhập một trang web hoặc tải tệp HTML lên để xem trước hình ảnh đầu ra trong sân chơi API của chúng tôi. Sân chơi cho phép bạn chơi tương tác với cài đặt API và tự động tạo mã PHP tương ứng mà bạn có thể sao chép và dán vào ứng dụng của mình

Hoặc bạn có thể chọn từ các ví dụ bên dưới và điều chỉnh mã theo nhu cầu của mình

Tham khảo phương pháp API

Tham khảo Tham khảo HTML to Image PHP để biết mô tả về tất cả các phương thức API

Ví dụ mã

Dưới đây là một vài ví dụ về PHP để giúp bạn bắt đầu nhanh chóng với API. Xem thêm ví dụ

HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the conversion
    $client->setOutputFormat("png");

    // run the conversion and write the result to a file
    $client->convertUrlToFile("http://www.example.com", "example.png");
}
catch(\Pdfcrowd\Error $why)
{
    // report the error
    error_log("Pdfcrowd Error: {$why}\n");

    // rethrow or handle the exception
    throw $why;
}

?>

Sao chép

HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the conversion
    $client->setOutputFormat("png");

    // run the conversion and write the result to a file
    $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
}
catch(\Pdfcrowd\Error $why)
{
    // report the error
    error_log("Pdfcrowd Error: {$why}\n");

    // rethrow or handle the exception
    throw $why;
}

?>

Sao chép

HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the conversion
    $client->setOutputFormat("png");

    // run the conversion and write the result to a file
    $client->convertStringToFile("Hello World!", "HelloWorld.png");
}
catch(\Pdfcrowd\Error $why)
{
    // report the error
    error_log("Pdfcrowd Error: {$why}\n");

    // rethrow or handle the exception
    throw $why;
}

?>

Sao chép

Ví dụ về sân chơi API

API có thể dễ dàng tích hợp vào môi trường của bạn. Bạn có thể yêu cầu Sân chơi API tương tác của chúng tôi tự động tạo mã tích hợp cho bạn

Tùy chỉnh chung

API cho phép bạn chuyển đổi trang web, tệp HTML cục bộ hoặc chuỗi chứa HTML. Kết quả của chuyển đổi có thể được lưu trữ vào tệp cục bộ, đối tượng luồng hoặc biến. Xem phần để biết thêm chi tiết

Cách tốt nhất để bắt đầu với API là chọn một trong các ví dụ và sau khi bạn làm cho nó hoạt động, bạn có thể tùy chỉnh thêm mã. Bạn có thể tìm thấy các tùy chỉnh phổ biến nhất trong bảng bên dưới

Kích thước hình ảnhĐặt kích thước hình ảnh với và. Định dạng hình ảnh Chỉ định một định dạng hình ảnh đầu ra khác với. Ẩn hoặc xóa phần tử Bạn có thể sử dụng các lớp sau trong mã HTML của mình để ẩn hoặc xóa phần tử khỏi đầu ra

  • pdfcrowd-remove - đặt display:none!important trên phần tử
  • pdfcrowd-hide - đặt visibility:hidden!important trên phần tử
Tìm hiểu về các tùy chọn khác. Sử dụng @media printBạn có thể chuyển sang phiên bản in của trang (nếu có) bằng. Chạy JavaScript tùy chỉnh Bạn có thể sử dụng hoặc để thay đổi nội dung HTML bằng JavaScript tùy chỉnh. Ngoài các API trình duyệt tiêu chuẩn, mã JavaScript tùy chỉnh có thể sử dụng các hàm trợ giúp từ thư viện JavaScript của chúng tôi. Kiểu dáng CSS tùy chỉnh Bạn có thể thay đổi kiểu dáng CSS được sử dụng trong quá trình chuyển đổi bằng JavaScript tùy chỉnh hoặc sử dụng lớp CSS
HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the conversion
    $client->setOutputFormat("png");

    // run the conversion and write the result to a file
    $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
}
catch(\Pdfcrowd\Error $why)
{
    // report the error
    error_log("Pdfcrowd Error: {$why}\n");

    // rethrow or handle the exception
    throw $why;
}

?>
0, được đặt tự động trên phần tử HTML. Ví dụ: bạn có thể đặt chiều cao H1 thành 48px bằng cách thêm dòng sau vào CSS của mình
HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the conversion
    $client->setOutputFormat("png");

    // run the conversion and write the result to a file
    $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
}
catch(\Pdfcrowd\Error $why)
{
    // report the error
    error_log("Pdfcrowd Error: {$why}\n");

    // rethrow or handle the exception
    throw $why;
}

?>
1

Kết xuất mẫu

API cho phép kết xuất các mẫu HTML. Cú pháp mẫu dựa trên công cụ kết xuất mẫu Jinja

Các cấu trúc phổ biến nhất là

  • Kết xuất dữ liệu.
    HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
    
        // configure the conversion
        $client->setOutputFormat("png");
    
        // run the conversion and write the result to a file
        $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
    }
    catch(\Pdfcrowd\Error $why)
    {
        // report the error
        error_log("Pdfcrowd Error: {$why}\n");
    
        // rethrow or handle the exception
        throw $why;
    }
    
    ?>
    2
  • cho vòng lặp.
    HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
    
        // configure the conversion
        $client->setOutputFormat("png");
    
        // run the conversion and write the result to a file
        $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
    }
    catch(\Pdfcrowd\Error $why)
    {
        // report the error
        error_log("Pdfcrowd Error: {$why}\n");
    
        // rethrow or handle the exception
        throw $why;
    }
    
    ?>
    3
  • câu lệnh nếu.
    HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
    
        // configure the conversion
        $client->setOutputFormat("png");
    
        // run the conversion and write the result to a file
        $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
    }
    catch(\Pdfcrowd\Error $why)
    {
        // report the error
        error_log("Pdfcrowd Error: {$why}\n");
    
        // rethrow or handle the exception
        throw $why;
    }
    
    ?>
    4
  • bộ lọc dữ liệu.
    HtmlToImageClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");
    
        // configure the conversion
        $client->setOutputFormat("png");
    
        // run the conversion and write the result to a file
        $client->convertFileToFile("/path/to/MyLayout.html", "MyLayout.png");
    }
    catch(\Pdfcrowd\Error $why)
    {
        // report the error
        error_log("Pdfcrowd Error: {$why}\n");
    
        // rethrow or handle the exception
        throw $why;
    }
    
    ?>
    5

Các định dạng dữ liệu đầu vào được hỗ trợ là JSON, XML, CSV và YAML. Dữ liệu có thể được tải lên từ một hoặc từ một

Bộ lọc mẫu được hỗ trợ. viết hoa, căn giữa, mặc định, thoát, đầu tiên, bắt buộc, định dạng, thụt lề, tham gia, cuối cùng, độ dài, danh sách, thấp hơn, thay thế, đảo ngược, an toàn, lát, sắp xếp, chuỗi, thẻ rút gọn, tiêu đề, cắt, cắt ngắn, duy nhất, phía trên,

Xem hiển thị mẫu

Xử lý lỗi

Bạn nên triển khai xử lý lỗi để phát hiện các lỗi mà API có thể trả về, hãy xem mã ví dụ bên dưới. Bạn có thể tìm thấy danh sách các mã trạng thái và mô tả của chúng tại đây

Làm cách nào để chuyển đổi HTML thành hình ảnh trong PHP?

Sau đó, bạn có thể sử dụng nó như vậy. $path="wkhtmltoimg/wkhtmltoimage. exe"; //đường dẫn đến tệp thực thi của bạn $url="http. //Google. com"; $output_path="kiểm tra. png"; shell_exec("$path $url $output_path"); Một điều bạn muốn lưu ý là nếu PHP ở chế độ an toàn, shell_exec sẽ .

Làm cách nào để tạo một hình ảnh trong PHP?

hàm imagecreate() trong PHP . Nên sử dụng imagecreatetruecolor() để tạo hình ảnh thay vì imagecreate(). Điều này là do quá trình xử lý hình ảnh diễn ra trên hình ảnh có chất lượng cao nhất có thể được tạo bằng cách sử dụng imagecreatetruecolor().

Làm cách nào để tạo một hình ảnh png trong PHP?

Ví dụ số 1 về tạo PNG với PHP . $string = $_GET['text']; $im = imagecreatefrompng("images/button1. png"); $orange = imagecolorallocate($im, 220, 210, 60);

Làm cách nào để tạo hình ảnh từ văn bản trong PHP?

Hàm imagecreatefromstring() là một hàm có sẵn trong PHP được sử dụng để tạo một hình ảnh mới từ tệp chuỗi hoặc URL.