Friday, December 7, 2018

Optimize PDF and clean it up with a simple code

Optimize PDF with easy PDF SDK

Portable Document Format is a container that consists of textual, graphical and technical information, such as fonts, metadata, color profiles, etc. With the popularity of Portable Document Format, the software to create or write a PDF file has also proliferated. Today there are thousands of software products/Applications, which create PDF files.

However, all PDFs are not created equal.

Each software product or Application is geared toward writing the PDF file, focusing on the artifacts in the PDF of interest to them. PDF writers aren’t always careful about maintaining the integrity of the PDF document, and take shortcuts in writing files. The result is still a valid PDF, conforming to PDF/A and PDF/X standards, but may have many discrepancies like:

  • Abandoned pages;
  • Abandoned images;
  • Abandoned hyperlinks;
  • Unsupported fonts.

As a PDF file gets passed among different people who use diverse software to read/write it, or by the same person feeding it to different applications, the above inconsistencies may creep into the file. This typically results in the file size growing mysteriously. Your application may remove some pages, but the file size may still grow! These PDF files are also slow to load in Acrobat Reader, or may not load at all in your software environment.

PDF file before optimization

The best way to optimize your PDF and decrees it size is removing such clutter. It all could be easily done programmatically if you have the time and the where with all to manipulate PDF files.

BCL’s eadyPDF SDK has the functionality to rectify this problem. The SDK has two functions which optimize the PDF, and bring it back to a well-knit efficient structure.

void Optimize(string InputFileName, string OutputFileName, string Password)
void Optimize2(string InputFileName, string OutputFileName, string Password, int Flags, string AdvancedOptions)

Optimizing PDF in .net environment

These functions parse the PDF file, check for unused items, and physically remove them. They also check the sanctity of all objects embedded in the PDF files. The functions take in a Password parameter, in case the PDF file is encrypted. The Optimize2 function uses a Flags parameter, which dictates if the private application data called PieceInfo, and XMP metadata is to be removed. These functions can be called explicitly which processing the PDF form your software, or can be called automatically after the call to any other method in the library. This is controlled by the Boolean OptimizeAfterEachProcess.

PDF Optimized by easyPDF SDK

Thus, no matter the source of your PDF, the easyPDF library can help you keep it optimized, so that it reduces the burden on your applications. After all, you can get the same PDF in a smaller size and of the same quality, which is ready for printing or archiving in a matter of minutes and with a few simple lines of code.

Test the optimization function today by downloading and installing easy PDF SDK free trial now.
Read More

Friday, November 30, 2018

How PDF SDK can help you to grow your business?

PDF SDK to support your buinsess growth

For years businesses have used BCL easyPDF SDK to manage their CRM portfolios effectively. Our toolkit has helped businesses grow the breadth and depth of their services.

PDF has become the de facto standard to store and forward business documents. PDF is a tamper-proof medium for documents which can be read on any hardware or operating system. That is why companies are integrating PDF creation functionality in their solutions.

One of our clients – a software developer who delivers fully integrated registration, reservations, membership, ticketing and admissions software for nonprofits, was trying to make the software more user-friendly by adding some useful features to the app. The software is a cloud-based application that allows non-profit organizations to take reservations, donations, and more. That application was created to manage the entire organization by dealing with nonprofits’ unique business challenges. The software enables its users to create Word documents using templates and mail merge.
The company wanted to improve user experience and the user retention rate, and was exploring additional features for their solution. After some research, they found that the users wanted the end result to be in PDF instead of Word. Since PDF format is very popular, this could distinguish them from their competitors.

To generate PDF files programmatically, the company searched the web and found BCL Technologies among other vendors. They evaluated these products by reading product documentation and also talking to their technical people. They procured evaluation copies of the software and created prototypes. BCL turned out to be the only vendor that could generate a PDF no matter how complex the Word document was, and they went with BCL easyPDF SDK.

Their new features which allowed generating reports and other business documents in PDF were appreciated by user community. Their users became evangelists for their products. This helped the company increase their customer retention rate. The company serendipitously noticed that going to PDF brought in other advantages of data privacy and security. This also helped increase the demand for their product without increasing the marketing budget. Over the next year, the company grew their customer base by more than fifty percent. Finally, a higher customer retention rate and a growing user base reflected in more revenues.

This case demonstrates how a small improvement in a software product can significantly influence the performance of the whole company and support the growth of the business.
If your company provides a software service and generates documents on demand, PDF functionality will improve your performance significantly.

Want to know more about how PDF converter add-on can improve the performance of your product and the organization as well? Contact our team at +1 (408) 557 2080 today to accelerate the growth of your business tomorrow!
Read More

Wednesday, November 21, 2018

Archiving your project's files in PDF

Archiving your projects files in PDF with easyPDF SDK

Archive your project files safely and securely. See how easy it is to develop a powerful PDF Converter that combines your project documents into a single PDF.

Here we are going to show you how to develop an application that combines and converts multiple files to PDF. Most companies need a tool to convert their artifacts to a single PDF for ease of record keeping and archival. Since a PDF document cannot be tampered, it is the most popular format for archival, and is widely supported. When you finish a project, you would want to transfer all the documents to one file in portable document format. This file then is safely and securely stored in your knowledge database.

Convert multiple files to PDF easy

Let’s suppose we want to build an app that does the following operations:

  1. Combine all files in different format inside the project folder together; 
  2. Convert those files to a single PDF file (that to be used as an archive); 
  3. Add date and time of the operation (conversion) at the top of each page, as a header; 
  4. Add a watermark (as an example: "Archive") on every page in the document. 
Let’s review how to do that with convert to PDF in-bulk application in C# with easy PDF SDK.

The coding process uses three core methods. We will begin with the core Method, that will make reference to two other specialized Methods as well, that will be discussed later.

First, this block below is primarily involved with preparation work: to get the file directory we are using, check to make sure it exists, and set up some information to sort through input files. In this case, we have restricted it to some general file types.

string iDIR = "";
List<string> iFILs = new List<string>();
List<string> mFILs = new List<string>();
List<string> fFILs = new List<string>();

List<string> cFILs = new List<string>() { ".doc", ".docx", ".rtf", ".txt", ".xls", ".xlsx", ".htm", ".html" };

if (args.Length >= 1) { iDIR = args[0]; }

Next, we get the list of files in the directory and sort through it to only convert files included in the list of cFILs which lists the File Extensions the application will happen.

string[] tiFILs = Directory.GetFiles(iDIR);
foreach(string s in tiFILs)
string ext = Path.GetExtension(s).ToLower();
if (cFILs.Contains(ext)) { iFILs.Add(s); }

After that, we convert each file. If it is successful, we add the output file's name to the mFILs Array to get a single list of filenames for merging later.

foreach(string s in iFILs)
string cvr = Convert(s);

if (File.Exists(cvr)) { mFILs.Add(cvr); }

else { fFILs.Add(s + ":" + cvr); }

Once the files are all converted, Merge the array of files into a single PDF. This DOES NOT Delete the Intermediary Files because this is just a demo. In a Production Application they would probably want to delete these files eventually, or even just convert them into memory, but that's more advanced.

if (mFILs.Count > 0)
res = Merge(mFILs.ToArray(), iDIR);

From here we need to look at the Convert Method. This is a very important Method because it not only converts the file, but takes advantage of PDFSetting Object to apply both the ‘ARCHIVE’ Watermark and the Conversion Heading in one single method call that automatically applies these to all pages in the PDF. Fortunately easyPDF SDK can apply multiple Watermarks which can each have their own settings.

Printer oPRIN = new Printer();
PrintJob oPJOB = oPRIN.PrintJob;

PDFSetting oPSET = oPJOB.PDFSetting;
oPSET.set_Watermark(0, true);
oPSET.set_WatermarkText(0, "ARCHIVE");
oPSET.set_WatermarkFirstPageOnly(0, false);
oPSET.set_WatermarkHPosition(0, prnWmarkHPosition.PRN_WMARK_HPOS_CENTER);
oPSET.set_WatermarkVPosition(0, prnWmarkVPosition.PRN_WMARK_VPOS_CENTER);
oPSET.set_WatermarkZOrder(0, prnWmarkZOrder.PRN_WMARK_ZORDER_TOP);
oPSET.set_WatermarkTextAlignment(0, prnWmarkAlignment.PRN_WMARK_ALIGN_LEFT);
oPSET.set_WatermarkHOffset(0, 0);
oPSET.set_WatermarkVOffset(0, 0);
oPSET.set_WatermarkFontName(0, "Arial");
oPSET.set_WatermarkFontSize(0, 100);
oPSET.set_WatermarkAngle(0, 60);
oPSET.set_WatermarkOutlineOnly(0, true);
oPSET.set_WatermarkColor(0, 0x0);
oPSET.set_WatermarkOpacity(0, 40);

oPSET.set_Watermark(1, true);
oPSET.set_WatermarkText(1, "Archived On :: " + DateTime.Now);
oPSET.set_WatermarkFirstPageOnly(1, false);
oPSET.set_WatermarkHPosition(1, prnWmarkHPosition.PRN_WMARK_HPOS_LEFT);
oPSET.set_WatermarkVPosition(1, prnWmarkVPosition.PRN_WMARK_VPOS_TOP);
oPSET.set_WatermarkZOrder(1, prnWmarkZOrder.PRN_WMARK_ZORDER_TOP);
oPSET.set_WatermarkTextAlignment(1, prnWmarkAlignment.PRN_WMARK_ALIGN_LEFT);
oPSET.set_WatermarkHOffset(1, 1);
oPSET.set_WatermarkVOffset(1, 0.5);
oPSET.set_WatermarkFontName(1, "Arial");
oPSET.set_WatermarkFontSize(1, 8);
oPSET.set_WatermarkAngle(1, 0);
oPSET.set_WatermarkOutlineOnly(1, false);
oPSET.set_WatermarkColor(1, 0x0);
oPSET.set_WatermarkOpacity(1, 100);
oPJOB.PrintOut(iFile, iFile + ".pdf");
res = iFile + ".pdf";
catch(PrinterException ex)
res = "ERROR : " + iFile + " : " + ex.Message;
res += @"\n" + " CRM : " + oPJOB.ConversionResultMessage;
res += @"\n" + " PRM : " + oPJOB.PrinterResultMessage;

Since we are done with converting and processing PDF files, now we need to merge all of them together. The Merging Method is far simpler, because since we have the Array List of Files, easy PDF SDK has a Method basically built to do this right out of the box. Namely, MergeBatch.

PDFProcessor oPROC = new PDFProcessor();
oPROC.OptimizeAfterEachProcess = true;
oPROC.MergeBatch(iFiles, iDIR + "Output.pdf");
oPROC.Optimize(iDIR + "Output.pdf", iDIR + "Output.pdf", "");
res = "SUCCESS" + " :: Output File :: " + iDIR + "Output.pdf";
catch(PDFProcessorException ex)
res = "ERROR : " + ex.Message;

That is it! We did it. At the end of the process you will get a powerful application that can combine and convert multiple files to PDF and add additional information to it. Keep your project data safe and secure, accessible with a mouse click, and eliminate any anxiety of losing it.

Read more about our PDF SDK features on our website. Do not hesitate to check how it performs all PDF operations in a variety of programing languages. Download it now and start a free trial today.
Read More

Friday, October 26, 2018

easy PDF SDK is Server friendly!

easy PDF SDK is Server friendly

The quintessential characteristic of easyPDF SDK is its operation in Server environments.

Our PDF SDK lives up to its reputation as an enterprise product by operating in demanding Server environments. Enterprises with big Data centers routinely deploy BCL Technologies’ PDF product to facilitate conversions from and to PDF formats. The SDK also offers capabilities to work with multiple files in Portable Document Format and manipulating them.

What makes the SDK a powerful part of a company’s software suite is its ability to perform in Server environments. Companies integrate the SDK in their workflows for a seamless document processing solution. Users build multithreaded applications in the language of their choice (ASP, C#, VB, Java, PHP, Python), with a fast learning curve. They can integrate the SDK into their code typically with a couple of lines of code, not including, of course, the overheads of declarations. For example, the following lines of C# code will print a Word document to a PDF file.

Set oLoader=Server.CreateObject("easyPDF.Loader.8")
Set oPrinter=oLoader.LoadObject("easyPDF.Printer.8")
Set oPrintJob = oPrinter.PrintJob
oPrintJob.PrintOut "C:\test\input.doc", "C:\test\output.pdf"

The easyPDF SDK Loader Object is a helper object to enable easyPDF SDK on server-side environment. If PDF SDK is used in a server environment (either directly or indirectly), you need to access it through this object, instead of accessing them directly. The Loader object eliminates many of the server-side configurations that you would otherwise have to deal with.

Before using the easyPDF Loader object, you need to take a few easy steps described below to configure Windows Service setting.

1. Create and initialize an easyPDF SDK user account

Log on to the computer as the Administrator and create a new user account that will automate easyPDF SDK. Then Add the easyPDF8User account to the Administrators group.
Create a new user account for easy PDF SDK

2. Configure Windows Service settings

Initiate the easyPDF8 Loader service by logging on to it
Logging on to it easy PDF 8 Loader

3. Microsoft Office set up

Log into the user account and start Microsoft Word. This will register the application in this account.
Register the application in Word

Numerous code snippets in the User Manual make it easy to hit the ground running.

Now enterprises have the flexibility of hosting the easyPDF SDK on their own servers, or in virtualized environments like the AWS. Robust error handling and error reporting make easyPDF SDK a platform of choice in the corporate world.

Feel free to contact our support if would you like to know more about addicting PDF functionality and configuring your server.
Read More

Monday, October 15, 2018

PDF API – Open source or Premium?

What PDF API to choose - open source or premium

As PDF files and their use in corporate world is ubiquitous, so is the need to edit or modify these files. Developers have a choice of many tools which give them access to PDF file contents through APIs.

With these APIs you can edit the PDF files to some extent, and perform some operations like split, combine, stamp, etc. Unfortunately, standard programming environments like .NET or Java don’t support such operations. Short of a full-fledged editor, for which you need Acrobat, the APIs can let you programmatically manipulate the PDF files to a limited extent.

For software developers, who need to add PDF functionality to their applications, but don’t have the time to develop their own PDF tools, there are two ways to acquire the API – Open source (free) versions, and premium (paid) versions.

Open source PDF libraries give you most of the editing features which premium versions do. However, software developers still prefer premium PDF libraries. The difference lies in the versatility, reliability and support.


Premium PDF APIs are designed to work on most platforms – Windows, Linux, Mac, etc. Also, they usually contain sample code on each of these platforms to get to you up and running quickly.


Premium versions support intense computing environments like those that exist in the corporate world. For example, an insurance company may need to process thousands of claims every day, submitted as PDF files. Even a low failure rate in such a case is unacceptable, due to the legal liability issues.


Premium PDF API products offer a limited amount of free support, and also offer paid support. This de-risks the use of these products. Open source products rarely offer any support, and the engineers are on their own to make their applications work. Of course, there are forums and user communities these developers can turn to, but that is hit and miss.

In addition, open source PDF libraries usually have fewer features than premium PDF SDK and API, and lack customization as well. With these limitations of open source PDF libraries, software developers can waste a lot of time trying to customize their applications.

There are several good open-source PDF APIs and libraries on the web, which can be very useful for simple projects. But when the quality and performance matters, the pros use premium, corporation-backed solutions.

BCL easyPDF SDK is one premium SDK which gives you a rich set of APIs to address most business needs. The PDF APIs have matured over the years and is battle tested with business-critical applications deployed by fortune 500 companies around the world. This PDF SDK is developed and supported by Silicon Valley professionals who can help you to customize your PDF application and align it with your business needs. To know more about easyPDF SDK, and to try it for free, please visit
Read More

Tuesday, October 2, 2018

Building a powerful PDF to Excel converter app for a finance company

How to build PDF to Excel Converter App in .NET
Are you a programmer or software developer working in the financial industry? You might want to know how to help your colleagues process and analyze financial data faster. 
Most companies publish their financial reports and balance sheets in secured (non-editable) PDF format. Financial analysts have to extract the data manually before they can process it. This is a slow and laborious process.

Microsoft Excel makes for an excellent tool to store, process and analyze financial data. With simple formulas in Excel, one could calculate the regression, find correlation and make a prediction model.
There are several ways of converting PDF to Excel. Standard MS Office suite allows conversion of some PDF files to Excel sheets, but is not suitable for bulk conversions.

There are many 3-d party desktop and web-based tools as well. But most of those tools lack customization, limiting their utility among financial companies.

Is it possible to programmatically import PDF data into Excel tables?

BCL provides an SDK that accurately converts data from PDF Tables into Excel sheets, unlocking the data in any PDF file. This solution is used by some for the largest companies and has received rave reviews for its quality and scalability.

A programmer can easily add PDF to Excel conversion functionality to his/her enterprise class application with just 2 lines of code.

PDF2Excel oConverter = new PDF2Excel();
oConverter.ConvertToExcel(inFile, outFile);

Moreover, BCL’s PDF to Excel API also allows development of robust, multi-threaded systems, and built-in robust exception handling mechanism allows programmers to develop applications that run 24 x 7.

When you need to develop scalable PDF to Excel converter application in .NET which would run in the external working process, download and install the API then use the following code:

using BCL.easyConverter.Excel;

namespace TestPDF2Excel
class Program
static void Main(string[] args)
if(args.Length != 2)

string inputFileName = args[0];
string outputFileName = args[1];
PDF2Excel pdf2excel = new PDF2Excel();
pdf2excel.ConvertToExcel(inputFileName, outputFileName, "", 0, -1);
catch(PDF2ExcelException ex)

File conversion timeout could be customized by the following line of code:

pdf2excel.FileConversionTimeout = 300000;
(300 sec. is a default value)

This prolific PDF to Excel API allows financial industry programmers to build professional PDF to Excel Conversion applications in a few minutes. No need to study multi-volume API manuals and no advanced programming skills are needed. We have developed intuitive graphic user interface, so a user can generate error-free C#, Java, PHP, VB.NET or Python code with a couple of mouse clicks.
Improve the productivity of your enterprise by developing your first PDF to Excel project today. As you can see, it is fast and easy:
  1. Download PDF to Excel API that provides multifarious functionality.
  2. Install the API and start a free trial today to accurately extract financial data from PDF to Excel sheets.
  3. Open easyConverter SDK Excel Explorer, select conversion methods and build your first PDF to Excel project with a few mouse clicks.
Learn more about PDF to Excel API features and benefits. Do not hesitate to see how it performs today.

With everything taken into account, BCL’s PDF to Excel API is a powerful solution that improves your coding experience and is integral to your business success. Furthermore, BCL Technologies experts – well known Silicon Valley professionals, are available to assist you in PDF data extraction and integrating converter functionality into your business. Contact us now at (408) 557-2080 to discuss how we can improve the performance of your business applications together!
Read More

Friday, September 28, 2018

Create PDF from PHP in 3 easy steps

Create PDF from PHP in 3 easy steps

1. Download easyPDF SDK 8
2. Call easyPDF from PHP 

3. And you are on your way



Read More
© 1993 - , BCL Technologies. All other trademarks are the property of their respective owners. Privacy Policy