EVO HTML to PDF Converter allows you to add multiple HTML documents into a single PDF document. You can start with an empty PDF document represented by a Document object and then for each HTML document you add a HtmlToPdfElement object to the PDF document. A HTML to PDF element can be added where the previous element ended or it can be added to a new PDF page.
Code Sample - Merge Multiple HTML Pages into a Single PDF
protected void convertToPdfButton_Click(object sender, EventArgs e) { // Create the PDF document where to add the HTML documents Document pdfDocument = new Document(); // Set license key received after purchase to use the converter in licensed mode // Leave it not set to use the converter in demo mode pdfDocument.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c="; // Create a PDF page where to add the first HTML PdfPage firstPdfPage = pdfDocument.AddPage(); try { // Create the first HTML to PDF element HtmlToPdfElement firstHtml = new HtmlToPdfElement(0, 0, firstUrlTextBox.Text); // Optionally set a delay before conversion to allow asynchonous scripts to finish firstHtml.ConversionDelay = 2; // Add the first HTML to PDF document AddElementResult firstAddResult = firstPdfPage.AddElement(firstHtml); PdfPage secondPdfPage = null; PointF secondHtmlLocation = Point.Empty; if (startNewPageCheckBox.Checked) { // Create a PDF page where to add the second HTML secondPdfPage = pdfDocument.AddPage(); secondHtmlLocation = PointF.Empty; } else { // Add the second HTML on the PDF page where the first HTML ended secondPdfPage = firstAddResult.EndPdfPage; secondHtmlLocation = new PointF(firstAddResult.EndPageBounds.Left, firstAddResult.EndPageBounds.Bottom); } // Create the second HTML to PDF element HtmlToPdfElement secondHtml = new HtmlToPdfElement(secondHtmlLocation.X, secondHtmlLocation.Y, secondUrlTextBox.Text); // Optionally set a delay before conversion to allow asynchonous scripts to finish secondHtml.ConversionDelay = 2; // Add the second HTML to PDF document secondPdfPage.AddElement(secondHtml); // Save the PDF document in a memory buffer byte[] outPdfBuffer = pdfDocument.Save(); // Send the PDF as response to browser // Set response content type Response.AddHeader("Content-Type", "application/pdf"); // Instruct the browser to open the PDF file as an attachment or inline Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Merge_Multipe_HTML.pdf; size={0}", outPdfBuffer.Length.ToString())); // Write the PDF document buffer to HTTP response Response.BinaryWrite(outPdfBuffer); // End the HTTP response and stop the current page processing Response.End(); } finally { // Close the PDF document pdfDocument.Close(); } }
See Also