Author Archives: Rowan

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!

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.