Debenu Windows, Mac and iOS PDF SDK Release

As some of you will have noticed by now we have released the new Mac and iOS versions of Debenu Quick PDF Library onto the Debenu website. The iOS version is completely new and the Mac version is superior to the previous Mac version with full support for all functions except for printing and EMF related functions.

Currently the Windows version of the new C++ cross-platform compatible library is only available from the Debenu Labs website. We will shortly be releasing a new LIB edition which will include 64-bit support and be superior to the previous version. If you have a license key for the current Windows version on the website it will work with this new C++ Windows version.

All of the latest builds of the new cross-platform compatible library can be downloaded from here:

Platform Edition
Windows (32-bit/64-bit) ActiveX, DLL Download
Mac OS X (32-bit/64-bit) Dylib Download
iOS (32-bit/64-bit/arm6/arm7/arm7s/arm64) iOS Static Lib Download

Please note: EMF functionality is not included in Mac and iOS builds and digital signature support is currently only supported on Windows but will be supported on other platforms in the next beta.

Feedback

To help us to further improve the new cross-platform version of the library we need your feedback. Leave comments on this blog with general comments and if you discover a bug, performance issue or some other issue that you think should be reported to us please fill out the bug report form and send it to us. Select “Debenu Quick PDF Library Cross-Platform Beta” as the Product when you submit the report and be sure to accurately update the Edition and Operating System fields.

We look forward to your feedback!

New Debenu Cross-Platform and Mobile PDF SDK Beta 1

Earlier in the year we released a developer preview build of our new cross-platform and mobile PDF SDK. The first developer preview only included the Windows build, but since then we’ve been busy at work on the first public beta release, which includes Windows, Mac and iOS builds. The first beta is now ready for testing.

As stated previously this new PDF SDK has been engineered to be truly cross-platform so that it can be used to build applications for Windows, Mac OS X, Linux, iOS and Android. Other mobile platforms will be supported in due course as well. We will continue to develop the Delphi version on Windows as well.

Currently the cross platform library runs on Windows (32/64-bit DLL and 32/64-bit ActiveX), Mac OS X (32/64-bit Dylib) and iOS (arm6, arm7, arm7s and arm64).

Release notes: the release notes for this beta release can be downloaded from here. The release notes contain information about the release and getting started tips for using the various editions of the new library. In particularly tips on how to use the OS X and iOS editions are provided.

Platform Edition
Windows (32-bit/64-bit) ActiveX Download
Windows (32-bit/64-bit) DLL Download
Mac OS X (32-bit/64-bit) Dylib Download
iOS (32-bit/64-bit/arm6/arm7/arm7s/arm64) iOS Static Lib Download

Please note: EMF functionality is not included in Mac and iOS builds and digital signature support is currently only supported on Windows but will be supported on other platforms in the next beta.

Feedback

To help us to further improve the new cross-platform version of the library we need your feedback. Leave comments on this blog with general comments and if you discover a bug, performance issue or some other issue that you think should be reported to us please fill out the bug report form and send it to us. Select “Debenu Quick PDF Library Cross-Platform Beta” as the Product when you submit the report and be sure to accurately update the Edition and Operating System fields.

We look forward to your feedback!

Debenu Cross-Platform PDF Library Developer Preview 1

Please note: you can download the the developer preview release further down the page. Please leave any feedback, feature requests or issues you experience as comments on this blog post.

We’re excited to make available today the first developer preview release of our new cross-platform PDF library. This new PDF SDK is being engineered to be truly cross-platform compatible so that it can be used to build applications on Windows, Mac OS X, Linux and most importantly in the age of mobile: iOS and Android.

The current library is somewhat cross-platform compatible in that it supports Windows and Mac, but in our quest to be the number #1 PDF library on the market, we need to be able to be truly cross-platform compatible.

1. Introduction

The previous version of the library was written in Delphi and while this language has served us well there are major limitations to the future of the library in terms of possible operating systems, processors and platforms that the software could run on.

We have spent a lot of time porting the software from Delphi to C++ with the aim of having a truly cross platform library that can operate identically on many different platforms.

This initial release is only available for Windows, packaged as a 32-bit DLL. Future releases will be made available for 64-bit, ActiveX, LIB, MacOS and Linux. Finally we will start the transition to mobile with releases for iOS, Android and possibly Windows Phone.

2. Differences

We have done our best to keep the binary API exactly the same with the new DLL. One notable difference is that the Agg-based renderer is now compiled directly into the DLL instead of being offered as a separate product.

The SetDPLRFileName function is still available (exported as DPLSetDPLRFileName) however it will always return 1.

3. Performance issues

We have started to optimize the core C++ code however there are still a few places where performance is an issue, including:

* SaveImageToFile
* Renderering PDFs with large images

4. Remaining problems

Rendering to EMF+ format (option 8) causes an exception. You should avoid using this option for now.

5. Try it for yourself

Existing users of Debenu Quick PDF Library need not fear having to learn a new API. With the new cross-platform library we have retained the same public API so all the function names and calling conventions are the same. In this first developer preview we have only provided a Windows DLL for testing but Mac, iOS and Android binaries will be following in the coming months.

Download PDF SDK Preview

The 32-bit Windows DLL that we are providing for this preview release can be used in the exact same was as the DLL edition of version 10.16 of Debenu Quick PDF Library. All valid trial license keys and valid version 10 license keys can be used with this preview release. If you do not have a valid version 10 license key or a trial license key leave a comment and we will send you one.

6. The future

The future is bright for Debenu Quick PDF Library. We will continue to develop the Delphi, DLL, ActiveX, LIB and Dylib versions of the library but we will also be able to produce binaries for iOS, Android, a 64-bit Mac version, a 64-bit LIB version and will also be able to support new platforms much faster than we have been able to do so previously.

Please leave a comment on this blog post with any feedback on the new release or requests for future releases.

Stay tuned, the rest of 2014 is going to be very exciting!

Debenu Quick PDF Library 10.13 released along with updated rendering engine and new PDF Viewer Control

Thanks to everyone who participated in the first phase of Debenu Labs. We kicked Debenu Labs off with two exciting new projects which have long been sought after by our customers.

The new rendering and printing engine is now distributed as part of Debenu Quick PDF Library 10.13 and the new PDF viewer control, officially known as Debenu PDF Viewer SDK, is now available as a commercial add-on to Debenu Quick PDF Library.

You can expect lots more improvements to the rendering and printing engine as well as the viewer control over the coming months.

Of course we’ve got other exciting projects coming up as well, so stay tuned and as always send us your feedback!

Debenu PDF Viewer SDK Beta 2: An ActiveX Control for Displaying PDF Files

We’re really excited to announce the second beta release of Debenu PDF Viewer SDK, a new visual PDF viewer ActiveX control, which will be sold as an add-on to Debenu Quick PDF Library 10.

Debenu PDF Viewer SDK will be provided as an ActiveX control which can be used to quickly add PDF viewing capabilities to Windows applications. While users of Debenu Quick PDF Library have always been able to construct their own PDF viewers using the rendering functions, we’ve had many requests for a more simpler solution that could be quickly added to an application in minutes and due to popular demand, we’ve decided to do it.

For now the PDF viewer control contains simple zooming, page scrolling and page flipping features. It will of course be enhanced further with each beta release based on the feedback that you give us and the desire you express for certain features.

Steps

  1. First step is to download the Debenu PDF Viewer SDK Beta 2 installer.
  2. Installer the files to desired location (default is Program Files).
  3. The ActiveX will automatically register (regsvr32) during the installation process.
  4. By default the files are installed to this location: C:\Program Files (x86)\Debenu\PDF Viewer Control
  5. There will be three binaries in the folder: DPVActiveX.ocx (the ActiveX control), DebenuPDFRendererDLL1013.dll (the rendering engine), DebenuPDFLibraryDLL1013.dll (the core PDF library).
  6. In the Samples folder there is a Delphi and Visual C# sample.
  7. Copy the DebenuPDFRendererDLL1013.dll and DebenuPDFLibraryDLL1013.dll so that they are in the same folder as the generated executable in Release or Debug folders or update the LibraryPath property of the ActiveX control to point to the correct location.

Note: if you do not specify the LibraryPath or copy the DLLs to the same folder as the executable then the DPVActiveX Component will be unable to find Debenu Quick PDF Library and no PDF files will be displayed.

Feedback

We want your feedback. In order to help us prioritize in which order features are added we need to hear fro you as to which features you want! So please, leave a comment with your feedback and lets start the conversation.

Updated build of new rendering and printing engine for Debenu Quick PDF Library

Please note that the information and files shared in this blog post are private and confidential and should not be discussed on any public forums until otherwise stated by Debenu.

A few weeks have passed since we shared the first new rendering engine beta with you and we have continued to work hard on improving it in the mean time. We’ve made additional improvements to the rendering engine, connected it to all of the rendering functions (RenderDocumentToFile, RenderPageToFile, etc) and we’ve also hooked it up to the printing functions.

Yes, that’s right, the new rendering engine is now also connected to the printing functionality so all of the new transparency, shading, patterns, image handling enhancements and other improvements are available when displaying PDF files on screen and printing PDF files to paper.

The list of improvements so far include:

  • Full transparency support (transparency groups, soft masks, including all supported blend modes)
  • Shading patterns support (function-based shadings, axial shadings, radial shadings, triangle meshes, coons patch meshes, tensor-product patch meshes)
  • Tiling patterns support (colored, uncolored)
  • Line dash pattern support
  • Image handling improvements (images can now be passed to DPLR as a pure data, new image transformation tool)
  • Additional image rendering filters (bilinear, bicubic) to improve image antialiasing
  • PDF functions bug fixes
  • All rendering functions now work with the new rendering engine (DPLR)
  • The new rendering engine can now be used with printing functions
  • Smaller spool sizes when printing

This new rendering engine will be part of the standard Debenu Quick PDF Library although it will be a separate DLL which will need to be called from within the main library binary file.

The steps for installing and using this new rendering engine are provided below.

Steps

  1. Download and install Debenu Quick PDF Library 10.13 Beta 1 (if you haven’t already got it installed. You will need version 10.13 Beta 1 in order to use the new rendering engine.
  2. Download the new Debenu PDF Renderer (DebenuPDFRendererDLL1013.dll is 32-bit and DebenuPDFRenderer64DLL1013.dll is 64-bit) binaries.
  3. In your code call the SetDPLRFileName function to specify the location of the DebenuPDFRendererDLL1013.dll binary file on your machine. Then call the SelectRenderer function and specify 3 as the value for the RendererID parameter to select the new Debenu PDF Library Renderer (DPLR).
  4. Now call either the RenderPageToDC or DARenderPageToDC functions to see the results of the new rendering engine. All other rendering functions can now be used with the new rendering engine, so if you’d prefer to use RenderPageToFile or a similar function then go for it.
  5. Leave a comment with your feedback and any issues you experience.

Sample Code

Here’s some sample code in C# which demonstrates how to choose the new rendering engine and then render each page as an image.

DPL.LoadFromFile("Test.PDF", "");
 
double pw, ph;
double scale, sx, sy;
 
if ((DPL.PageRotation() % 180) == 0)
{
    pw = DPL.GetPageBox(2, 2);  // Width
    ph = DPL.GetPageBox(2, 3);  // Height
}
else
{
    pw = DPL.GetPageBox(2, 3);  // Rotated Height
    ph = DPL.GetPageBox(2, 2);  // Rotated Width
}
 
sx = pictureBox1.Width / pw;
sy = pictureBox1.Height / ph;
 
scale = Math.Min(sx, sy);
 
int page = 1;
 
Bitmap b = new Bitmap((int)pictureBox1.Width, (int)pictureBox1.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(b))
{
    IntPtr dc = g.GetHdc();
 
	// Point to the new DPLR DLL
    int SetDPLRVal = DPL.SetDPLRFileName(@"C:\Temp\RenderAGG\DebenuPDFRendererDLL1013.dll");
 
	// Select the new DPLR engine
    int SelectRendVal = DPL.SelectRenderer(3);
 
	// Render to DC
    DPL.RenderPageToDC(72 * scale, page, (int)dc);
    g.ReleaseHdc(dc);
    pictureBox1.Image = b;
}

Feedback

Do you like what you see with the new rendering engine? Leave a comment either way, we’d love to hear from you.

New PDF viewer control add-on for Debenu Quick PDF Library

We’re really excited to announce the release beta release of Debenu PDF Viewer SDK, a new visual PDF viewer control, which will be sold as an add-on to Debenu Quick PDF Library 10.

Debenu PDF Viewer SDK will be provided as an ActiveX control which can be used to quickly add PDF viewing capabilities to Windows applications. While users of Debenu Quick PDF Library have always been able to construct their own PDF viewers using the rendering functions, we’ve had many requests for a more simpler solution that could be quickly added to an application in minutes and due to popular demand, we’ve decided to do it.

For now the PDF viewer control contains simple zooming, page scrolling and page flipping features. It will of course be enhanced further with each beta release based on the feedback that you give us and the desire you express for certain features.

Steps

  1. First step is to download Debenu PDF Viewer SDK Beta 1
  2. Extract files to desired location
  3. Register DPVActiveX.ocx using RegisterDPVActiveX.cmd or with command prompt + regsvr32
  4. Unzip Delphi sample project
  5. Import registered DPVActiveX component as New Package and install to Delphi environment
  6. Open sample Delphi project
  7. Specify the Debenu Quick PDF Library path in the LibraryPath property of DPVActiveX component or copy the DLLs to the sample project output executable (default)

Note: if you do not specify the LibraryPath the DPVActiveX Component will most likely not find Debenu Quick PDF Library, however, if its in the same folder as the output exe it will load it when Run is executed.

Feedback

We want your feedback. In order to help us prioritize in which order features are added we need to hear fro you as to which features you want! So please, leave a comment with your feedback and lets start the conversation.

New PDF rendering engine for Debenu Quick PDF Library

Please note that the information and files shared in this blog post are private and confidential and should not be discussed on any public forums until otherwise stated by Debenu.

We’re really excited to share with you a new rendering engine that we’ve been working on for Debenu Quick PDF Library. This new rendering engine no longer relies on GDI+ and has major improvements in the following areas:

  • Full transparency support (transparency groups, soft masks, including all supported blend modes)
  • Shading patterns support (function-based shadings, axial shadings, radial shadings, triangle meshes, coons patch meshes, tensor-product patch meshes)
  • Tiling patterns support (colored, uncolored)
  • Line dash pattern support
  • Image handling improvements (images can now be passed to DPLR as a pure data, new image transformation tool)
  • Additional image rendering filters (bilinear, bicubic) to improve image antialiasing
  • PDF functions bug fixes

This new rendering engine will be part of the standard Debenu Quick PDF Library although it will be a separate DLL which will need to be called from within the main library binary file.

The steps for installing and using this new rendering engine are provided below.

Steps

  1. Download and install Debenu Quick PDF Library 10.12 from the product updates page (if you haven’t already got it installed. You will need version 10.12 in order to use the new rendering engine.
  2. Download the new Debenu PDF Renderer (DebenuPDFRendererDLL1012.dll is 32-bit and DebenuPDFRenderer64DLL1012.dll is 64-bit) binaries.
  3. In your code call the SetDPLRFileName function to specify the location of the DebenuPDFRenderer.dll binary file on your machine. Then call the SelectRenderer function and specify 3 as the value for the RendererID parameter to select the new Debenu PDF Renderer.
  4. Now call either the RenderPageToDC or DARenderPageToDC functions to see the results of the new rendering engine. Currently only rendering to DC (device context) is supported but support will also be added for functions such as RenderPageToFile shortly.

Sample Code

Here’s some sample code in C# which demonstrates how to choose the new rendering engine and then render each page as an image.

DPL.LoadFromFile("Test.PDF", "");
 
double pw, ph;
double scale, sx, sy;
 
if ((DPL.PageRotation() % 180) == 0)
{
    pw = DPL.GetPageBox(2, 2);  // Width
    ph = DPL.GetPageBox(2, 3);  // Height
}
else
{
    pw = DPL.GetPageBox(2, 3);  // Rotated Height
    ph = DPL.GetPageBox(2, 2);  // Rotated Width
}
 
sx = pictureBox1.Width / pw;
sy = pictureBox1.Height / ph;
 
scale = Math.Min(sx, sy);
 
int page = 1;
 
Bitmap b = new Bitmap((int)pictureBox1.Width, (int)pictureBox1.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(b))
{
    IntPtr dc = g.GetHdc();
 
	// Point to the new DPLR DLL
    int SetDPLRVal = DPL.SetDPLRFileName(@"C:\Temp\RenderAGG\DebenuPDFRendererDLL1012.dll");
 
	// Select the new DPLR engine
    int SelectRendVal = DPL.SelectRenderer(3);
 
	// Render to DC
    DPL.RenderPageToDC(72 * scale, page, (int)dc);
    g.ReleaseHdc(dc);
    pictureBox1.Image = b;
}

Feedback

Do you like what you see with the new rendering engine? Leave a comment either way, we’d love to hear from you.

Welcome to Debenu Labs

On behalf of the development team at Debenu I would like to introduce you to Debenu Labs.

What is Debenu Labs, I hear you ask? Debenu Labs is where software engineers at Debenu can share prerelease software with Debenu customers and also share prototypes of potential new products and technology with customers as well. Read our mission statement for more details on how we intend to use this site.

The success of Debenu Labs will depend on its usefulness to Debenu’s customers, so as a customer, we would really like to hear your feedback on our beta releases and prototypes. Leave a comment, make a suggestion and get involved.