ByteScout Cloud API Server - HTML To PDF API - PHP - Convert Web Page To PDF From Link Asynchronously - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout Cloud API Server – HTML To PDF API – PHP – Convert Web Page To PDF From Link Asynchronously

  • Home
  • /
  • Articles
  • /
  • ByteScout Cloud API Server – HTML To PDF API – PHP – Convert Web Page To PDF From Link Asynchronously

How to convert web page to PDF from link asynchronously for HTML to PDF API in PHP using ByteScout Cloud API Server

Learn to write code convert web page to PDF from link asynchronously for HTML to PDF API in PHP: Simple How To Tutorial

Check these thousands of pre-made source code samples for simple implementation in your own programming projects. HTML to PDF API in PHP can be applied with ByteScout Cloud API Server. ByteScout Cloud API Server is API server that is ready to use and can be installed and deployed in less than 30 minutes on your own Windows server or server in a cloud. It can save data and files on your local server-based file storage or in Amazon AWS S3 storage. Data is processed solely on the API server and is powered by ByteScout engine, no cloud services or Internet connection is required for data processing..

The SDK samples displayed below below explain how to quickly make your application do HTML to PDF API in PHP with the help of ByteScout Cloud API Server. This PHP sample code can be used by copying and pasting into your project. Once done,just compile your project and click Run. Easy to understand tutorials are available along with installed ByteScout Cloud API Server if you’d like to learn more about the topic and the details of the API.

Our website provides free trial version of ByteScout Cloud API Server that gives source code samples to assist with your PHP project.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

web-page-to-pdf-async.php

      
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cloud API asynchronous "Web Page to PDF" job example (allows to avoid timeout errors).</title> </head> <body> <?php // Please NOTE: In this sample we're assuming Cloud Api Server is hosted at "https://localhost". // If it's not then please replace this with with your hosting url. // Cloud API asynchronous "Web Page to PDF" job example. // Allows to avoid timeout errors when processing huge or scanned PDF documents. // URL of web page to convert to PDF document. $sourceUrl = "http://en.wikipedia.org/wiki/Main_Page"; // Prepare URL for `Web Page to PDF` API call $url = "https://localhost/pdf/convert/from/url" . "?name=result.pdf" . "&url=" . $sourceUrl . "&async=true"; // (!) Make asynchronous job // Create request $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // Execute request $result = curl_exec($curl); if (curl_errno($curl) == 0) { $status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($status_code == 200) { $json = json_decode($result, true); if ($json["error"] == false) { // URL of generated PDF file that will available after the job completion $resultFileUrl = $json["url"]; // Asynchronous job ID $jobId = $json["jobId"]; // Check the job status in a loop do { $status = CheckJobStatus($jobId); // Possible statuses: "working", "failed", "aborted", "success". // Display timestamp and status (for demo purposes) echo "<p>" . date(DATE_RFC2822) . ": " . $status . "</p>"; if ($status == "success") { // Display link to the file with conversion results echo "<div><h2>Conversion Result:</h2><a href='" . $resultFileUrl . "' target='_blank'>" . $resultFileUrl . "</a></div>"; break; } else if ($status == "working") { // Pause for a few seconds sleep(3); } else { echo $status . "<br/>"; break; } } while (true); } else { // Display service reported error echo "<p>Error: " . $json["message"] . "</p>"; } } else { // Display request error echo "<p>Status code: " . $status_code . "</p>"; echo "<p>" . $result . "</p>"; } } else { // Display CURL error echo "Error: " . curl_error($curl); } // Cleanup curl_close($curl); function CheckJobStatus($jobId) { $status = null; // Create URL $url = "https://localhost/job/check?jobid=" . $jobId; // Create request $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // Execute request $result = curl_exec($curl); if (curl_errno($curl) == 0) { $status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($status_code == 200) { $json = json_decode($result, true); if ($json["error"] == false) { $status = $json["status"]; } else { // Display service reported error echo "<p>Error: " . $json["message"] . "</p>"; } } else { // Display request error echo "<p>Status code: " . $status_code . "</p>"; echo "<p>" . $result . "</p>"; } } else { // Display CURL error echo "Error: " . curl_error($curl); } // Cleanup curl_close($curl); return $status; } ?> </body> </html>

VIDEO

ON-PREMISE OFFLINE SDK

Get 60 Day Free Trial

See also:

ON-DEMAND REST WEB API

Get Your API Key

See also:

Tutorials:

prev
next