An extensible and robust cross-platform rendering engine and API for high-quality, resolution-independent portable documents, user interfaces and more.
D-Type PowerDoc Engine is a high-performance, extensible and robust cross-platform C/C++ rendering library and API for creating high-quality, resolution-independent scalable documents, user interfaces and all kinds of portable visual presentations that seamlessly integrate text, bitmap and vector graphics. This unique library is suitable for all types of applications that create, manipulate, display and store visual information.
The following points highlight the key design decisions behind D-Type PowerDoc Engine:
D-Type PowerDoc Engine’s primary goal is to render entire pages (views) and documents. This includes e-books, forms, charts, maps, multimedia presentations, splash pages, user interfaces and all types of resolution-independent portable electronic documents.
D-Type PowerDoc Engine streamlines the process of creating, manipulating, displaying, and storing visual information, allowing programmers to focus on document structure while the engine handles the complexities of resolution-independent layout, rasterization and display.
D-Type PowerDoc Engine stores its documents in a highly optimized, efficient and infinitely extensible binary format.
With D-Type PowerDoc Engine, graphical elements are created according to predefined design specifications. By adhering to these specifications, developers can easily define PowerDoc objects that the engine renders quickly and efficiently. As a result, D-Type PowerDoc Engine does not require complex parsing machinery to process and render its documents, unlike technologies such as PDF, PostScript or SVG. Nevertheless, D-Type PowerDoc Engine can render virtually anything these technologies can, but it does so much more quickly and efficiently.
D-Type PowerDoc Engine offers comprehensive support for rich text layout, making it ideal for rendering complex text. It supports unidirectional and bidirectional text, complex scripts (such as Arabic, Indic or Thai), horizontal and vertical writing directions, inline objects, advanced typography and more.
As with all other D-Type engines, the rendering quality is excellent. Crisp, smooth, anti-aliased text and graphics are standard. Additionally, D-Type PowerDoc Engine supports OpenType color fonts, alpha masking, high-quality bitmap resampling and filtering, various types of gradients, transformations and other advanced functions.
Despite its powerful capabilities, D-Type PowerDoc Engine is easy to master, making it suitable for both beginners and professionals. It features a clean, intuitive, and versatile API, along with D-Type PowerDoc Editor, a visual application that helps developers create complex PowerDoc documents that can later be manipulated through code.
It should be noted that D-Type PowerDoc Engine extends the standard suite of D-Type libraries and exposes their APIs in addition to its own. Therefore, by licensing D-Type PowerDoc Engine, developers gain access not only to its API but also to the D-Type Font Engine, D-Type Grayscale Rasterizer, D-Type Direct Color Rasterizer and D-Type Shading Rasterizer APIs.
D-Type PowerDoc is a portable, high-quality and high-performance resolution-independent rendering technology. Its primary purpose is to create and render entire pages and documents in a device, resolution and platform-independent manner. This includes e-books, large volumes of text, forms, charts, maps, multimedia presentations, splash pages, user interfaces and similar electronic documents.
D-Type PowerDoc Engine is a high-level scalable graphics library that features a rich set of drawing primitives. The term “scalable” means that all visual elements (text, shapes, bitmap images) are interpreted as vectors rather than bitmaps. This allows applications to scale the output to virtually any desired size without compromising quality. Additionally, this approach makes it possible to apply various mathematical transformations on drawing primitives, including compression, expansion, rotation, skew, perspective or any combination thereof. The term “high-level” indicates that D-Type PowerDoc Engine is not merely a collection of routines for drawing graphics; it is a technology for creating and rendering entire pages and documents in an object-oriented manner.
Documents created by D-Type PowerDoc Engine can be stored on disk for later use or appended to other documents to create more complex compositions. Documents stored on disk in D-Type PowerDoc format are device-, resolution- and platform-independent, making them fully portable across applications and various platforms (Windows, Mac, Linux). Additionally, the D-Type PowerDoc API is fully cross-platform, enabling applications that utilize it to be developed in the same cross-platform spirit. This embodies the principle of writing once and compiling on many different platforms without modifications.
D-Type PowerDoc is not a vector-based drawing application or a desktop publishing application. However, it is highly suitable as the rendering engine for these types of applications. This is because D-Type PowerDoc provides all the necessary infrastructure to build complex text and graphics often used in vector-based drawing programs and desktop publishing applications.
Additionally, D-Type PowerDoc is not a language or technology for describing the logical structure of documents. In other words, D-Type PowerDoc Engine is not designed to directly process structural content in documents, such as chapters, headings, subheadings, paragraphs, lists, data tables, or tables of contents. The representation and handling of structural content, when needed, is the responsibility of your application. Nevertheless, D-Type PowerDoc Engine provides all the infrastructure required to render complex structured documents quickly and efficiently, making it an excellent choice as the primary rendering engine in applications that process and manipulate this kind of content.
D-Type PowerDoc Engine excels at rendering high-quality electronic documents and performs exceptionally well on all types of output devices, including monitors, LCD screens, and TV screens. The engine generates identical results, down to the pixel, on any platform your application runs on — whether it be Windows, macOS, Linux, iOS, Android or your own custom embedded system.
D-Type PowerDoc unifies text, vector and bitmap graphics in its clean, intuitive and advanced object-oriented rendering model. With D-Type PowerDoc Engine, documents are constructed using PowerDoc objects. These objects serve as the building blocks of any document, regardless of its complexity.
D-Type PowerDoc Engine provides applications with advanced graphics capabilities, including high-quality, true color 24-bits per pixel (bpp) anti-aliased rendering with 8-bpp alpha channels, alpha-masking, blending and high-quality bitmap resampling filters. D-Type PowerDoc renders both vector and bitmap objects with equal efficiency.




D-Type PowerDoc Engine offers text layout and text rendering capabilities that few other products can match. It supports bidirectional text with arbitrary nesting depths, complex scripts such as Arabic, Indic, or Thai, horizontal and vertical writing directions, inline objects that can be anchored anywhere in the text, advanced typographical properties, and remarkable text processing and rendering speed.
D-Type PowerDoc Engine provides built-in infrastructure for “live” text editing. This functionality enables D-Type PowerDoc applications to easily obtain precise information about the position and extent of each glyph rendered on the screen. Applications can also retrieve an index that maps each glyph back to the input text, along with other useful information regarding text layout operations. This capability allows for seamless support of highlighting selected text, implementing cursor movement, and conducting hit testing.
All of this functionality is facilitated through the use of Frames, which are special PowerDoc objects representing arbitrary quadrilaterals (4-point polygons) that enclose every glyph rendered on the screen. Frames are described in greater detail in the technical documentation provided with the evaluation libraries. The advantage of Frames is their reliability and flexibility, regardless of the complexity of the text — whether it is unidirectional or bidirectional, rendered horizontally or vertically, transformed, or displayed in perspective.
Affine and 2D perspective transformations (i.e. a full 3×3 transform matrix) can be applied to any PowerDoc object, whether it is text, bitmap or vector-based. This capability enables D-Type PowerDoc applications to easily transform objects (e.g. stretch, rotate, skew) and even render them in perspective. Best of all, the text stays fully editable, even when it’s transformed — giving applications the freedom to create dynamic and interactive layouts.


A typical D-Type PowerDoc document consists of one or more pages. The term “page” is quite generic and can have different meanings depending on the application; it may refer to a page in a book, a layer, a worksheet, a view, a window, a computer display, or any other two-dimensional surface.
Each page consists of one or more PowerDoc images. By definition, images are visual representations of PowerDoc objects. Typical PowerDoc objects include characters, text lines, text areas, rectangles, circles, custom shapes, gradients, bitmap images and other visual elements. Before a PowerDoc object can be drawn, an image specifying its position on the page must be created. Later, images can be moved, copied to another page, multiplied, and so on. However, not all PowerDoc objects have images. For example, some objects simply hold data and have no visual representation.
Every object has one or more properties. For example, color and transparency (pdRGBT) are properties of the Surface object, while font (pdFontIndex) and font size (pdFontDw and pdFontDh) are properties of the Typography object.
More complex objects are built upon simpler ones through a process called linking. For example, the Shadow object is built by linking to the Surface object and supplying two additional properties: pdShadowDx and pdShadowDy. Similarly, the Character object is built by linking to the Typography object and supplying an additional pdCode property. This approach establishes an object hierarchy.
Once all properties are set and the object hierarchy is established, a D-Type PowerDoc document can be drawn or stored on disk for later use. This is achieved by a single call to the appropriate function.
The D-Type PowerDoc Engine API also allows applications to create and embed custom objects into PowerDoc Engine documents. Since these documents can be permanently saved on disk, applications can utilize the PowerDoc file format to store their own data.
Supported Objects |
|
|---|---|
Advanced Features |
|
Dependencies |
|
Availability |
Static or shared (dynamically linked) library for:
See Platforms and Portability for details. |
Here are a few screenshots that show D-Type PowerDoc Engine in action.




























If you have a question about D-Type technology that you can’t find the answer to, please use our Obtain Additional Information form. We will publish your question along with our response within a few days and notify you once the answer is available on our website.
Additionally, you may find it helpful to explore the history of D-Type releases and review the D-Type News page.
Available in binary, object, and/or source code format for any hardware or operating system environment, D-Type technology is an excellent choice for software developers seeking a rendering solution that is affordable, mature, reliable, secure, well-maintained, well-supported, super-fast and packed with features.