PDF to Image .NET Examples
These examples demonstrate common PDF to Image API workflows in .NET.
Basic examples
PDF file to PNG file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and save the result to a file. client.convertFileToFile("/path/to/invoice.pdf", "invoice.zip"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
PDF file to in-memory PNG
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertFile("/path/to/invoice.pdf"); // at this point the "png" variable contains PNG raw data and // can be sent in an HTTP response, saved to a file, etc. } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
PDF file to PNG stream
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Create an output stream for the conversion result FileStream outputStream = new FileStream("invoice.zip", FileMode.CreateNew); // run the conversion and write the result to the output stream. client.convertFileToStream("/path/to/invoice.pdf", outputStream); // Close the output stream. outputStream.Close(); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
PDF url to PNG file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and save the result to a file. client.convertUrlToFile("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf", "invoice.zip"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
PDF url to in-memory PNG
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertUrl("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf"); // at this point the "png" variable contains PNG raw data and // can be sent in an HTTP response, saved to a file, etc. } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
PDF url to PNG stream
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Create an output stream for the conversion result FileStream outputStream = new FileStream("invoice.zip", FileMode.CreateNew); // run the conversion and write the result to the output stream. client.convertUrlToStream("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf", outputStream); // Close the output stream. outputStream.Close(); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
In-memory PDF to PNG file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and save the result to a file. client.convertRawDataToFile(File.ReadAllBytes("/path/to/hello_world.pdf"), "invoice.zip"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
In-memory PDF to in-memory PNG
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertRawData(File.ReadAllBytes("/path/to/hello_world.pdf")); // at this point the "png" variable contains PNG raw data and // can be sent in an HTTP response, saved to a file, etc. } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
In-memory PDF to PNG stream
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Create an output stream for the conversion result FileStream outputStream = new FileStream("invoice.zip", FileMode.CreateNew); // run the conversion and write the result to the output stream. client.convertRawDataToStream(File.ReadAllBytes("/path/to/hello_world.pdf"), outputStream); // Close the output stream. outputStream.Close(); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Get info about the current conversion
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setDebugLog(true); client.setForceZip(true); // Run the conversion and save the result to a file. client.convertFileToFile("/path/to/invoice.pdf", "invoice.zip"); // print URL pointing to the debug log for this request. System.Console.WriteLine("Debug log url: " + client.getDebugLogUrl()); // print number of conversion credits remaining in your account. System.Console.WriteLine("Remaining credit count: " + client.getRemainingCreditCount()); // print number of credits consumed for this conversion. System.Console.WriteLine("Consumed credit count: " + client.getConsumedCreditCount()); // print unique identifier assigned to this conversion job. System.Console.WriteLine("Job id: " + client.getJobId()); // print total number of pages in the output document. System.Console.WriteLine("Page count: " + client.getPageCount()); // print size of the output data in bytes. System.Console.WriteLine("Output size: " + client.getOutputSize()); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
ASP.NET Web Forms examples
PDF file to PNG in ASP.NET Web Forms
using System; using System.IO; using System.Web; using System.Web.UI; using System.Web.Mvc; namespace PdfcrowdDemo { public partial class Default: System.Web.UI.Page { protected override void Render(HtmlTextWriter writer) { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertFile("/path/to/invoice.pdf"); // Set HTTP response headers. Response.ContentType = "image/png"; Response.Headers.Add("Cache-Control", "max-age=0"); Response.Headers.Add("Accept-Ranges", "none"); Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("invoice.zip")); // Send the result in the HTTP response. Response.OutputStream.Write(png, 0, png.Length); Response.Flush(); } catch(pdfcrowd.Error why) { // Send the error in the HTTP response. Response.StatusCode = why.getStatusCode(); Response.StatusDescription = why.ToString(); } } } }
PDF url to PNG in ASP.NET Web Forms
using System; using System.IO; using System.Web; using System.Web.UI; using System.Web.Mvc; namespace PdfcrowdDemo { public partial class Default: System.Web.UI.Page { protected override void Render(HtmlTextWriter writer) { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertUrl("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf"); // Set HTTP response headers. Response.ContentType = "image/png"; Response.Headers.Add("Cache-Control", "max-age=0"); Response.Headers.Add("Accept-Ranges", "none"); Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("invoice.zip")); // Send the result in the HTTP response. Response.OutputStream.Write(png, 0, png.Length); Response.Flush(); } catch(pdfcrowd.Error why) { // Send the error in the HTTP response. Response.StatusCode = why.getStatusCode(); Response.StatusDescription = why.ToString(); } } } }
In-memory PDF to PNG in ASP.NET Web Forms
using System; using System.IO; using System.Web; using System.Web.UI; using System.Web.Mvc; namespace PdfcrowdDemo { public partial class Default: System.Web.UI.Page { protected override void Render(HtmlTextWriter writer) { try { // Create an API client instance. pdfcrowd.PdfToImageClient client = new pdfcrowd.PdfToImageClient("demo", "demo"); // If unsure whether the input is a single-page file, enforce ZIP output. client.setOutputFormat("png"); client.setForceZip(true); // Run the conversion and store the result in the `png` variable. byte[] png = client.convertRawData(File.ReadAllBytes("/path/to/hello_world.pdf")); // Set HTTP response headers. Response.ContentType = "image/png"; Response.Headers.Add("Cache-Control", "max-age=0"); Response.Headers.Add("Accept-Ranges", "none"); Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("invoice.zip")); // Send the result in the HTTP response. Response.OutputStream.Write(png, 0, png.Length); Response.Flush(); } catch(pdfcrowd.Error why) { // Send the error in the HTTP response. Response.StatusCode = why.getStatusCode(); Response.StatusDescription = why.ToString(); } } } }