A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an image representation. Currently only operates on IDOMFixedPages; this restriction should be eased in future versions. More...
#include <transforms.h>
Public Member Functions | |
virtual bool | probe (const IDOMNodePtr &node)=0 |
Probe the node, checking to see if the renderer transform would have any effect on this node if transformed. | |
virtual void | setResolution (uint32 resolution)=0 |
Sets the target resolution for rendering, in dpi. The default is 300dpi. | |
virtual uint32 | getResolution () const =0 |
Get the target resolution for rendering. | |
virtual void | setTargetSpace (const IDOMColorSpacePtr &space)=0 |
Sets the target final color space for rendered content. scRGB, Indexed, DeviceN or LAB spaces are not allowed. Further limitations exist if monochrome mode is used; see the description of setMonochromeMode() for details. The default is DeviceRGB. | |
virtual IDOMColorSpacePtr | getTargetSpace () const =0 |
Get the target color space for rendering. | |
virtual void | setSWOPTargetSpace ()=0 |
Convenience; Set the target space to CMYK using the default SWOP profile. This will fail if monochrome mode is used; see the description of setMonochromeMode() for details. | |
virtual void | setTargetProfile (const IDOMICCProfilePtr &profile)=0 |
Sets the target final color space for rendered content, using a profile. | |
virtual void | setEnableVectorMode (bool enable)=0 |
Enable "vector" flattening mode. | |
virtual void | setUseImageResolutionForRenderingWherePossible (bool enable)=0 |
Set whether or not areas with compatible images may be rendered at image resolution if possible when vector flatting mode is enabled (see setEnableVectorMode()) | |
virtual void | setVectorAndTextResolution (uint32 resolution)=0 |
Set the desired resolution for vector and textual content when vector flattening mode is enabled (see setEnableVectorMode()). | |
virtual void | setRasterFallbackThreshold (uint32 threshold)=0 |
For cases where the vector mode is used, set the threshold at which to fall back to raster mode for a particular renderable area. | |
virtual void | setRasterFallbackResolution (uint32 resolution)=0 |
Set the resolution to be used for areas where vector mode falls back to raster mode. That is, if an area being rendered is more complex than that specified by setRasterFallbackThreshold, this is the resolution that should be used. | |
virtual void | setVectorImageReuseCacheSize (uint32 reuseCacheSizeMB)=0 |
Set whether or not the renderer, with vector mode enabled, should attempt to reused flattened sections from previously rendered areas, and if so, set the maximum size of the cache in megabytes. | |
virtual void | setEnableFormSnappingForVectorReuse (bool enable)=0 |
Set whether or not the renderer, with vector mode amd vector image reuse enabled, should be allowed to align forms to pixel boundaries to improve caching reuse. | |
virtual void | setVectorAreaFormReuseCacheSize (uint32 formCount)=0 |
Set whether or not the renderer, with vector mode enabled, should cache entire flattened sections as IDOMForm objects, and if so, set the maximum size of the cache (in items). | |
virtual void | setVectorAreaSourceReuseCacheSize (uint32 count)=0 |
Set whether or not the renderer, with vector mode enabled, should attempt to cache entire flattened areas based on the source content, and if so, set the maximum size of the cache (in items). | |
virtual void | setMarkVectorFlattenedFontsForEmbedding (bool embed)=0 |
Set whether or not fonts that are used for vector flattening should be marked for embedding. | |
virtual void | setFormReconstructionCacheSize (uint32 formCount)=0 |
Set whether or not the renderer should attempt to reconstruct forms that it needed to unpack due to the rendering of content within the form, and if so, set the maximum size of the cache to use (in items). | |
virtual void | setRasterImageReuseCacheSize (uint32 reuseCacheSizeMB)=0 |
Set whether or not the renderer should attempt to cache rendered results for raster rendering, and if so, set the maximum size of the cache, in megabytes. | |
virtual void | setMonochromeMode (bool enable=true)=0 |
Sets whether or not to use monochrome output. | |
virtual void | setSpotHalftone (float frequency, bool useFullResolutionForFlattening=false)=0 |
Set the simple spot haltone to be used when monochrome mode is enabled. | |
virtual void | setThresholdHalftone (uint32 width, uint32 height, const CThresholdArray &thresholds)=0 |
Set a threshold array halftone to be used when monochrome mode is enabled. | |
virtual void | setPreserveSpots (const CSpotColorNames &preservedSpots)=0 |
Provide a list of spots to retain in the output, if present. In the default case, no spots will be retained. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details. | |
virtual void | setPreserveAllSpots (bool preserve)=0 |
Alternatively preserve all spot colors in the output. The default is false. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details. | |
virtual void | setMergeSpots (const CSpotColorNames &mergedSpots)=0 |
Merge the given spot components into the process components after rendering. This is only currently possible when rendering to a CMYK based process color space, and is ignored otherwise. Only affects rendered content. In the default case, no spots will be merged. This feature is especially useful for emulating overprint of spot components. | |
virtual void | setMergeAllSpots (bool merge)=0 |
Alternatively merge all spot colors in the output. This is only currently possible when rendering to a CMYK based process color space, and is ignored otherwise. Only affects rendered content. In the default case, no spots will be merged. This feature is especially useful for emulating overprint of spot components. | |
virtual void | setDropSpots (const CSpotColorNames &droppedSpots)=0 |
Provide a list of spots to drop from rendered content. In the default case, no spots will be dropped. Note that this feature does not affect content that is not rendered; please see IColorConverterTransform::setDeviceNHandling which can be used for that purpose. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details. | |
virtual void | setBlackPreservation (bool preserveForText, bool preserveForOther)=0 |
Enable/control 100% black preservation. | |
virtual void | setGenerateMasks (bool generate)=0 |
Set whether or not to generated masked images as the rendererd result. If true, the individual images generated as part of rendering will have a bilevel alpha channel providing a mask to just the silhouette of the dom nodes targettted for rendering. This generally results in better looking results at the intersection between rendered and non-rendered sections. The default is true. | |
virtual void | setUseMultipleThreads (bool useMultipleThreads)=0 |
Set whether the transform should use multiple threads when rendering sections of the tree. When enabled, a global thread pool is used. The default is true. | |
virtual void | setRenderObjectsIndividually (bool renderIndividually)=0 |
Set whether or not to render each renderable object into its own image. The default is false. Normally the renderer will attempt to produce a single image for overlapping or nearby objects in an attempt to reduce the number of images generated and improve performance. Setting this to true will instead produce a single image in the output for every object that would be rendered. If set to true, this overrides any setting made with setRenderOncePerRenderableArea(). | |
virtual void | setRenderOncePerRenderableArea (bool renderOnce)=0 |
Set whether or not to render just one image per renderable region. That is, if true, the renderer will not produce any overlapping rendered images in the result. The default is false. This setting is ignored if setRenderObjectsIndividually() has been set to true. | |
virtual void | setMaximumImageAreaMultiple (float limit)=0 |
Set the maximum amount of allowed overdraw in the rendered results. Ordinarily the renderer attempts to retain non-renderable content in its original form, which can require rendering to multiple images. For cases where the dom tree consists of highly layered combinations of renderable and non-renderable content, the amount of image data generated can be very high. This provides a method of putting a cap on the amount of image data that can be generated. The parameter is a threshold in units of multiples of the entire candidate area. That is if a value of 5 is specified, and in ordinary circumstances rendering would generate more than 5 times the candidate area, then the renderer will render the results in a single image. | |
virtual void | setMaximumRenderedResultPixels (uint64 maximum)=0 |
Set the maximum size (in pixels) of a rendered result. | |
virtual void | setGenerateFlateCompressedPDFImages (bool enable)=0 |
Set whether or not the images generated by the renderer transform should be compressed with Flate as IDOMPDFImage objects. Currently this setting is only honored when vector mode is enabled. | |
virtual void | setMinimumFlateCompressedImageSize (uint32 minSizePixels)=0 |
Set the minimum size, in pixels, of images that would be compressed with Flate according to setGenerateFlateCompressedPDFImages. | |
virtual void | renderNodesWithRenderFlagSet (bool render)=0 |
Set whether nodes with the IDOMNodeFlags::eNodeRenderFlag set should be rendered. This is useful if arbitrary objects need to be marked for rendering within a tree, or if none of the rules below are a good fit. The default is false. | |
virtual void | setShouldRenderCallback (ShouldRenderNodeFunc func, void *priv)=0 |
Provides a callback function, called for each node that is not chosen for rendering according to any of the other rules. This function returns true if the node should be rendered. Perhaps simpler in some situations than applying the marker flag externally and using renderNodesWithRenderFlagSet(true). priv is passed to the callback function for every call. The function can also interrogate the children siblings and parent of the node. | |
virtual void | renderTransparentNodes (bool render)=0 |
Set whether transparent objects should be renderered. Useful for blanket flattening of all transparency in a DOM tree. The default is false. | |
virtual void | setRenderTransparentNodesOnPageGroupMismatch (bool render)=0 |
Set whether to render transparent nodes if the page blending group color space differs from the rendering target color space. | |
virtual void | renderNonNormalBlendedNodes (bool render)=0 |
Set whether nodes using a blend mode other than eBlendModeNormal should be rendered. Useful for preparing PDF content for consumers that do not support these blend modes, such as XPS. The default is false. | |
virtual void | renderNonCanvasTransparencyGroups (bool render)=0 |
Set whether transparency groups that cannot be represented as a canvas should be rendered. The default is false. | |
virtual void | renderMaskedImages (bool render)=0 |
Set whether images with boolean mask channels should be rendered. The default is false. | |
virtual void | renderOpacityMaskedNodes (bool render)=0 |
Set whether nodes with opacity masks should be rendered. The default is false. | |
virtual void | renderBrush (IDOMBrush::eBrushType brushType, bool render=true)=0 |
Set whether the brush of the given type should be rendered. In all cases, the default is false. | |
virtual void | ignoreBrushWhileScanning (IDOMBrush::eBrushType brushType, bool ignore=true)=0 |
Set whether the brush of the given type should be ignored when scanning for items to render. If true, brushes of that type will not trigger rendering. In all cases the default is false. | |
virtual void | renderComplexType3ShadingPatterns (bool render)=0 |
Set whether to render Type 3 shading pattern brushes that cannot currently be converted to a simpler form by IDOMShadingPatternType3Brush::getEquivalentSimpleBrush(). The default is false. | |
virtual void | renderComplexTilingPatterns (bool render)=0 |
Set whether to render tiling pattern brushes that cannot currently be converted to a visual brush form by IDOMTilingPatternBrush::getEquivalentVisualBrush() such as self-intersecting patterns. The default is false. | |
virtual void | renderVisualBrushesWithViewPortLargerThan (double val)=0 |
Set whether visual brushes with a ViewPort brushes above a certain size should be rendered. Some consumers cannot reliably handle large visual brushes, and this provides a method of dealing with this. The default is 0.0, which disables this feature. | |
virtual void | renderConeGradients (bool render)=0 |
Set whether radial gradients with a cone shape should be rendererd. The default is false. | |
virtual void | renderGlyphsWithStyleSimulation (bool render)=0 |
Set whether glyphs with style simulations should be rendered. The default is false. | |
virtual void | renderGlyphsWithRestrictedFont (bool render)=0 |
Set whether glyphs using a restricted font should be rendered. That is, a font which has bit 1 of the OS/2 fsType field set, or are marked as bitmap only. The default is false. | |
virtual void | renderGlyphsWithNonSubsettableFont (bool render)=0 |
Set whether glyphs using a font that is not allowed to be subset (according to its OS/2 fsType field) should be rendered. The default is false. | |
virtual void | renderGlyphsWithNonEditableFont (bool render)=0 |
Set whether glyphs using a font that is not allowed in an edited document (according to its OS/2 fsType field) should be rendered. The default is false. | |
virtual void | renderGlyphsWithType3Font (bool render)=0 |
Set whether glyphs using a Type 3 font should be rendered. The default is false. | |
virtual void | enableTrueTypeNotDef (bool enable)=0 |
Set whether a TrueType font's .notdef glyph should be rendered. Note that this does not control whether or not a containing glyphs node is actually rendered. However, if a glyphs node is required to be rendered, and a TrueType notdef glyph is required, this controls whether or not the notdef glyph will be present in the rendered result. The default is false. | |
Public Member Functions inherited from JawsMako::ITransform | |
virtual IDOMBrushPtr | transform (const IDOMBrushPtr &brush, eBrushUsage usage=eBUGeneral, const CTransformState &state=CTransformState())=0 |
Apply the transform to the given brush, if applicable. These transforms are thread safe. | |
virtual IDOMImagePtr | transform (const IDOMImagePtr &image, const CTransformState &state=CTransformState())=0 |
Apply the transform to the given image, if applicable. These transforms are thread safe. | |
virtual IDOMColorPtr | transform (const IDOMColorPtr &color, const CTransformState &state=CTransformState())=0 |
Apply the transform to the given color, if applicable. These transforms are thread safe. | |
virtual IDOMColorSpacePtr | transform (const IDOMColorSpacePtr &colorSpace, const CTransformState &state=CTransformState())=0 |
Apply the transform to the given colorspace, if applicable. These transforms are thread safe. | |
virtual IDOMNodePtr | transform (const IDOMNodePtr &node, bool &changed, bool transformChildren=true, const CTransformState &state=CTransformState())=0 |
Apply the transform to the given node, if applicable. These transforms are thread safe, providing no other transforms are being applied to the same nodes at the same time. | |
virtual void | transformPage (const IPagePtr &page, bool transformContent=true, bool transformAnnotations=true)=0 |
Apply the transform to the given page, if applicable. These transforms are thread safe, providing no other transforms are being applied to the same nodes at the same time. The transform will also apply to the annotations appearances. | |
virtual void | flushCaches ()=0 |
Flush the caches used by the transform. Most transforms cache recently transformed results to improve the performance of repeated transformations of equivalent results. However, it is possible that some cached results may point to entities that no longer exist, such as content inside an XPS file that no longer exists. If you are deleting or replacing files where transforms have been used, it is advisable to invoke this routine to clear the caches. | |
virtual void | setProgressMonitor (const IProgressMonitorPtr &progressMonitor)=0 |
Set the IProgressMonitor object for this transform to allow for monitoring the progress of the transform. | |
Public Member Functions inherited from IRCObject | |
virtual void | addRef () const =0 |
Increases the reference count of the actual object pointed to. This would take place during an assignment or copying. | |
virtual bool | decRef () const =0 |
Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to. | |
virtual int32 | getRefCount () const =0 |
Retrieve the current reference count of the actual object pointed to. | |
Static Public Member Functions | |
static JAWSMAKO_API IRendererTransformPtr | create (const IJawsMakoPtr &jawsMako, const IAbortPtr &abort=IAbortPtr()) |
Create the transform. | |
static JAWSMAKO_API CInkInfoVect | findInks (const IJawsMakoPtr &jawsMako, const IDOMNodePtr &nodeTree, const IAbortPtr &abort=IAbortPtr()) |
Find all the inks used in the given DOM node tree. Utility. Also makes an attempt to determine the color value of the colorant. | |
static JAWSMAKO_API CInkInfoVect | findInksInColorSpace (const IJawsMakoPtr &jawsMako, const IDOMColorSpacePtr &colorSpace) |
Find all the inks we can determine from the given color space. Utility. Also makes an attempt to determine the color value of the colorant. | |
static JAWSMAKO_API IDOMColorSpaceDeviceN::CColorantInfoVect | inkInfoToColorantInfo (const IJawsMakoPtr &jawsMako, const CInkInfoVect &inkInfo, const IDOMColorSpacePtr &processSpace) |
Static utility to convert a CInkInfoVect into DeviceN-compatible CColorantInfo vector. | |
Additional Inherited Members | |
Protected Member Functions inherited from IRCObject | |
virtual | ~IRCObject () |
Virtual destructor. | |
A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an image representation. Currently only operates on IDOMFixedPages; this restriction should be eased in future versions.
Useful for rendering sections of the DOM that could not be consumed by a consumer any other way than as an image. For example, this transform is used to flatten objects with certain PDF transparency attributes before generating XAML or XPS output.
|
static |
Create the transform.
jawsMako | The JawsMako instance. |
abort | An abort callback handler. |
|
static |
Static utility to convert a CInkInfoVect into DeviceN-compatible CColorantInfo vector.
jawsMako | The Mako instance to use. |
inkInfo | The ink info to convert. |
processSpace | The process color space to use for the components. |
|
pure virtual |
Enable/control 100% black preservation.
100% black preservation preserves a 100% black output when rendering/ flattening when enabled for certain solid colors. A 100% black object is an object painted with one of the following colors: - 0 0 0 1 in any CMYK color space (including ICC) - 0 0 0 in any RGB color space (including ICC) - 0 in any Gray colorspace (including ICC) - 1 in a single channel DeviceN (aka Separation) Black color space - 1 in a multi-channel DeviceN colorspace where only the Black channel is set. If black preservation applies then the resulting color will be either (depending on the target color space): - c m y 1 in any CMYK colorspace (including ICC) - 0 0 0 in any RGB colorspace (including ICC) - 0 in any Gray colorspace (including ICC) Note that the CMY values in a CMYK result may not be zero if color managed white conversion would not produce pure white. Note also that where transparency is involved this conversion only applies when converting to the blending colorspace, and has no further effect for further conversions. May be enabled separately for text and vector art. Applies to only solid color brushes (IDOMSolidColorBrush) and uncolored tiling patterns only. The default is set by #IColorManager::setDefaultBlackPreservation(), which defaults to false, false. The default is applied at the time of transform creation.
preserveForText | Whether or not to apply black preservation for text. |
preserveForOther | Whether or not to apply for non-text objects. |
|
pure virtual |
Provide a list of spots to drop from rendered content. In the default case, no spots will be dropped. Note that this feature does not affect content that is not rendered; please see IColorConverterTransform::setDeviceNHandling which can be used for that purpose. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details.
Please note that if any spot colorant is subject to setPreserveSpots, setPreserveAllSpots, setMergeSpots, setMergeAllSpots and/or setDropSpots, then the following rules apply in order:
|
pure virtual |
Set whether or not the renderer, with vector mode amd vector image reuse enabled, should be allowed to align forms to pixel boundaries to improve caching reuse.
This allows better reuse if forms containing rendered content are repeated at different locations on the page (but with the same scale).
The default is false, meaning that no alignment is attempted.
|
pure virtual |
Enable "vector" flattening mode.
NOTE: This is functionality is beta quality only at this time. With this mode set, the renderer will attempt to maintain vector and textual information as much as possible in its results, and may not need to render some objects at all. However, for very complicated cases this may result in a large amount of output geometry that could result in larger output files or files that process more slowly than an equivalent raster render. If monochrome mode is enabled, this setting is completely ignored. The default is false. Currently, setting this parameter to true will result in the following parameters to have different semantics: - setRenderOncePerRenderableArea() (will be forced to false) - renderMaskedImages() (will only be used where a fallback to raster is required; see setRasterFallbackThreshold())
|
pure virtual |
Set whether or not the renderer should attempt to reconstruct forms that it needed to unpack due to the rendering of content within the form, and if so, set the maximum size of the cache to use (in items).
This feature is only useful if the content is to be written to a PDF output where form objects can have benefits.
In order to accurately position rendered/flattened content, the replacement content is inserted at the top level of the DOM tree. This may require the forms to be split at the point the rendering occurred.
This uses a cache to reuse recently rendered forms. Form reuse is performed by examining the content of the unpacked forms based on their graphical attributes only, and different forms in the input that share appearances may result in a single form in the output. As such, if your use case depends on non-printing information present in such objects, such as document structure or optional content, it is best not to enable this feature.
The default is 0, meaning that no forms are reconstructed and no reuse is attempted.
|
pure virtual |
Set whether or not the images generated by the renderer transform should be compressed with Flate as IDOMPDFImage objects. Currently this setting is only honored when vector mode is enabled.
It may not be desirable to compress very small images in this way, as it precludes the use of Indexed color spaces for very small images. As such another API is provided to provide a lower limit for image size that will be subject to this flate compression.
If the intended use is PDF output, this can result in faster processing as images will already be in the correct format for copying directly into the PDF file, and also the image will generally require less temporary storage.
The default is false.
|
pure virtual |
Set whether or not to generated masked images as the rendererd result. If true, the individual images generated as part of rendering will have a bilevel alpha channel providing a mask to just the silhouette of the dom nodes targettted for rendering. This generally results in better looking results at the intersection between rendered and non-rendered sections. The default is true.
If monochrome mode is used this function may only be called with false. See the description of setMonochromeMode() for details.
|
pure virtual |
Set whether or not fonts that are used for vector flattening should be marked for embedding.
If true, any font used for any geometry that defines a flattened geometry will be marked for embedding, providing that the font in question is not restricted from embedding. This does not affect non-flattened content on the page. Please note that PDF and PS output will ignore this flag for standard built-in fonts for their respective formats.
If false, the embedding status is preserved as is.
The default is true.
|
pure virtual |
Set the maximum size (in pixels) of a rendered result.
On large jobs or at very high resolutions, a rendered section may result in very large images, potentially in the gigabyte range. Depending on how the output is used, this may result in output that will cause problems with downstream consumers. This allows a limit to be applied for each rendered section. The limit is specified in pixels. If the limit is exceeded, the renderer will divide the rendered section into horizontal bands no larger than this limit. However, it will not break apart rendered areas to smaller units than a single scanline, so in the unlikely case where a single rendered scanline is extremely wide, this limit will be exceeded. Set to zero to disable the limit entirely. The default is 125 million samples.
|
pure virtual |
Alternatively merge all spot colors in the output. This is only currently possible when rendering to a CMYK based process color space, and is ignored otherwise. Only affects rendered content. In the default case, no spots will be merged. This feature is especially useful for emulating overprint of spot components.
Please note that if any spot colorant is subject to setPreserveSpots, setPreserveAllSpots, setMergeSpots, setMergeAllSpots and/or setDropSpots, then the following rules apply in order:
|
pure virtual |
Merge the given spot components into the process components after rendering. This is only currently possible when rendering to a CMYK based process color space, and is ignored otherwise. Only affects rendered content. In the default case, no spots will be merged. This feature is especially useful for emulating overprint of spot components.
Please note that if any spot colorant is subject to setPreserveSpots, setPreserveAllSpots, setMergeSpots, setMergeAllSpots and/or setDropSpots, then the following rules apply in order:
|
pure virtual |
Set the minimum size, in pixels, of images that would be compressed with Flate according to setGenerateFlateCompressedPDFImages.
As noted, it may not be desirable to compress very small images using flate at the renderer stage. Please see setGenerateFlateCompressedPDFImages for details.
If the intended use is PDF output, this can result in faster processing as images will already be in the correct format for copying directly into the PDF file, and also the image will generally require less temporary storage.
The default is 0, which enforces that all images generated from vector-based rendering would be compressed using flate (if setGenerateFlateCompressedPDFImages is set to true).
|
pure virtual |
Sets whether or not to use monochrome output.
Use of this mode is supported only in specific circumstances. please contact Global Graphics support for details. The default is false; that is, continuous tone output will be produced, in color or grayscale as determined by the selected target color space or profile. If set to true, the output will be one-bit black and white halftoned images for each sections. This should only be used for specialised output requirements where the characteristics of the output device are well known and understood. If enabling: - If the current target color space is not DeviceGray or sGray, sGray will be set as the target color space. - setGenerateMasks() will be set to false. Any attempt to change to masked output with setGenerateMasks() will result in an exception being thrown. - setPreserveSpots() is set to an empty list. Any attemp to re-enable spot color preservation will result in an exception being thrown.
|
pure virtual |
Alternatively preserve all spot colors in the output. The default is false. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details.
Please note that if any spot colorant is subject to setPreserveSpots, setPreserveAllSpots, setMergeSpots, setMergeAllSpots and/or setDropSpots, then the following rules apply in order:
|
pure virtual |
Provide a list of spots to retain in the output, if present. In the default case, no spots will be retained. This function will fail if monochrome mode is used; see the description of setMonochromeMode() for details.
Please note that if any spot colorant is subject to setPreserveSpots, setPreserveAllSpots, setMergeSpots, setMergeAllSpots and/or setDropSpots, then the following rules apply in order:
|
pure virtual |
Set the resolution to be used for areas where vector mode falls back to raster mode. That is, if an area being rendered is more complex than that specified by setRasterFallbackThreshold, this is the resolution that should be used.
Using the vector flattener usually allows lower resolutions to be used for compositing image and shading content, as the resolution of the edges is high. This member allows the use of a higher resolution should raster rendering be triggered where the sharp edges defined by the vector content will not be present.
The default is the same as that set by #setRenderResolution(), and indeed, calling #setRenderResolution will result in this resolution being updated also. Therefore, this needs to be called after #setRenderResolution in order to take effect.
|
pure virtual |
For cases where the vector mode is used, set the threshold at which to fall back to raster mode for a particular renderable area.
The threshold is specified in terms of rendered objects per square inch. If a rendererable area would result in more generated objects than this threshold, the renderer will fall back to a pure raster.
The default value is 100.
A value of 0 will cause the transform to always use a vector approach.
This value is ignored if setEnableVectorMode() is false.
|
pure virtual |
Set whether or not the renderer should attempt to cache rendered results for raster rendering, and if so, set the maximum size of the cache, in megabytes.
This can provide significant performance improvements for cases where jobs contain reused content that is subject to the renderer.
The default is 0, meaning that no raster results are cached.
|
pure virtual |
Set whether to render transparent nodes if the page blending group color space differs from the rendering target color space.
This affects how blending is performed, and non-rendered transparent content may result in color differences compared with rendered content if there is a mismatch.
To avoid this issue, use true here. If true, and the renderer transform detects that the page blending group color space and the target color space, then all transparent content will be rendered. IDOMColorSpace::similar() is used for this purpose.
If false, the current renderTransparentNodes() setting will be honored.
The default is false.
|
pure virtual |
Set the simple spot haltone to be used when monochrome mode is enabled.
The spot halftone is always at 45 degrees. The default is 60.0f. The halftone is not used if monochrome mode is not enabled. The halftone frequency must be greater than 0. Normally, the resolution at which compositing for transparent images occurs is capped at twice the halftone frequency. For some content, this may not be appropriate. Set useFullResolutionForFlattening for such cases.
|
pure virtual |
Set a threshold array halftone to be used when monochrome mode is enabled.
Only 8 bit threshold arrays are supported, and the threshold array must not be larger than 65535 entries. Please refer to section 7.4.5 of the PostScript language reference manual, 3rd edition.
width | The width of the halftone cell, in pixels |
height | The height of the halftone cell, in pixels |
thresholds | The threshold array. Must be width * height in length, and no longer than 65535 entries. |
|
pure virtual |
Set whether or not areas with compatible images may be rendered at image resolution if possible when vector flatting mode is enabled (see setEnableVectorMode())
If true, and a section of the page that requires flattening contains only images sharing the same scaling and constant fills, and the images are at a lower resolution than the target resolution, then the image data will be flattened at the resolution of the image, and not the target resolution.
If false, such images will be flattened at the target resolution instead.
This is ideal when there is for example, a section of the page where the only non-constant-filled content is a transparent image. If no other images or complex object overlaps, then the image may be replaced with a flattened result at the same resolution as the source image.
The default is true.
|
pure virtual |
Set the desired resolution for vector and textual content when vector flattening mode is enabled (see setEnableVectorMode()).
The default is 1200dpi.
|
pure virtual |
Set whether or not the renderer, with vector mode enabled, should cache entire flattened sections as IDOMForm objects, and if so, set the maximum size of the cache (in items).
When used in concert with setVectorImageReuseCacheSize() above, this can both improve performance and also reduce output size if large areas of content requiring flattening/rendering are reused.
The default is 0, meaning that no forms are generated and no reuse is attempted.
|
pure virtual |
Set whether or not the renderer, with vector mode enabled, should attempt to cache entire flattened areas based on the source content, and if so, set the maximum size of the cache (in items).
This is another level of caching that allows for caching of flattened sections at the DOM stage and before any vector flattening computations have taken place. Highly useful when processing cases that contain large amounts of reuse, especially in concert with setVectorAreaFormReuseCacheSize.
The default is 0, meaning that the cache is not used.
|
pure virtual |
Set whether or not the renderer, with vector mode enabled, should attempt to reused flattened sections from previously rendered areas, and if so, set the maximum size of the cache in megabytes.
This can provide significant performance benefits particularly for jobs where many pages share content that needs to be flattened/rendered.
The default is 0, meaning that no reuse is attempted.