English | 日本
BCL Technologies
Shopping CartContact Us
BCL easyPDF SDK

C# Code Snippets

Creating PDF

...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);

Printer oPrinter = (Printer)oLoader.LoadObject("easyPDF.Printer.7");

PrintJob oPrintJob = oPrinter.PrintJob;
oPrintJob.PrintOut(Server.MapPath(@".\input.doc"), Server.MapPath(@".\output.pdf"));
...
                  

Preparing Your Server

Watch the video
  • Step 1: Loader Setup
    The Loader Object is a helper object to enable easyPDF SDK on the server-side environment. It eliminates many of the server-side configurations that you would otherwise have to deal with.
  • Step 2: Microsoft Office Setup
    This example shows how to make Microsoft Word ready for server use. All you need to do here is to make sure that there are no pop-up dialogs from Office products during PDF conversion.
  • Step 3: COM Security Setup
    To make the easyPDF SDK objects run properly on the server-side environment.

 

 

Processing and Manipulating PDF

  • Read the PDFProcessor Object Specification
    This object lets you do post-processing of existing PDF files (such as merging multiple PDF files into one, splitting one PDF file into two, and encrypting/decrypting a PDF file)

Merging PDF Files

...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);

PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");

// merge two files using Merge
oProcessor.Merge(Server.MapPath(@".\input1.pdf"), Server.MapPath(@".\input2.pdf"), Server.MapPath(@".\merged.pdf"));

// merge more than two files using MergeBatch
string[] inputFiles = new string[]
{ 
	Server.MapPath(@".\input1.pdf"),
	Server.MapPath(@".\input2.pdf"),
	Server.MapPath(@".\input3.pdf") 
};
oProcessor.MergeBatch(inputFiles, Server.MapPath(@".\merged.pdf"));
...
                  

 

Splitting PDF

...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);

PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");

// split the document at page 3
oProcessor.Split(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\part1.pdf"), Server.MapPath(@".\part2.pdf"), 3);
...
                  

 

Extracting Text from PDF

...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);

PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");

// extract text from pages 1 through 4 to a physical file using ExtractText
oProcessor.ExtractText(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\extracted.txt"), null, 0, 3, null, null);

// extract text from a bounding box on page 1 to a string variable using ExtractText2
string text = oProcessor.ExtractText2(Server.MapPath(@".\input.pdf"), 0, 0, 0, 300, 300, null);
...
                  

 

 

Rasterizing PDF

...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
 
PDFConverter oConverter = (PDFConverter)oLoader.LoadObject("easyPDF.PDFConverter.7");
 
PDF2Image oPDF2Image = oConverter.PDF2Image;
oPDF2Image.Convert(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\output.jpg"), null, null, null);
...
                  

 

Processing PDF Form Fields

Download the input.pdf form (line 27 below)

// this example takes the first two fields in a PDF template
// which are Name and Address, and populates them with 
// values of "BCL Technologies" and "Santa Clara, CA"
 
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
 
PDFDocument oDocument = (PDFDocument)oLoader.LoadObject("easyPDF.PDFDocument.7");
 
oDocument.Open(Server.MapPath(@".\input.pdf"));
 
// get all form fields from the PDF
 
FormFields oFormFields = oDocument.FormFields;

// get the first form field
FormField oFormField = oFormFields[0];
 
TextField oTextField;
 
if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Name")
    {
        // set Name to "BCL Technologies"
        oTextField = (TextField)oFormField;
        oTextField.Value = "BCL Technologies";
    }

// get the second form field
oFormField = oFormFields[1];

if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Address")
    {
        // set Address to "Santa Clara, CA"
        oTextField = (TextField)oFormField;
        oTextField.Value = "Santa Clara, CA";
    }
oDocument.SaveAs(Server.MapPath(@".\output.pdf"));

 

Download Free Trial

Request Pricing

QuickStart Video
Watch a QuickStart Video to see how easy it is to convert Word to PDF.

Complete PDF Features
  • “easyPDF SDK setup was very straightforward, unlike our experience with other products. We wrote just a few lines of code to start using it.” Read the case study
  • “We evaluated many PDF tools and drivers. We even wrote our own. Except for BCL’s easyPDF SDK, all had limitations we couldn’t live with. Some only converted from MS Office and not very well. Others could not do annotation or text stamping on PDF documents. None were as easy to use and as easy to integrate.” Read the case study
-
 
BCL
© 1993 - , BCL Technologies.
All other trademarks are the property of their respective owners.