PDF to PDF .NET Examples
These examples demonstrate common PDF to PDF API workflows in .NET.
Basic examples
Multiple PDFs to PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/cover.pdf"); client.addPdfFile("/path/to/proposal.pdf"); client.addPdfFile("/path/to/price.pdf"); client.addPdfFile("/path/to/contact.pdf"); // Run the conversion and save the result to a file. client.convertToFile("offer.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Multiple PDFs to in-memory PDF
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/cover.pdf"); client.addPdfFile("/path/to/proposal.pdf"); client.addPdfFile("/path/to/price.pdf"); client.addPdfFile("/path/to/contact.pdf"); // Run the conversion and store the result in the `pdf` variable. byte[] pdf = client.convert(); // at this point the "pdf" variable contains PDF 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; } } }
Multiple PDFs to PDF stream
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/cover.pdf"); client.addPdfFile("/path/to/proposal.pdf"); client.addPdfFile("/path/to/price.pdf"); client.addPdfFile("/path/to/contact.pdf"); // Create an output stream for the conversion result FileStream outputStream = new FileStream("offer.pdf", FileMode.CreateNew); // run the conversion and write the result to the output stream. client.convertToStream(outputStream); // Close the output stream. outputStream.Close(); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Multiple in-memory PDFs to PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfRawData(File.ReadAllBytes("/path/to/cover.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/proposal.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/price.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/contact.pdf")); // Run the conversion and save the result to a file. client.convertToFile("offer.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Join 2 in-memory PDFs together with 2 local PDF files to PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfRawData(File.ReadAllBytes("/path/to/cover.pdf")); client.addPdfFile("/path/to/proposal.pdf"); client.addPdfRawData(File.ReadAllBytes("/path/to/price.pdf")); client.addPdfFile("/path/to/contact.pdf"); // Run the conversion and save the result to a file. client.convertToFile("offer.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Watermark a PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/proposal.pdf"); client.setPageWatermark("/path/to/watermark.pdf"); // Run the conversion and save the result to a file. client.convertToFile("company_offer.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Linearize a PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/not_linearized.pdf"); client.setLinearize(true); // Run the conversion and save the result to a file. client.convertToFile("linearized.pdf"); } 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.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.setDebugLog(true); client.addPdfRawData(File.ReadAllBytes("/path/to/cover.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/proposal.pdf")); // Run the conversion and save the result to a file. client.convertToFile("offer.pdf"); // 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; } } }
PDF manipulation examples
Extract page 3 and all pages from 7 to the end from the PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/your-path-to/pdfs/13_pages.pdf"); client.setAction("extract"); client.setPageRange("3,7-"); // Run the conversion and save the result to a file. client.convertToFile("output.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Delete the first 3 pages and the 10th page from the PDF file
using System; using System.IO; public class ApiTest { public static void Main() { try { // Create an API client instance. pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/your-path-to/pdfs/13_pages.pdf"); client.setAction("delete"); client.setPageRange("1-3,10"); // Run the conversion and save the result to a file. client.convertToFile("output.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
Split the PDF file into two separate files at the 10th page
using System; using System.IO; public class ApiTest { public static void Main() { try { pdfcrowd.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); client.addPdfFile("/your-path-to/pdfs/13_pages.pdf"); client.setAction("extract"); client.setPageRange("1-10"); client.convertToFile("pages1-10.pdf"); client.setPageRange("11-"); client.convertToFile("pages11-end.pdf"); } catch(pdfcrowd.Error why) { System.Console.Error.WriteLine("PDFCrowd Error: " + why); throw; } } }
ASP.NET Web Forms examples
Multiple PDFs to PDF 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.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfFile("/path/to/cover.pdf"); client.addPdfFile("/path/to/proposal.pdf"); client.addPdfFile("/path/to/price.pdf"); client.addPdfFile("/path/to/contact.pdf"); // Run the conversion and store the result in the `pdf` variable. byte[] pdf = client.convert(); // Set HTTP response headers. Response.ContentType = "application/pdf"; 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("offer.pdf")); // Send the result in the HTTP response. Response.OutputStream.Write(pdf, 0, pdf.Length); Response.Flush(); } catch(pdfcrowd.Error why) { // Send the error in the HTTP response. Response.StatusCode = why.getStatusCode(); Response.StatusDescription = why.ToString(); } } } }
Multiple in-memory PDFs to PDF 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.PdfToPdfClient client = new pdfcrowd.PdfToPdfClient("demo", "demo"); // Configure the conversion. client.addPdfRawData(File.ReadAllBytes("/path/to/cover.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/proposal.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/price.pdf")); client.addPdfRawData(File.ReadAllBytes("/path/to/contact.pdf")); // Run the conversion and store the result in the `pdf` variable. byte[] pdf = client.convert(); // Set HTTP response headers. Response.ContentType = "application/pdf"; 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("offer.pdf")); // Send the result in the HTTP response. Response.OutputStream.Write(pdf, 0, pdf.Length); Response.Flush(); } catch(pdfcrowd.Error why) { // Send the error in the HTTP response. Response.StatusCode = why.getStatusCode(); Response.StatusDescription = why.ToString(); } } } }