Multiple Uses of PDF SDK Powerful Toolkit - ByteScout
  • Home
  • /
  • Blog
  • /
  • Multiple Uses of PDF SDK Powerful Toolkit

Multiple Uses of PDF SDK Powerful Toolkit

In this tutorial, you will learn how you can use PDF (Generator) SDK to create and modify PDF files using C# source code.

PDF (Generator) SDK is a complete toolkit of enhanced PDF engines working in C# and VB.NET that can create a completely new PDF file or add content to the existing PDF).

In this short guide, we will demonstrate the following features of PDF (Generator) SDK in C#:

  1. Merge Two PDF Documents
  2. Insert Page to PDF
  3. Fill PDF Form
  4. Create and Use Template in PDF
  5. Search and Highlights in PDF

Merge Two PDF Documents

The source code snippet can be used to easily merge 2 PDF documents using PDF SDK in C#.

C# Code Sample to Merge PDF Documents

Just copy-paste the following C# source code to see the program in action.

      
using System.Diagnostics; using Bytescout.PDF; namespace CopyPagesFromOneDocumentToAnother { class Program { static void Main(string[] args) { // Open first document Document document1 = new Document("document1.pdf"); document1.RegistrationName = "demo"; document1.RegistrationKey = "demo"; // Open second document Document document2 = new Document("document2.pdf"); document2.RegistrationName = "demo"; document2.RegistrationKey = "demo"; // Add pages from document2 to document1 for (int i = 0; i < document2.Pages.Count; ++i) { document1.Pages.Add(document2.Pages[i]); } // Save merged document document1.Save("MergedDocument.pdf"); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("MergedDocument.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }

Insert Page to PDF

You can use this source code sample to quickly insert a page to PDF using PDF SDK in C#.

C# Code Sample to Add a Page to PDF

You can see the program in action and add a PDF page using the following C# source code.

      
using System.Diagnostics; using Bytescout.PDF; namespace InsertPageToPDF { class Program { static void Main(string[] args) { // Open first document Document document1 = new Document("document1.pdf"); document1.RegistrationName = "demo"; document1.RegistrationKey = "demo"; // Open second document Document document2 = new Document("document2.pdf"); document2.RegistrationName = "demo"; document2.RegistrationKey = "demo"; // Page index to insert document int pageIndexToAdd = 1; // Add pages from document2 to document1 for (int i = 0; i < document2.Pages.Count; ++i) { document1.Pages.Insert((pageIndexToAdd++), document2.Pages[i]); } // Save merged document document1.Save("MergedDocument.pdf"); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("MergedDocument.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }

Fill PDF Form

The following source code sample is used for PDF form filling with the help of PDF SDK in C#.

C# Source Code for PDF Form Filling

In order to see the program how to fill a PDF form, just copy-paste the C# snippet below.

      
using System; using System.Diagnostics; using Bytescout.PDF; namespace FillFormExample { /// <summary> /// This example demonstrates how to fill PDF form programmatically. /// </summary> class Program { static void Main() { // Load PDF form Document pdfDocument = new Document(@"form.pdf"); pdfDocument.RegistrationName = "demo"; pdfDocument.RegistrationKey = "demo"; Page page = pdfDocument.Pages[0]; // Get widget by its name and change value ((EditBox) page.Annotations["editBox1"]).Text = "Test 123"; ((EditBox) page.Annotations["editBox2"]).Text = "Test 456"; ((CheckBox) page.Annotations["checkBox1"]).Checked = true; // Save modified document pdfDocument.Save("result.pdf"); // Cleanup pdfDocument.Dispose(); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }

Create and Use Template in PDF

This C# source code sample would be used to quickly create and use a template in PDF using PDF SDK in C#.

C# Code Sample to Create & Use PDF Template

Just copy-paste the following C# source code to see the program in action.

      
using System.Diagnostics; using System.Drawing; using Bytescout.PDF; using Font = Bytescout.PDF.Font; using SolidBrush = Bytescout.PDF.SolidBrush; namespace Templates { /// <summary> /// This example demonstrates how to use templates. /// </summary> class Program { static void Main() { // Create new document Document pdfDocument = new Document(); pdfDocument.RegistrationName = "demo"; pdfDocument.RegistrationKey = "demo"; // Prepare simple template (for example, a logo) and draw it on every page // Create template of specified size GraphicsTemplate template = new GraphicsTemplate(250, 50); // Draw the logo template.DrawRectangle(new SolidBrush(new ColorRGB(192, 192, 255)), 0, 0, 250, 50); template.DrawString("My Company Logo", new Font(StandardFonts.TimesBoldItalic, 24), new SolidBrush(), 30, 10); // Add few pages and draw the prepared template on each one for (int i = 0; i < 3; i++) { Page page = new Page(PaperFormat.A4); page.Canvas.DrawTemplate(template, 10, 10); pdfDocument.Pages.Add(page); } // Save document to file pdfDocument.Save("result.pdf"); // Cleanup pdfDocument.Dispose(); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } }

Search and Highlights in PDF

This C# source code snippet might be used for Reg Ex search and highlights in PDF – see this tutorial using PDF SDK in C#.

C# Code Sample for Search and Highlights in PDF

Just use the C# source code snippet below to see the program in action.

      
using System.Diagnostics; using System.Drawing; using Bytescout.PDFExtractor; using Bytescout.PDF; using Pen = Bytescout.PDF.Pen; using SolidBrush = Bytescout.PDF.SolidBrush; namespace SearchAndHighlightExample { class Program { static void Main(string[] args) { const string inputFile = @"sample.pdf"; const int pageIndex = 0; const string searchPattern = "\\d+\\.\\d+"; // Prepare TextExtractor using (TextExtractor textExtractor = new TextExtractor("demo", "demo")) { textExtractor.RegexSearch = true; textExtractor.LoadDocumentFromFile(inputFile); // Load document with PDF SDK using (Document pdfDocument = new Document(inputFile)) { pdfDocument.RegistrationName = "demo"; pdfDocument.RegistrationKey = "demo"; Page pdfDocumentPage = pdfDocument.Pages[pageIndex]; Canvas canvas = pdfDocumentPage.Canvas; SolidBrush fillBrush = new SolidBrush(new ColorRGB(255, 0, 0)); fillBrush.Opacity = 50; // make the brush transparent // Search for pattern and highlight found pieces if (textExtractor.Find(pageIndex, searchPattern, caseSensitive: false)) { do { foreach (var foundPiece in textExtractor.FoundText.Elements) { // Inflate the rectangle a bit RectangleF rect = RectangleF.Inflate(foundPiece.Bounds, 1, 2); // Draw rectangle over the PDF page canvas.DrawRectangle(fillBrush, rect); } } while (textExtractor.FindNext()); } // Save as new PDF document pdfDocument.Save("result.pdf"); // Open result document in default associated application (for demo purposes) Process.Start("result.pdf"); } } } } }

The following video guide would be also useful:

The above code snippets demonstrate just a few of the multiple functionalities PDF (Generator) SDK can offer. Check the documentation for more.

   

About the Author

ByteScout Team ByteScout Team of Writers ByteScout has a team of professional writers proficient in different technical topics. We select the best writers to cover interesting and trending topics for our readers. We love developers and we hope our articles help you learn about programming and programmers.  
prev
next