Skip to main content
Skip table of contents

Rendering 101

Introduction

The basic principles for rendering in Mako are straightforward, and are demonstrated in two of the simple examples (render and separatedrender) that ship with the Mako SDK. For example, rendering to RGB from a PDF or other input file involves these steps:



CPP
IJawsMakoPtr jawsMako = IJawsMako::create("");
IJawsMako::enableAllFeatures(jawsMako);
C#
IJawsMako jawsMako = IJawsMako.create("");
IJawsMako.enableAllFeatures(jawsMako);
CPP
IPDFInputPtr input = IPDFInput::create(jawsMako);
IDOMFixedPagePtr pageContent = 
    input->open(pdfPath)->getDocument()->getPage(0)->getContent();
C#
var input = IPDFInput.create(jawsMako);
var pageContent = input.open(pdfPath).getDocument(0).getPage(0).getContent();
CPP
IJawsRendererPtr renderer = IJawsRenderer::create(jawsMako);
C#
var renderer = IJawsRenderer.create(jawsMako);
CPP
IDOMImagePtr renderedImage = renderer->render(pageContent);
C#
var renderedImage = renderer.render(pageContent);
CPP
IDOMPNGImage::encode(jawsMako, renderedImage,
    IOutputStream::createToFile(jawsMako, "rendered.png"));
C#
IDOMPNGImage.encode(jawsMako, renderedImage, 
    IOutputStream.createToFile(jawsMako.getFactory(), "rendered.png"));



This example generates an IDOMImage, which is a Mako class for a generic image and its properties. They can be encoded and written as TIFF, JPEG or PNG without the need for third-party libraries - they are ready built-in to Mako. Renderer methods are also available to render directly to a buffer, if preferred.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.