Link Search Menu Expand Document

Generate PDF From Large HTML File - PHP

PDF from HTML (HTML to PDF) sample in PHP demonstrating ‘Generate PDF From Large HTML File’

generate-pdf-from-html.php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PDF Invoice Generation Results</title>
</head>
<body>

<?php 

// Get submitted form data
$apiKey = $_POST["apiKey"]; // The authentication key (API Key). Get your own by registering at https://app.pdf.co

// HTML input
$inputHtml = file_get_contents("./inputHtml.html");

// Prepare URL for HTML to PDF API call
$url = "https://api.pdf.co/v1/pdf/convert/from/html";


// Prepare requests params
// See documentation: https://apidocs.pdf.co/?#1-json-pdfconvertfromhtml
$parameters = array();

// Input HTML code to be converted. Required. 
$parameters["html"] = utf8_encode($inputHtml);

// Name of resulting file
$parameters["name"] = "result.pdf";

// Set to css style margins like 10 px or 5px 5px 5px 5px.
$parameters["margins"] =  "5px 5px 5px 5px";

// Can be Letter, A4, A5, A6 or custom size like 200x200
$parameters["paperSize"] = "Letter";

// Set to Portrait or Landscape. Portrait by default.
$parameters["orientation"] = "Portrait";

// true by default. Set to false to disbale printing of background.
$parameters["printBackground"] = true;

// If large input document, process in async mode by passing true
// ! Async Mode
$parameters["async"] = true;

// Set to HTML for header to be applied on every page at the header.
$parameters["header"] = "";

// Set to HTML for footer to be applied on every page at the bottom.
$parameters["footer"] = "";


// Create Json payload
$data = json_encode($parameters);

// Create request
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array("x-api-key: " . $apiKey, "Content-type: application/json"));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

// 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, $apiKey); // 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, $apiKey)
{
    $status = null;
    
	// Create URL
    $url = "https://api.pdf.co/v1/job/check";
    
    // Prepare requests params
    $parameters = array();
    $parameters["jobid"] = $jobId;

    // Create Json payload
    $data = json_encode($parameters);

    // Create request
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_HTTPHEADER, array("x-api-key: " . $apiKey, "Content-type: application/json"));
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    
    // 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>
inputHtml.html
<!DOCTYPE html>
<html>
<head>
    <title>HTML content</title>
</head>
<body>
    <h3>Ipsum Lists</h3>
    <div>
        <p>
        </p><ul>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Integer interdum felis nec orci mattis, ac dignissim mauris commodo.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>In et augue non turpis faucibus tincidunt a et lectus.</li>
            <li>Nulla congue nisi vel diam hendrerit, at pulvinar massa aliquam.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Nulla quis sapien a eros imperdiet pulvinar.</li>
            <li>Maecenas efficitur orci vitae velit ullamcorper, et imperdiet nibh hendrerit.</li>
            <li>Suspendisse molestie leo id ex pharetra, quis eleifend lacus pulvinar.</li>
            <li>Sed gravida elit non purus elementum, vitae laoreet libero gravida.</li>
            <li>Suspendisse porta ante et quam suscipit, et pretium nibh aliquet.</li>
            <li>Duis et augue viverra, egestas diam quis, fringilla nunc.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Vivamus nec velit at felis egestas ultricies nec eu diam.</li>
            <li>Maecenas mattis elit facilisis sem condimentum, sit amet condimentum lacus fermentum.</li>
            <li>Morbi elementum sem id neque semper tristique.</li>
            <li>Fusce finibus ex in nisl hendrerit, in lacinia ipsum efficitur.</li>
            <li>Mauris blandit dui ac quam auctor placerat.</li>
            <li>Nunc maximus ex nec elit accumsan commodo.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Suspendisse in sem aliquet, efficitur mi sed, tincidunt sem.</li>
            <li>Phasellus commodo risus ut erat aliquam, molestie gravida risus faucibus.</li>
            <li>Donec placerat diam eu lectus hendrerit semper.</li>
            <li>Praesent porta justo id imperdiet finibus.</li>
            <li>Aliquam bibendum nisi nec tortor sagittis maximus.</li>
        </ul>
        <p></p>
    </div>

    <h3>Ipsum Paragraphs</h3>
    <div>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet magna turpis. Donec a tellus in mi pharetra volutpat at et nulla. Aenean porttitor fringilla diam et pretium. Fusce id velit mauris. Aenean ultrices orci dolor, sed tristique eros molestie eget. Fusce non ultrices odio. Sed nisi ex, porttitor non fermentum eu, rutrum quis mauris. Morbi scelerisque sollicitudin semper. Nunc vitae pharetra tortor, vel gravida ante. Integer euismod velit nisi, quis sollicitudin neque dictum nec. Morbi magna nulla, scelerisque a malesuada at, scelerisque at quam. Aliquam sit amet lorem congue, pellentesque metus non, aliquet purus. Integer a metus augue. Ut venenatis cursus ante, sed venenatis quam consequat id. Fusce rhoncus elementum felis, eu volutpat magna lacinia id. Proin ac sagittis nulla, a molestie turpis.
        </p>
        <p>
            Praesent sagittis leo ac congue faucibus. Phasellus pellentesque faucibus nisl fringilla pharetra. Morbi iaculis mollis viverra. Etiam eget lectus ac eros finibus cursus. Sed sed odio ac nisi semper tempus. Nam semper congue dui quis dictum. Nullam molestie vehicula mi, ac faucibus augue cursus vitae. Praesent orci lectus, tempor non enim a, accumsan volutpat mi. Donec tempus faucibus nisi quis mollis. Duis vestibulum risus id purus dignissim, euismod tristique libero volutpat.
        </p>
        <p>
            Aenean hendrerit velit sagittis leo feugiat finibus. Donec mattis non nunc euismod volutpat. Maecenas tincidunt neque mi, sodales placerat turpis vehicula at. Ut facilisis, lacus eget mattis fringilla, massa lacus porta ligula, sit amet porttitor velit nibh id lectus. Duis eget nunc mauris. Nullam aliquet non purus et tempor. Etiam laoreet quis odio eu dictum. Nulla facilisi. Vivamus ut lobortis velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pharetra turpis vel efficitur porta. Mauris eget imperdiet massa, nec feugiat erat. Sed ligula tellus, egestas sed turpis a, tincidunt condimentum lacus.
        </p>
        <p>
            Suspendisse quis dictum urna, et porttitor odio. Morbi quis magna a ipsum varius fermentum. Proin vitae ex sed quam sollicitudin convallis et eget dui. Nam porta augue condimentum volutpat cursus. Suspendisse vitae tincidunt risus. Sed neque eros, mollis vitae augue id, egestas bibendum leo. Nullam facilisis volutpat nisl. Phasellus quis leo at justo finibus vehicula. Aliquam id magna nec libero aliquam consequat nec non massa. Pellentesque euismod est at feugiat facilisis. Vivamus tincidunt, felis id bibendum congue, ex eros aliquam sapien, vitae egestas nisl ex vel erat. Duis viverra eu augue quis pretium. Cras pretium dapibus mi vitae gravida. Nam eu libero erat. Duis at nisl mattis, pretium ipsum scelerisque, laoreet quam. Etiam non felis sem.
        </p>
        <p>
            Sed sit amet finibus velit. Duis ut odio nulla. Sed imperdiet placerat nulla vel eleifend. Morbi ornare vitae tellus vitae mattis. In enim est, euismod non consequat eu, interdum sed sapien. Integer vitae risus ultricies, aliquet sapien sit amet, malesuada magna. Suspendisse at pellentesque elit. Duis eget bibendum felis. Aliquam tempor, diam in luctus mattis, purus quam porta quam, a euismod enim ligula nec urna. Suspendisse tincidunt vulputate porta. Nam faucibus finibus mi, nec hendrerit lectus semper ut. Nullam sagittis suscipit mollis. Nullam eros est, eleifend sed felis non, molestie maximus ligula. Nulla facilisi.
        </p>
        <p>
            Donec tortor nisl, consectetur in commodo ac, rhoncus porttitor orci. Donec feugiat sapien est, vestibulum lobortis nibh fringilla sed. Nunc eleifend nulla augue, in aliquam mauris placerat sit amet. Nulla diam ipsum, volutpat quis ornare eget, sagittis vel dolor. Ut aliquet, quam ultricies mattis iaculis, dui tortor laoreet eros, id gravida lorem erat non nisl. Fusce venenatis nulla quis mauris finibus, sit amet molestie orci bibendum. Mauris a dictum ante. Mauris sit amet iaculis metus. Proin fringilla urna varius dui consectetur ultricies. Morbi finibus, ante ac aliquam placerat, magna justo pretium massa, ac egestas urna odio a diam. Pellentesque condimentum ligula ac justo vulputate elementum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
        </p>
        <p>
            Nullam elit justo, auctor id congue quis, accumsan quis dui. Mauris tempor sem nec ipsum vestibulum, eget vulputate neque malesuada. Donec interdum eros at feugiat suscipit. Phasellus sodales nunc quis ante congue, id sollicitudin quam blandit. Donec pharetra gravida ipsum, vel porttitor lorem tristique a. In pellentesque in urna a fringilla. Vestibulum rhoncus efficitur massa, sed tristique justo efficitur eget. Cras vehicula mollis massa, ut lobortis ipsum. Nam pulvinar elementum ipsum at tristique. Suspendisse tempor elit nec ultrices ullamcorper. Proin nisi metus, consequat eu quam vel, mollis tincidunt massa. Donec consectetur iaculis lobortis. Suspendisse non rutrum felis, sed pulvinar ligula.
        </p>
        <p>
            Quisque eget augue sem. Aliquam vehicula id massa quis feugiat. Curabitur iaculis, mauris sit amet ullamcorper mattis, nisi diam pellentesque purus, nec varius magna quam vel magna. Vestibulum ornare lacus sit amet dictum placerat. Sed erat enim, vestibulum non mollis dignissim, faucibus vitae lectus. Vestibulum ornare nulla leo, faucibus pharetra elit pharetra quis. Quisque quis sem vitae metus pharetra imperdiet sit amet et tortor.
        </p>
        <p>
            Etiam placerat eget orci sed mollis. Donec congue dui sem, et laoreet ex commodo sed. Donec iaculis tellus in leo viverra pharetra. Vivamus id pulvinar augue, non ultrices erat. Maecenas rutrum enim sit amet sem scelerisque malesuada maximus id quam. Sed pretium dapibus nisl eget dignissim. Ut sollicitudin justo quis tincidunt ultrices. Donec sagittis, quam quis scelerisque iaculis, nisl justo ultrices ipsum, et vulputate orci libero sit amet nisl. Sed dapibus luctus leo, nec porttitor quam sodales quis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam mollis ipsum eu libero pulvinar tristique. Vestibulum molestie hendrerit tortor sed interdum. In a imperdiet ipsum. Aenean sit amet feugiat libero.
        </p>
        <p>
            Aenean tincidunt, eros eget pellentesque feugiat, enim velit pharetra massa, sed malesuada arcu lacus nec eros. Suspendisse facilisis diam neque, nec mollis nunc consequat id. Praesent non ex non erat lobortis faucibus. Praesent condimentum neque leo, id bibendum diam faucibus euismod. Etiam felis velit, pulvinar eget magna in, porttitor consequat sapien. Maecenas egestas aliquam dignissim. Morbi libero velit, vulputate ac neque aliquet, vestibulum mattis diam. Morbi tempor diam et sapien commodo elementum. Aenean ut nunc tellus. Maecenas condimentum est ac tortor fermentum, et varius augue commodo. Morbi eget velit nec felis mattis interdum. Vivamus ac orci lorem.
        </p>
        <p>
            Sed facilisis ante dui, in hendrerit neque imperdiet id. Aliquam nec ex tortor. Nulla hendrerit sed odio vitae tempor. Integer vel ultrices metus, at posuere nibh. In nibh libero, maximus at tortor vulputate, tristique condimentum nibh. Integer facilisis, diam sit amet blandit rhoncus, sapien quam consectetur metus, et hendrerit neque ipsum suscipit lectus. Suspendisse potenti.
        </p>
        <p>
            Ut nec arcu blandit, pellentesque sapien sit amet, aliquet risus. Nulla aliquet odio elit, non ultrices tortor hendrerit nec. Ut faucibus eros at metus blandit, sed hendrerit nisi dignissim. Vestibulum bibendum dictum risus, bibendum commodo eros maximus vitae. Cras eget odio quis odio dignissim vestibulum viverra vitae ipsum. Phasellus sed libero id mi varius mattis. Mauris nec ante a velit blandit consectetur. Nunc aliquet rutrum dui, sit amet posuere lacus venenatis non. Praesent quis placerat metus. Curabitur justo velit, finibus non nunc eget, fermentum consequat sem.
        </p>
        <p>
            Fusce enim tortor, aliquet vel sem non, rhoncus tempus libero. Vivamus arcu lacus, volutpat et lacinia ut, faucibus nec velit. Duis ut nisi sed orci convallis posuere sit amet et neque. Fusce ultrices elit id leo vulputate, a maximus purus rutrum. Aenean dolor augue, luctus et leo id, pulvinar malesuada lacus. Sed pharetra pellentesque viverra. Vivamus ac rhoncus nulla. Fusce ac arcu a urna elementum venenatis. Nunc faucibus arcu quam, quis porttitor lectus porta ut. Morbi dapibus facilisis nulla accumsan varius. Maecenas vestibulum arcu sed elementum rhoncus. Nunc vitae nulla sed augue sagittis pretium. Mauris ac urna nec lectus venenatis molestie non in enim. Nullam quis euismod libero. In hac habitasse platea dictumst. Donec maximus nibh nunc, sit amet eleifend elit ultrices vel.
        </p>
        <p>
            Fusce velit dui, elementum nec tellus et, ullamcorper dictum est. Proin pellentesque sed nisl a mattis. Vestibulum ultrices auctor nibh, sed semper quam accumsan quis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris luctus nunc et dui cursus, in pretium libero tempus. Integer pretium, risus eu semper euismod, odio ante feugiat magna, in dignissim orci nulla eu mi. Ut consequat nibh in nisl semper, id venenatis risus placerat. Pellentesque sit amet dolor sit amet justo ornare eleifend at eget dolor. Cras venenatis tristique ante eget feugiat. Praesent rutrum tortor vitae mauris pulvinar, sed auctor nunc posuere. Nunc pharetra, enim pellentesque rutrum pulvinar, ipsum ipsum sodales neque, in dignissim magna nisl vitae mauris. Mauris non urna pharetra, tristique turpis a, consequat magna. Integer dignissim, arcu hendrerit consequat feugiat, erat nisl viverra dolor, in aliquam ante sem ut erat. Etiam cursus luctus elit et facilisis. Curabitur consectetur ligula ac ullamcorper venenatis.
        </p>
        <p>
            Cras rutrum tellus velit. Etiam gravida nisi eget justo pharetra, a laoreet odio pharetra. Duis et congue velit. Curabitur laoreet risus sit amet egestas sagittis. Proin tincidunt eget ante sodales sollicitudin. Ut lobortis volutpat massa in commodo. Nulla quis lacus pulvinar, ullamcorper nibh et, ullamcorper lorem. Proin quis arcu diam.
        </p>
    </div>

    <h3>Lists 2</h3>

    <div>
        <p>
        </p><ul>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Vestibulum eget elit vitae est semper accumsan ac et sem.</li>
            <li>Sed ultrices augue nec turpis sagittis condimentum.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Quisque non magna id metus blandit pretium et ac nisl.</li>
            <li>Vestibulum suscipit metus non diam congue commodo.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Integer euismod odio vitae condimentum fringilla.</li>
            <li>Duis vel mauris at ex semper volutpat.</li>
            <li>Integer fringilla ante sit amet lorem consectetur tincidunt.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Integer ac odio feugiat, viverra mi a, dapibus nibh.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Donec feugiat diam a pharetra euismod.</li>
            <li>Etiam vel est ac libero tristique egestas eu ut est.</li>
            <li>Proin vel turpis ac felis consequat tincidunt.</li>
            <li>Morbi euismod ligula vel odio fermentum, quis blandit diam sagittis.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Nulla vel ex eu nisl pellentesque consequat quis et tellus.</li>
            <li>Phasellus eleifend velit sed purus volutpat, quis eleifend leo blandit.</li>
            <li>Duis id erat tincidunt eros tristique viverra.</li>
            <li>Phasellus posuere nisi posuere efficitur eleifend.</li>
            <li>Nullam vel nisl sed orci pretium ultrices.</li>
            <li>Proin ut nulla sit amet orci porttitor sagittis.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Pellentesque in sem vel lacus iaculis tempor.</li>
            <li>Fusce convallis ipsum eu lectus pharetra imperdiet.</li>
            <li>Ut varius ligula in cursus tristique.</li>
            <li>Donec sit amet erat sit amet nulla varius porta.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Nam eu diam et massa scelerisque ullamcorper.</li>
            <li>Nam finibus eros et tellus varius, ac finibus turpis venenatis.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Ut sagittis ex condimentum nunc tristique, eget laoreet turpis sagittis.</li>
            <li>Maecenas efficitur sapien id ipsum iaculis mattis rhoncus nec tellus.</li>
            <li>Nulla eget dolor a nunc molestie elementum nec id nunc.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Aliquam euismod massa nec cursus efficitur.</li>
            <li>Sed id nibh et magna gravida pellentesque.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Quisque pulvinar dolor nec massa dignissim, a pulvinar dui placerat.</li>
            <li>Quisque rhoncus mi vitae mauris maximus tincidunt.</li>
            <li>Sed vitae mi euismod, commodo enim in, imperdiet ipsum.</li>
            <li>Praesent semper risus in pretium facilisis.</li>
            <li>Duis dictum arcu sit amet dictum porta.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Nunc fringilla urna sit amet semper accumsan.</li>
            <li>Integer vestibulum nunc ac dolor ultrices, vel aliquet mauris efficitur.</li>
            <li>Vestibulum sit amet sem vitae urna varius efficitur.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Cras non dui non sem sodales malesuada.</li>
            <li>Pellentesque vel nibh et diam semper tincidunt consectetur bibendum enim.</li>
            <li>Quisque nec ante auctor, porttitor sem eget, venenatis turpis.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Mauris condimentum nisl a molestie commodo.</li>
            <li>Phasellus ultricies ex et quam egestas, ut aliquam nunc eleifend.</li>
            <li>Phasellus hendrerit orci in tempus mollis.</li>
            <li>Sed porttitor urna eu lacus venenatis egestas.</li>
            <li>Pellentesque at nulla sit amet dui mattis tristique ut vitae mi.</li>
        </ul>
        <p></p>
        <p>
        </p><ul>
            <li>Morbi a ante tincidunt, aliquet nibh ac, interdum arcu.</li>
        </ul>
        <p></p>
    </div>

    <h3>Paragraphs 2</h3>
    <div>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc mattis imperdiet convallis. Curabitur sapien sapien, vehicula at lacus quis, porttitor sollicitudin mauris. Curabitur vitae sodales purus, vitae mollis metus. Vivamus dictum suscipit ligula, nec lacinia nunc sollicitudin a. Integer porta suscipit nunc, id fermentum enim rhoncus feugiat. Vestibulum vitae magna ultrices, eleifend augue ut, tempor diam. Pellentesque tincidunt gravida nisl sollicitudin euismod. Nullam interdum lacinia imperdiet. Suspendisse potenti. Suspendisse dictum massa eu tristique cursus. Donec non rutrum lectus, ac rutrum mi. Phasellus non ipsum ac diam euismod convallis non in libero.
        </p>
        <p>
            Curabitur non tincidunt felis. Ut elementum, eros vitae dictum viverra, leo nisl sodales purus, commodo tincidunt erat eros et urna. Maecenas id iaculis nunc, placerat mattis augue. Pellentesque placerat urna at risus egestas molestie eget in metus. Cras id magna neque. Suspendisse auctor dignissim metus. Nam vestibulum ultricies sodales.
        </p>
        <p>
            Etiam posuere enim sed neque dapibus vulputate. Aliquam ut nisi nec nibh vehicula tempor. In a lectus a massa tempus blandit. Duis fermentum egestas mollis. Etiam sapien ante, tincidunt placerat velit aliquet, interdum mattis dolor. Praesent blandit ante a pretium hendrerit. Vivamus laoreet nisl ac sodales mattis. Nam porta dui aliquam lectus malesuada, ut malesuada mi tempus. Etiam feugiat quam et nulla volutpat laoreet. Integer tincidunt neque ac sapien sollicitudin eleifend.
        </p>
        <p>
            Morbi ut euismod magna. Ut nisi diam, interdum sed nibh sit amet, lobortis scelerisque urna. Morbi at accumsan elit. Sed augue velit, dapibus quis libero eu, gravida ornare sem. Ut gravida dapibus mauris, in varius nibh vulputate euismod. In ut consequat ligula. Mauris quis ex sit amet odio lacinia pellentesque vel eu enim. Curabitur fermentum dapibus lacus quis finibus. Praesent in est eget quam rhoncus convallis at sit amet ipsum.
        </p>
        <p>
            Sed lacinia tortor sit amet mauris congue molestie. Quisque convallis turpis ac dignissim vulputate. Integer interdum scelerisque lacus vitae fermentum. Praesent aliquet scelerisque libero. Etiam felis nisl, rhoncus vitae lorem ut, condimentum feugiat ipsum. Donec id tellus in est viverra vehicula. Etiam id ipsum leo. Nam non elit in tellus porttitor porttitor eu vel mi. Maecenas turpis lorem, porta quis felis sed, ultrices ultrices eros. Mauris a pellentesque mi, ut facilisis mi. Pellentesque sodales ac libero quis egestas.
        </p>
        <p>
            Nulla tincidunt tincidunt risus, ut imperdiet turpis porta at. Nullam eu elit in enim scelerisque convallis a nec nibh. Aenean vitae turpis vitae enim sollicitudin suscipit. Nam accumsan ipsum neque, id aliquet felis dapibus in. Vivamus vitae auctor turpis. Nunc et sollicitudin dolor, eget bibendum urna. Donec tortor lacus, hendrerit vel justo at, elementum hendrerit magna.
        </p>
        <p>
            Suspendisse pulvinar massa vel augue lacinia tincidunt. Proin at finibus leo, vitae pharetra risus. Curabitur vulputate, magna luctus tristique tempus, quam tortor commodo ligula, in lobortis dolor purus in tortor. Aenean tincidunt nisi in ornare ultricies. Aliquam eu blandit nulla. Suspendisse neque ex, fringilla sed finibus quis, interdum a leo. Etiam nibh odio, euismod nec diam sit amet, porttitor efficitur risus. Integer a nisi finibus, consectetur nisl vitae, porta magna. Curabitur vel libero tempus, scelerisque nulla vitae, volutpat justo. Donec sit amet arcu in ante cursus pharetra. Nam sagittis sollicitudin finibus. Integer a urna a justo malesuada ornare.
        </p>
        <p>
            Maecenas vel metus ornare, ultrices sapien in, semper lacus. Mauris ipsum nisi, maximus sit amet augue sed, facilisis fringilla lorem. Pellentesque auctor congue fringilla. Morbi luctus justo in tortor consectetur vestibulum. Integer euismod leo eros, eu mattis leo congue in. Aenean sit amet massa nulla. Nulla aliquam sit amet orci eu facilisis. Maecenas dapibus maximus lorem, vel blandit nulla tincidunt sed. Morbi pharetra nunc vel elit fermentum eleifend. Phasellus ipsum tellus, porttitor sed dui in, vehicula aliquet ante.
        </p>
        <p>
            In fermentum mauris lacus, eu fermentum nisl facilisis non. Sed lobortis, enim quis fringilla hendrerit, mauris felis hendrerit est, eu mattis justo dui quis sem. Maecenas lectus dolor, aliquet nec dictum quis, finibus dignissim est. Aenean ultrices sodales dapibus. Morbi placerat, magna in tristique euismod, tortor nisi ornare nibh, non congue sapien mauris sit amet sem. Nunc luctus sapien sit amet nulla ullamcorper, et tincidunt est laoreet. Vestibulum at ex vel eros iaculis eleifend sed ac diam. Pellentesque libero urna, efficitur at congue vel, viverra nec ligula. Pellentesque eleifend egestas ex, ut aliquet ex cursus vitae. Praesent a aliquet orci. Fusce condimentum, turpis in condimentum pharetra, leo risus sollicitudin turpis, id pulvinar velit magna in felis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Ut sit amet ligula orci. Etiam tincidunt ipsum sed metus ultricies, a dignissim erat tristique. Nam eleifend tempor quam, sit amet tempor diam venenatis ac.
        </p>
        <p>
            Pellentesque enim diam, laoreet id velit eu, sodales tincidunt lorem. Vivamus libero lacus, tempor ut iaculis nec, ultrices quis neque. Proin consequat in metus a pellentesque. Donec id dui a nibh euismod pulvinar quis non ante. In sed metus eget augue pulvinar mollis. Donec commodo vestibulum erat, ut convallis augue mattis in. Aliquam aliquet lorem at nisl vulputate, sit amet posuere mauris congue.
        </p>
        <p>
            Fusce vitae lectus facilisis metus dictum maximus sit amet ut tortor. Duis tempor eu velit vitae bibendum. Vestibulum tincidunt nisl arcu, at porttitor nisl lacinia sed. Aliquam viverra nunc dui, sit amet volutpat libero viverra at. Donec feugiat sapien vitae massa auctor consequat. Suspendisse ac nisl nibh. Vivamus sed maximus enim. Ut euismod mauris non mollis hendrerit. Proin vitae massa augue. Sed a magna facilisis, congue mi at, pharetra metus. Morbi accumsan justo sit amet feugiat interdum. Mauris in elit pulvinar, commodo risus a, consequat risus. Aliquam ac dui tempus, mattis lorem a, varius justo. Proin sed tempus eros.
        </p>
        <p>
            Fusce consectetur nulla a turpis tincidunt, sit amet vulputate sapien dictum. Integer et consequat orci. Etiam nec sagittis nibh. Sed in rutrum diam. Donec a metus at quam pulvinar aliquam vitae at velit. Fusce odio felis, interdum in arcu a, sollicitudin semper risus. Maecenas efficitur nunc non ipsum venenatis, eu interdum massa scelerisque. Proin maximus vestibulum eros quis aliquam. Nunc vestibulum tempus ligula, vel congue velit volutpat nec.
        </p>
        <p>
            In vulputate vulputate velit vitae bibendum. Donec ultricies molestie lorem quis ornare. Mauris quis lorem ac velit convallis rhoncus. Fusce feugiat enim ut mauris sagittis commodo. Ut elementum, sapien sit amet condimentum placerat, quam est vestibulum lorem, ac fermentum turpis nunc in turpis. Vestibulum luctus nisi non dolor pretium, ut dictum erat rutrum. Phasellus vestibulum nisi id lobortis ornare. Aenean nec pulvinar massa. Duis ac magna vel ligula aliquet lobortis eu et lorem. In hac habitasse platea dictumst. Donec nec pellentesque libero. Suspendisse efficitur ex quis lorem commodo, id vestibulum odio scelerisque. Vivamus vulputate porta libero. Praesent id dui eget est pulvinar congue non id mi.
        </p>
        <p>
            Integer mattis ipsum arcu, vitae efficitur odio viverra nec. Aenean semper ipsum quis porta porttitor. Aliquam nisi justo, posuere quis diam in, ultrices mollis lectus. Mauris suscipit leo eget dapibus eleifend. Etiam nulla nibh, vehicula mattis auctor sed, varius non augue. Sed volutpat congue molestie. Quisque lectus eros, fringilla sit amet libero eget, bibendum commodo nibh. Vivamus faucibus, velit a sodales porta, enim dolor porttitor ante, ac varius erat nisl sollicitudin ligula.
        </p>
        <p>
            Morbi sit amet scelerisque ligula. Nam commodo, est eget tincidunt aliquam, nunc nisl malesuada quam, iaculis aliquam sapien erat et metus. Praesent sit amet lectus et erat congue pulvinar. Praesent congue vulputate ante, id convallis ipsum porta vel. Nulla a scelerisque nulla. Donec in neque gravida, lacinia sapien nec, varius elit. Ut tempor tempor nibh, ut suscipit tellus facilisis et. Nulla finibus purus a tincidunt venenatis. Donec sodales sollicitudin elit, a dictum quam facilisis vitae. Vivamus scelerisque, urna id scelerisque facilisis, urna tortor hendrerit arcu, vitae dapibus elit elit eget nibh. Maecenas dictum finibus lorem.
        </p>
        <p>
            Phasellus ac tincidunt augue. Ut vitae ullamcorper erat. Etiam vitae nunc massa. Vestibulum non consectetur nulla. Pellentesque vel congue massa. Proin eu urna ipsum. Vestibulum tristique, libero a efficitur consectetur, leo eros tristique elit, in placerat sem ipsum in urna. Vivamus lobortis, mauris eget semper aliquam, libero turpis ultricies nunc, et volutpat magna elit a magna. Ut varius egestas convallis. Praesent placerat quam a bibendum pharetra. Proin vehicula vitae urna a venenatis. Curabitur fringilla enim et augue finibus facilisis. Praesent convallis gravida magna, suscipit ullamcorper neque vehicula sed. Fusce pretium tristique turpis id consequat.
        </p>
        <p>
            Nulla egestas aliquam dui ultricies vehicula. Sed placerat scelerisque turpis ut ultricies. Quisque eleifend gravida quam ac malesuada. Morbi scelerisque enim vitae libero sagittis, ac consectetur quam eleifend. Nam blandit, dolor vel mattis tincidunt, nulla tortor finibus turpis, nec laoreet urna arcu ut quam. Morbi sodales justo ut vulputate fermentum. Nunc in imperdiet leo. Aliquam ullamcorper tortor ac eleifend maximus. Morbi mollis pulvinar dolor id mattis. Mauris a posuere purus. Nam iaculis, neque vel viverra porttitor, lorem felis ultricies est, eget placerat mauris mauris sit amet ipsum.
        </p>
        <p>
            Vestibulum tristique, nibh a molestie congue, est magna porttitor eros, maximus pulvinar tortor ligula faucibus dolor. Quisque sem magna, iaculis vel posuere eu, faucibus eu odio. Aliquam rutrum risus odio, id pretium tortor viverra eget. Quisque consectetur, est eget convallis aliquam, velit magna gravida urna, ut finibus augue magna vitae velit. Nunc sit amet vulputate felis. Quisque a rutrum libero. Donec a sem non dui consectetur rutrum vitae fermentum nibh. Duis molestie ante ut odio eleifend, non fringilla lorem aliquam. Curabitur eu suscipit ipsum.
        </p>
        <p>
            Pellentesque nec sagittis ex. Praesent molestie lacus orci, a maximus nunc consectetur in. Duis tincidunt ultricies risus, vitae aliquet mauris ornare eget. Donec dapibus luctus eleifend. Nullam ut lorem vel erat porta porta. Donec vitae felis ipsum. In ultrices sapien in finibus sagittis. Etiam euismod, mauris in facilisis ultricies, enim orci mattis ante, id pulvinar nisi nisi in arcu. Phasellus ultricies arcu arcu, ac cursus mi interdum in. Cras eu tortor est.
        </p>
        <p>
            Suspendisse interdum, neque id dignissim scelerisque, diam massa rutrum nunc, at viverra risus risus sed neque. Integer ultricies ipsum non elementum volutpat. Pellentesque rutrum sodales ipsum, eget dictum risus fermentum quis. Curabitur tempus molestie nulla in tristique. Donec sagittis magna eget mi eleifend gravida. In euismod pharetra ex, at interdum libero sagittis vulputate. Curabitur molestie tellus non nibh vulputate, eu commodo arcu consectetur. In id iaculis odio, et lobortis ante. Nam in diam suscipit, ultrices lorem non, gravida lorem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque faucibus ac metus nec ullamcorper.
        </p>
    </div>
</body>

</html>

sample.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PDF from HTML Api Demo</title>
</head>

<body>

    <form name="form1" enctype="multipart/form-data" method="post" action="generate-pdf-from-html.php">
        <p>
            <label>Authentication key (API Key). Get your own by registering at <a href="https://apidocs.pdf.co">https://apidocs.pdf.co</a>.</label>
            <br/>
            <input type="text" name="apiKey" placeholder="API Key"/>
        </p>
        <p>
            Click "Proceed" to generate PDF from large Html ("inputHtml.html").
        </p>
        <input type="submit" name="submit" value="Proceed" />
    </form>

</body>
</html>

PDF.co Web API: the Web API with a set of tools for documents manipulation, data conversion, data extraction, splitting and merging of documents. Includes image recognition, built-in OCR, barcode generation and barcode decoders to decode bar codes from scans, pictures and pdf.

Get your PDF.co API key here!

Download Source Code (.zip)

return to the previous page explore PDF from HTML (HTML to PDF) endpoint