Can I use JavaScript within my Code?

PagedJS and Vivliostyle both handle JavaScript just like your browser would do. Why? Because they also use a headless Chromium in the background but have a layer on top to support the modern CSS Paged Media features.

To send JavaScript, either you directly put it in a SCRIPT tag within your HTML or add it in the JavaScript section within the JSON body.

{
	"html": "<h1 id='js'>Hello PrintCSS Cloud!</h1>",
	"css":  "h1{ color:red; }",
	"javascript": "document.getElementById('js').style.backgroundColor='blue';"
}

To send the request to our API now, you need to subscribe to a plan on RapidAPI. With this, you get the API key that is required to authenticate with our REST service.

The Request as cURL would look like the following:

curl --location --request POST 'https://printcss-cloud.p.rapidapi.com/render' \
--header 'x-rapidapi-host: printcss-cloud.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--data-raw '{
	"html": "<h1 id='\''js'\''>Hello PrintCSS Cloud!</h1>",
	"css":  "h1{ color:red; }",
	"javascript": "document.getElementById('\''js'\'').style.backgroundColor='\''blue'\'';"
}'

In PHP, you can do it like this:

 

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://printcss-cloud.p.rapidapi.com/render',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
	"html": "<h1 id=\'js\'>Hello PrintCSS Cloud!</h1>",
	"css":  "h1{ color:red; }",
	"javascript": "document.getElementById(\'js\').style.backgroundColor=\'blue\';"
}',
  CURLOPT_HTTPHEADER => array(
    'x-rapidapi-host: printcss-cloud.p.rapidapi.com',
    'x-rapidapi-key: YOUR_API_KEY'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

If you use Java, your request might look like the following:

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "{\r\n\t\"html\": \"<h1 id='js'>Hello PrintCSS Cloud!</h1>\",\r\n\t\"css\":  \"h1{ color:red; }\",\r\n\t\"javascript\": \"document.getElementById('js').style.backgroundColor='blue';\"\r\n}");
Request request = new Request.Builder()
  .url("https://printcss-cloud.p.rapidapi.com/render")
  .method("POST", body)
  .addHeader("x-rapidapi-host", "printcss-cloud.p.rapidapi.com")
  .addHeader("x-rapidapi-key", "YOUR_API_KEY")
  .build();
Response response = client.newCall(request).execute();

The result of the above-mentioned request body can be found in the attached PDF.

PDF Rendered with JavaScript.pdf