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.

One thought on “Updated build of new rendering and printing engine for Debenu Quick PDF Library

Leave a Reply