Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::common::Renderer类 参考
类 foxit::common::Renderer 继承关系图:

## Public 类型
enum | ColorMode { e_ColorModeNormal = 0, e_ColorModeMappingGray = 1, e_ColorModeMapping = 2, e_ColorModeAlpha = 3, e_ColorModeForeground = 4 }
| 渲染颜色模式的枚举。 更多...
enum | ColorModeForeground { e_ColorModeForegroundText = 0x01, e_ColorModeForegroundPath = 0x02, e_ColorModeForegroundBlackText = 0x04, e_ColorModeForegroundBlackPath = 0x08 }
| 渲染前景颜色模式的枚举。 更多...
enum | ContentFlag { e_RenderPage = 0x01, e_RenderAnnot = 0x02, e_RenderHighlight = 0x04, e_RenderExceptHighlight = 0x08, e_RenderScreen = 0x10 }
| 渲染内容标志的枚举。 更多...
enum | DeviceType { e_DeviceDisplay = 1, e_DevicePrinter = 2 }
| 渲染设备类型的枚举。 更多...

## Public 成员函数
| Renderer (const Bitmap &bitmap, bool is_rgb_order)
| 带位图的构造函数。 更多...
| Renderer (const CGContextRef &context, DeviceType device_type)
| 带设备上下文的构造函数。 更多...
| Renderer (const PrintDeviceSettingData &print_param, const wchar_t *dest_file_path)
| 用于打印的构造函数，带指定的打印设备设置数据。 更多...
| Renderer (const Renderer &other)
| 带另一个渲染器对象的构造函数。 更多...
| ~Renderer ()
| 析构函数。
void | ClearClips ()
| 清除通过函数 Renderer::SetClipRect 设置的裁剪矩形。 更多...
void | EnableForPrint (bool is_render_for_print)
| 设置标志来决定是否在打印模式下进行渲染。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const Renderer &other) const
| 不等操作符。 更多...
Renderer & | operator= (const Renderer &other)
| 赋值操作符。 更多...
bool | operator== (const Renderer &other) const
| 相等操作符。 更多...
bool | RenderAnnot (const pdf::annots::Annot &annot, const Matrix &matrix)
| 渲染指定的注释。 更多...
bool | RenderFormControls (const pdf::PDFPage &page, const Matrix &matrix)
| 渲染表单控件。 更多...
bool | RenderGraphicsObject (const pdf::graphics::GraphicsObject *graphics_object, const pdf::PDFPage &page, const Matrix &matrix)
| 渲染图形对象。 更多...
void | SetClearType (bool is_clear_type)
| 设置标志来决定是否使用ClearType类似的反锯齿来渲染文本对象。 更多...
void | SetClipPathFill (const Path &clip_path, const Matrix &matrix, foxit::common::FillMode fill_mode)
| 使用填充区域设置裁剪路径。 更多...
void | SetClipPathStroke (const Path &clip_path, const Matrix &matrix, const GraphState *graph_state=0)
| 使用描边区域设置裁剪路径。 更多...
void | SetClipRect (const RectI *clip_rect)
| 设置将在后续渲染过程中使用的裁剪矩形。 更多...
void | SetColorMode (ColorMode color_mode)
| 设置颜色模式。 更多...
void | SetForceDownSample (bool is_to_force_down_sample)
| 设置标志来决定是否对图像拉伸使用下采样。 更多...
void | SetForceHalftone (bool is_to_force_halftone)
| 设置标志来决定是否对图像拉伸使用半调。 更多...
void | SetForegroundColor (ARGB foreground_color)
| 当颜色模式为 Renderer::e_ColorModeForeground 时为文本、路径或两者设置前景颜色。 更多...
void | SetForegroundColorMode (uint32 foreground_color_mode)
| 当颜色模式为 Renderer::e_ColorModeForeground 时设置渲染前景颜色模式。 更多...
void | SetJPEGDownSample (bool is_jepg_down_sample)
| 设置标志来决定是否对jpeg图像使用下采样。 更多...
void | SetJPXDownSample (bool is_jpx_down_sample)
| 设置标志来决定是否对jpx图像使用下采样。 更多...
void | SetLayerContext (const pdf::LayerContext &layer_context)
| 设置图层上下文到渲染上下文句柄。 更多...
void | SetMappingModeColors (ARGB background_color, ARGB foreground_color)
| 当颜色模式为 Renderer::e_ColorModeMappingGray 或 Renderer::e_ColorModeMapping 时设置背景颜色和前景颜色。 更多...
void | SetOverprint (bool is_to_enable_overprint)
| 设置标志来决定是否启用叠印。 更多...
void | SetPrintTextAsGraphic (bool is_to_print_text_graphic)
| 设置标志来决定是否将文本打印为路径或位图。 更多...
void | SetPrintTextAsImage (bool is_to_print_text_image)
| 设置标志来决定是否将文本打印为图像。 更多...
void | SetRenderAnnotAppearanceType (foxit::pdf::annots::Annot::AppearanceType ap_type)
| 设置注释的外观类型用于渲染。 更多...
void | SetRenderAnnotsForThumbnail (bool is_render_annots_for_thumbnail)
| 设置渲染标志来决定是否在缩略图模式下渲染注释。 更多...
void | SetRenderContentFlags (uint32 render_content_flags)
| 设置渲染标志来决定渲染什么内容。 更多...
void | SetRenderEnhanceThinLines (bool is_render_enhance_thin_lines)
| 设置标志来决定是否增强细线。 更多...
void | SetRenderFormField (bool is_render_formfield)
| 设置标志来决定是否渲染表单字段（除签名字段外）。 更多...
void | SetRenderImageAntiAliasing (bool is_render_image_antialiasing)
| 设置标志来决定是否绘制图像反锯齿。 更多...
void | SetRenderLayer (bool is_render_one_layer)
| 设置标志来决定是否渲染一个图层或所有可用图层。 更多...
void | SetRenderPathAntiAliasing (bool is_render_path_antialiasing)
| 设置标志来决定是否绘制路径反锯齿。 更多...
void | SetRenderPathFullCovered (bool is_render_path_full_covered)
| 可应用于填充模式的特殊标志。 更多...
void | SetRenderPathThinLine (bool is_render_path_thin_line)
| 设置标志来决定是否将路径绘制为细线。 更多...
void | SetRenderSignature (bool is_render_signature)
| 设置标志来决定是否渲染签名。 更多...
void | SetRenderSignatureState (bool is_render_signature_state)
| 设置标志来决定是否在签名上绘制签名状态。 更多...
void | SetRenderTextAntiAliasing (bool is_render_text_antialiasing)
| 设置标志来决定是否绘制文本反锯齿。 更多...
void | SetScreenDPIScale (float scale)
| 设置用于渲染的屏幕DPI缩放因子。 更多...
Progressive | StartQuickRender (const pdf::PDFPage &page, const Matrix &matrix, PauseCallback *pause=0)
| 开始快速渲染PDF页面，主要用于缩略图。 更多...
Progressive | StartRender (const pdf::PDFPage &page, const Matrix &matrix, PauseCallback *pause=0)
| 开始渲染PDF页面。 更多...
Progressive | StartRenderBitmap (const Bitmap &bitmap, const Matrix &matrix, const RectI *clip_rect, uint32 interpolation, uint32 alpha, PauseCallback *pause)
| 开始渲染位图。 更多...
Progressive | StartRenderBitmap (const Bitmap &bitmap, const Matrix &matrix, const RectI *clip_rect=0, uint32 interpolation=0, PauseCallback *pause=0)
| 开始渲染位图。 更多...
gressive | StartRenderReflowPage (const pdf::ReflowPage &reflow_page, const Matrix &matrix, PauseCallback *pause=0)
| 开始渲染重排页面。 更多...
Progressive | StartRenderXFAPage (const addon::xfa::XFAPage &xfa_page_view, const Matrix &matrix, bool is_highlight, PauseCallback *pause=0)
| 开始渲染XFA页面。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

PDF渲染器是一个图形引擎，用于将页面渲染到位图或平台设备上下文。 此类可以用位图或设备对象构造。它提供设置渲染选项/标志和执行渲染的函数。 在此类中，有几种渲染方法：

- 要渲染页面和注释，首先使用函数 Renderer::SetRenderContentFlags 来 决定是否同时渲染页面和注释，然后使用函数 Renderer::StartRender 进行渲染。 函数 Renderer::StartQuickRender 也可用于渲染页面，但仅用于缩略图目的。
- 要渲染单个注释，使用函数 Renderer::RenderAnnot。
- 要渲染位图，使用函数 Renderer::StartRenderBitmap。
- 要渲染重排页面，使用函数 Renderer::StartRenderReflowPage。

在Foxit PDF SDK中，窗口部件注释总是与表单字段和表单控件关联。对于如何渲染 窗口部件注释，这里是推荐的流程：

- 加载PDF页面后，首先渲染页面和此页面中的所有注释（包括窗口部件注释）。
- 然后，如果用户使用 pdf::interform::Filler 对象填写表单，用户应使用函数 pdf::interform::Filler::Render 渲染聚焦的表单控件，而不是使用函数 Renderer::RenderAnnot。

参见
  pdf::interform::Filler

## 成员枚举类型说明

## ◆ ColorMode

enum foxit::common::Renderer::ColorMode

渲染颜色模式的枚举。

此枚举的值应单独使用。

枚举值
e_ColorModeNormal | 正常颜色模式。
e_ColorModeMappingGray | 将灰阶：白色/黑色颜色值映射到背景/前景；其他颜色不变。
e_ColorModeMapping | 将颜色值映射到由背景颜色和前景颜色定义的颜色范围。
e_ColorModeAlpha | 仅输出alpha，忽略颜色。
e_ColorModeForeground | 自定义颜色模式。将颜色映射到前景。

## ◆ ColorModeForeground

enum foxit::common::Renderer::ColorModeForeground

渲染前景颜色模式的枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_ColorModeForegroundText | 如果设置，需要替换文本的颜色。
e_ColorModeForegroundPath | 如果设置，需要替换路径的颜色。
e_ColorModeForegroundBlackText | 如果设置，仅需要替换文本的黑色。
e_ColorModeForegroundBlackPath | 如果设置，仅需要替换路径的黑色。

## ◆ ContentFlag

enum foxit::common::Renderer::ContentFlag

渲染内容标志的枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_RenderPage | 如果设置，将渲染页面内容。
e_RenderAnnot | 如果设置，将渲染注释。
e_RenderHighlight | 如果设置，仅渲染高亮注释。
e_RenderExceptHighlight | 如果设置，将渲染除高亮外的所有注释。
e_RenderScreen | 如果设置，仅渲染屏幕注释。

## ◆ DeviceType

enum foxit::common::Renderer::DeviceType

渲染设备类型的枚举。

此枚举的值应单独使用。

枚举值
e_DeviceDisplay | 设备类型：显示设备。
e_DevicePrinter | 设备类型：打印机。

## 构造及析构函数说明

## ◆ Renderer() [1/4]

foxit::common::Renderer::Renderer | ( | const Bitmap & | bitmap,
|  | bool | is_rgb_order
| ) |  |

带位图的构造函数。

输入位图被视为独立设备，渲染器渲染的所有内容 都将出现在位图中。

参数

  [in] | bitmap | 用于渲染的位图。用户应确保位图保持有效，直到 当前渲染器对象的生命周期结束。
  [in] | is_rgb_order | true 表示Foxit PDF SDK在渲染时需要使用RGB字节顺序 （红色在最低位）。 false 表示Foxit PDF SDK在渲染时需要使用BGR字节顺序 （蓝色在最低位）。

## ◆ Renderer() [2/4]

foxit::common::Renderer::Renderer | ( | const PrintDeviceSettingData & | print_param,
|  | const wchar_t * | dest_file_path
| ) |  |

用于打印的构造函数，带指定的打印设备设置数据。

渲染器渲染的所有内容将出现在PDF文件或PostScript文件中。 生成PS文件仅在Linux系统上支持。

参数

  [in] | print_param | 用于打印设备的设置数据。
  [in] | dest_file_path | 生成打印的PDF文件或PostScript文件的路径。如果此路径 是PDF文件路径，请确保Foxit PDF SDK已通过函数 common::Library::Initialize 使用包含 "Print2PDF"模块的密钥成功初始化。

## ◆ Renderer() [3/4]

foxit::common::Renderer::Renderer | ( | const CGContextRef & | context,
|  | DeviceType | device_type
| ) |  |

带设备上下文的构造函数。

渲染器渲染的所有内容都将出现在CGContextRef对象中。

参数

  [in] | context | CGContextRef对象。用户应确保设备保持有效，直到 当前渲染器对象的生命周期结束。
  [in] | device_type | 参数 context 的设备类型。请参考从 Renderer::e_DeviceDisplay 开始的值，这应该是其中的一个值。

## ◆ Renderer() [4/4]

foxit::common::Renderer::Renderer | ( | const Renderer & | other | ) |

带另一个渲染器对象的构造函数。

参数

  [in] | other | 另一个渲染器对象。

## 成员函数说明

## ◆ ClearClips()

void foxit::common::Renderer::ClearClips | ( |  | ) |

清除通过函数 Renderer::SetClipRect 设置的裁剪矩形。

返回
  无。

## ◆ EnableForPrint()

void foxit::common::Renderer::EnableForPrint | ( | bool | is_render_for_print | ) |

设置标志来决定是否在打印模式下进行渲染。

当当前渲染器用于打印时，请确保此渲染标志设置为预期值。 对于渲染注释，如果此标志设置为 true，Foxit PDF SDK将仅渲染 具有注释标志 pdf::annots::Annot::e_FlagPrint 的注释。
如果对当前渲染器对象尚未调用此函数，将使用默认值 false。

参数

  [in] | is_render_for_print | true 表示在打印模式下渲染，而 false 表示不在打印模式下渲染。

返回
  无。

## ◆ IsEmpty()

bool foxit::common::Renderer::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

当当前对象为空时，意味着当前对象无用。

返回
  true 表示当前对象为空，而 false 表示非空。

## ◆ operator!=()

bool foxit::common::Renderer::operator!= | ( | const Renderer & | other | ) | const

不等操作符。

参数

  [in] | other | 另一个渲染器对象。此函数将检查当前对象是否不等于此对象。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

Renderer& foxit::common::Renderer::operator= | ( | const Renderer & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个渲染器对象，其值将赋给当前对象。

返回
  对当前对象本身的引用。

## ◆ operator==()

bool foxit::common::Renderer::operator== | ( | const Renderer & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个渲染器对象。此函数将检查当前对象是否等于此对象。

返回
  true 表示相等，false 表示不相等。

## ◆ RenderAnnot()

bool foxit::common::Renderer::RenderAnnot | ( | const pdf::annots::Annot & | annot,
|  | const Matrix & | matrix
| ) |  |

渲染指定的注释。

当调用此函数时，渲染标志（通过函数 Renderer::SetRenderContentFlags 设置 或默认设置）将被忽略。

参数

  [in] | annot | 要渲染的注释对象。如果输入的注释是弹出注释，此函数将 不渲染它并返回 false。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::PDFPage::GetDisplayMatrix 返回。

返回
  true 表示成功，而 false 表示失败。

## ◆ RenderFormControls()

bool foxit::common::Renderer::RenderFormControls | ( | const pdf::PDFPage & | page,
|  | const Matrix & | matrix
| ) |  |

渲染表单控件。

当调用此函数时，渲染标志（通过函数 Renderer::SetRenderContentFlags 设置或默认设置）将被忽略。

参数

  [in] | page | 有效的PDF页面。如果输入页面无效，此函数什么也不做并直接返回 false。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::PDFPage::GetDisplayMatrix 返回。

返回
  true 表示成功，而 false 表示失败。

## ◆ RenderGraphicsObject()

bool foxit::common::Renderer::RenderGraphicsObject | ( | const pdf::graphics::GraphicsObject * | graphics_object,
|  | const pdf::PDFPage & | page,
|  | const Matrix & | matrix
| ) |  |

渲染图形对象。

当调用此函数时，渲染标志（通过函数 Renderer::SetRenderContentFlags 设置或默认设置）将被忽略。

参数

  [in] | graphics_object | 要渲染的有效PDF图形对象。
  [in] | page | 有效的PDF页面。参数 graphics_object 属于此PDF页面。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::PDFPage::GetDisplayMatrix 返回。

返回
  true 表示成功，而 false 表示失败。

## ◆ SetClearType()

void foxit::common::Renderer::SetClearType | ( | bool | is_clear_type | ) |

设置标志来决定是否使用ClearType类似的反锯齿来渲染文本对象。

如果不调用此函数，将使用默认值 true。

参数

  [in] | is_clear_type | true 表示使用ClearType类似的反锯齿来渲染文本对象。 false 表示不使用ClearType类似的反锯齿来渲染文本对象。

返回
  无。

## ◆ SetClipPathFill()

void foxit::common::Renderer::SetClipPathFill | ( | const Path & | clip_path,
|  | const Matrix & | matrix,
|  | foxit::common::FillMode | fill_mode
| ) |  |

使用填充区域设置裁剪路径。

参数

  [in] | clip_path | 裁剪路径。
  [in] | matrix | 用于裁剪的变换矩阵。
  [in] | fill_mode | 填充模式。应该是值 e_FillModeAlternate 或 e_FillModeWinding。

返回
  无。

## ◆ SetClipPathStroke()

void foxit::common::Renderer::SetClipPathStroke | ( | const Path & | clip_path,
|  | const Matrix & | matrix,
|  | const GraphState * | graph_state = `0`
| ) |  |

使用描边区域设置裁剪路径。

参数

  [in] | clip_path | 裁剪路径。
  [in] | matrix | 用于裁剪的变换矩阵。
  [in] | graph_state | 有效的图形状态，用于画笔属性。如果为 NULL，Foxit PDF SDK将 使用默认构造函数的图形状态对象。默认值：NULL。

返回
  无。

## ◆ SetClipRect()

void foxit::common::Renderer::SetClipRect | ( | const RectI * | clip_rect | ) |

设置将在后续渲染过程中使用的裁剪矩形。

参数

  [in] | clip_rect | 裁剪矩形。如果为 NULL，表示在 后续渲染过程中不使用裁剪矩形。

返回
  无。

## ◆ SetColorMode()

void foxit::common::Renderer::SetColorMode | ( | ColorMode | color_mode | ) |

设置颜色模式。

如果不调用此函数，将使用默认值 Renderer::e_ColorModeNormal。

参数

  [in] | color_mode | 颜色模式值。应该是以下值之一： Renderer::e_ColorModeNormal 表示正常颜色模式。 Renderer::e_ColorModeMappingGray 表示 将白/黑颜色值映射到背景/前景；对其他颜色，不改变。 如果使用此模式，请调用函数 Renderer::SetMappingModeColors 设置"背景颜色"和 "前景颜色"。 Renderer::e_ColorModeMapping 表示 将颜色值映射到由背景颜色和 前景颜色定义的颜色范围。如果使用此模式，请调用函数 Renderer::SetMappingModeColors 设置"背景颜色"和 "前景颜色"。

返回
  无。

## ◆ SetForceDownSample()

void foxit::common::Renderer::SetForceDownSample | ( | bool | is_to_force_down_sample | ) |

设置标志来决定是否对图像拉伸使用下采样。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_to_force_down_sample | true 表示对图像拉伸使用下采样。 false 表示对图像拉伸不使用下采样。

返回
  无。

## ◆ SetForceHalftone()

void foxit::common::Renderer::SetForceHalftone | ( | bool | is_to_force_halftone | ) |

设置标志来决定是否对图像拉伸使用半调。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_to_force_halftone | true 表示对图像拉伸使用半调。 false 表示对图像拉伸不使用半调。

返回
  无。

## ◆ SetForegroundColor()

void foxit::common::Renderer::SetForegroundColor | ( | ARGB | foreground_color | ) |

当颜色模式为 Renderer::e_ColorModeForeground 时为文本、路径或两者设置前景颜色。

文本、路径或两者的前景颜色由函数 Renderer::SetForegroundColorMode 设置的前景颜色模式决定。

参数

  [in] | foreground_color | 文本、路径或两者的前景颜色。格式：0xAARRGGBB。

返回
  无。

## ◆ SetForegroundColorMode()

void foxit::common::Renderer::SetForegroundColorMode | ( | uint32 | foreground_color_mode | ) |

当颜色模式为 Renderer::e_ColorModeForeground 时设置渲染前景颜色模式。

如果不调用此函数，将使用默认值 (Renderer::e_ColorModeForegroundText | Renderer::e_ColorModeForegroundPath | Renderer::e_ColorModeForegroundBlackText | Renderer::e_ColorModeForegroundBlackPath)。

参数

  [in] | foreground_color_mode | 渲染前景颜色模式。请参考从 Renderer::e_ColorModeForegroundText 开始的值，应该是这些值中的一个或 这些值的组合。

返回
  无。

## ◆ SetJPEGDownSample()

void foxit::common::Renderer::SetJPEGDownSample | ( | bool | is_jepg_down_sample | ) |

设置标志来决定是否对jpeg图像使用下采样。

是否对jpeg图像使用下采样将影响PDF页面的渲染结果。 当成功调用当前函数时，用户应该在再次渲染PDF页面之前 为PDF页面（已至少渲染一次）调用函数 pdf::PDFPage::ClearRenderCache。
如果不调用此函数，将使用默认值 true。

参数

  [in] | is_jepg_down_sample | true 表示对jpeg图像使用下采样。 false 表示对jpeg图像不使用下采样。

返回
  无。

## ◆ SetJPXDownSample()

void foxit::common::Renderer::SetJPXDownSample | ( | bool | is_jpx_down_sample | ) |

设置标志来决定是否对jpx图像使用下采样。

是否对jpx图像使用下采样将影响PDF页面的渲染结果。 当成功调用当前函数时，用户应该在再次渲染PDF页面之前 为PDF页面（已至少渲染一次）调用函数 pdf::PDFPage::ClearRenderCache。
如果不调用此函数，将使用默认值 true。

参数

  [in] | is_jpx_down_sample | true 表示对jpx图像使用下采样。 false 表示对jpx图像不使用下采样。

返回
  无。

## ◆ SetLayerContext()

void foxit::common::Renderer::SetLayerContext | ( | const pdf::LayerContext & | layer_context | ) |

设置图层上下文到渲染上下文句柄。

为了在渲染上下文上渲染PDF页面内容时渲染一个图层， 用户应该调用此函数将图层上下文设置到渲染上下文。

参数

  [in] | layer_context | 图层上下文对象。

返回
  无。

## ◆ SetMappingModeColors()

void foxit::common::Renderer::SetMappingModeColors | ( | ARGB | background_color,
|  | ARGB | foreground_color
| ) |  |

当颜色模式为 Renderer::e_ColorModeMappingGray 或 Renderer::e_ColorModeMapping 时设置背景颜色和前景颜色。

参数

  [in] | background_color | 背景颜色。格式：0xAARRGGBB。
  [in] | foreground_color | 前景颜色。格式：0xAARRGGBB。

返回
  无。

## ◆ SetOverprint()

void foxit::common::Renderer::SetOverprint | ( | bool | is_to_enable_overprint | ) |

设置标志来决定是否启用叠印。

参数

  [in] | is_to_enable_overprint | true 表示启用叠印。 false 表示不启用叠印。 默认值： false.

返回
  无。

## ◆ SetPrintTextAsGraphic()

void foxit::common::Renderer::SetPrintTextAsGraphic | ( | bool | is_to_print_text_graphic | ) |

设置标志来决定是否将文本打印为路径或位图。

当此标志为 true 时，Foxit PDF SDK将以不同方式渲染文本： 如果字体大小大于50，将文本打印为路径；否则，将文本打印为位图。
如果不调用此函数，将使用默认值 false。

参数

  [in] | is_to_print_text_graphic | true 表示将文本打印为路径或位图。 false 表示不将文本打印为路径或位图。

返回
  无。

## ◆ SetPrintTextAsImage()

void foxit::common::Renderer::SetPrintTextAsImage | ( | bool | is_to_print_text_image | ) |

设置标志来决定是否将文本打印为图像。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_to_print_text_image | true 表示将文本打印为图像。 false 表示不将文本打印为图像。

返回
  无。

## ◆ SetRenderAnnotAppearanceType()

void foxit::common::Renderer::SetRenderAnnotAppearanceType | ( | foxit::pdf::annots::Annot::AppearanceType | ap_type | ) |

设置注释的外观类型用于渲染。

参数

  [in] | ap_type | 注释外观的类型。请参考从 pdf::annots::Annot::e_AppearanceTypeNormal 开始的值，应该是这些值中的一个。

返回
  无。

## ◆ SetRenderAnnotsForThumbnail()

void foxit::common::Renderer::SetRenderAnnotsForThumbnail | ( | bool | is_render_annots_for_thumbnail | ) |

设置渲染标志来决定是否在缩略图模式下渲染注释。

在缩略图模式下，注释的"NoZoom"和"NoRotate"标志将被忽略。 此渲染标志仅在使用标志 Renderer::e_RenderAnnot 进行渲染或 调用函数 Renderer::RenderAnnot 时可用。关于设置标志 Renderer::e_RenderAnnot 请参考函数 Renderer::SetRenderContentFlags。
如果不调用此函数，当此渲染标志可用时将使用默认值 false。

参数

  [in] | is_render_annots_for_thumbnail | true 表示在缩略图模式下渲染注释。 false 表示不在缩略图模式下渲染注释。

返回
  无。

## ◆ SetRenderContentFlags()

void foxit::common::Renderer::SetRenderContentFlags | ( | uint32 | render_content_flags | ) |

设置渲染标志来决定渲染什么内容。

如果不调用此函数，将使用默认值 (Renderer::e_RenderPage | Renderer::e_RenderAnnot)。

参数

  [in] | render_content_flags | 渲染内容标志。请参考从 Renderer::e_RenderPage 开始的值，应该是这些值中的一个或组合。 Renderer::e_RenderHighlight 不能与 Renderer::e_RenderExceptHighlight 组合。

返回
  无。

## ◆ SetRenderEnhanceThinLines()

void foxit::common::Renderer::SetRenderEnhanceThinLines | ( | bool | is_render_enhance_thin_lines | ) |

设置标志来决定是否增强细线。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_render_enhance_thin_lines | true 表示用更粗的路径绘制零宽度线条， 使它们比默认的单像素更可见。 false 表示用单像素宽度绘制零宽度线条。

返回
  无。

## ◆ SetRenderFormField()

void foxit::common::Renderer::SetRenderFormField | ( | bool | is_render_formfield | ) |

设置标志来决定是否渲染表单字段（除签名字段外）。

如果不调用此函数，当此标志可用时将使用默认值 true。

参数

  [in] | is_render_formfield | true 表示渲染表单字段（除签名字段外）。 false 表示不渲染表单字段（除签名字段外）。

返回
  无。

## ◆ SetRenderImageAntiAliasing()

void foxit::common::Renderer::SetRenderImageAntiAliasing | ( | bool | is_render_image_antialiasing | ) |

设置标志来决定是否绘制图像反锯齿。

如果不调用此函数，将使用默认值 true。

参数

  [in] | is_render_image_antialiasing | true 表示绘制图像反锯齿，效果类似于 枚举类InterpolationFlag中定义的值。 false 表示绘制图像锯齿。

返回
  无。

## ◆ SetRenderLayer()

void foxit::common::Renderer::SetRenderLayer | ( | bool | is_render_one_layer | ) |

设置标志来决定是否渲染一个图层或所有可用图层。

如果不调用此函数，当此标志可用时将使用默认值 true。

参数

  [in] | is_render_one_layer | true 表示渲染一个图层。 false 表示渲染所有可用图层。

返回
  无。

## ◆ SetRenderPathAntiAliasing()

void foxit::common::Renderer::SetRenderPathAntiAliasing | ( | bool | is_render_path_antialiasing | ) |

设置标志来决定是否绘制路径反锯齿。

如果不调用此函数，将使用默认值 true。

参数

  [in] | is_render_path_antialiasing | true 表示绘制路径反锯齿。 false 表示绘制路径锯齿。

返回
  无。

## ◆ SetRenderPathFullCovered()

void foxit::common::Renderer::SetRenderPathFullCovered | ( | bool | is_render_path_full_covered | ) |

可应用于填充模式的特殊标志。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_render_path_full_covered | true 表示路径部分覆盖的所有像素将被完全绘制，而 false 表示不这样做。

返回
  无。

## ◆ SetRenderPathThinLine()

void foxit::common::Renderer::SetRenderPathThinLine | ( | bool | is_render_path_thin_line | ) |

设置标志来决定是否将路径绘制为细线。

如果不调用此函数，将使用默认值 false。

参数

  [in] | is_render_path_thin_line | true 表示将路径绘制为细线。 false 表示不将路径绘制为细线。

返回
  无。

## ◆ SetRenderSignature()

void foxit::common::Renderer::SetRenderSignature | ( | bool | is_render_signature | ) |

设置标志来决定是否渲染签名。

如果不调用此函数，当此标志可用时将使用默认值 true。

参数

  [in] | is_render_signature | true 表示渲染签名。 false 表示不渲染签名。

返回
  无。

## ◆ SetRenderSignatureState()

void foxit::common::Renderer::SetRenderSignatureState | ( | bool | is_render_signature_state | ) |

设置标志来决定是否在签名上绘制签名状态。

如果不调用此函数，将使用默认值 true。

参数

  [in] | is_render_signature_state | true 表示在签名上绘制签名状态， 而 false 表示不绘制。

## ◆ SetRenderTextAntiAliasing()

void foxit::common::Renderer::SetRenderTextAntiAliasing | ( | bool | is_render_text_antialiasing | ) |

设置标志来决定是否绘制文本反锯齿。

如果不调用此函数，将使用默认值 true。

参数

  [in] | is_render_text_antialiasing | true 表示绘制文本反锯齿。 false 表示绘制文本锯齿。

返回
  无。

## ◆ SetScreenDPIScale()

void foxit::common::Renderer::SetScreenDPIScale | ( | float | scale | ) |

设置用于渲染的屏幕DPI缩放因子。

设置屏幕DPI缩放比例以适应不同的DPI条件。 此值通常应匹配系统报告的缩放因子 （例如，显示设置中125缩放为1.25）以确保与物理显示特性 的正确渲染对齐。

参数

  [in] | scale | 当前屏幕DPI的缩放比例（1.0 = 100原生DPI，2.0 = 200等）。 必须大于0，通常应对应于系统推荐的缩放因子。

注解
  目前，此屏幕DPI缩放因子仅影响注释。

返回
  无。

## ◆ StartQuickRender()

Progressive foxit::common::Renderer::StartQuickRender | ( | const pdf::PDFPage & | page,
|  | const Matrix & | matrix,
|  | PauseCallback * | pause = `0`
| ) |  |

开始快速渲染PDF页面，主要用于缩略图。

此函数主要用于为缩略图渲染页面。 渲染的内容将不完整：即使通过函数 Renderer::SetRenderContentFlags 设置了标志 Renderer::e_RenderAnnot，所有注释都将被忽略； 文本内容将变得模糊并被像素点替代。
当页面具有复杂或大量内容时，这种快速渲染可能仍需要很长时间， 因此Foxit PDF SDK使用渐进式过程来完成。

参数

  [in] | page | 有效的PDF页面。应该已经被解析。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::PDFPage::GetDisplayMatrix 返回。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。 默认值：NULL。

返回
  渐进对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的速率。 如果速率尚未达到100，调用函数 Progressive::Continue 继续进度直到进度完成。

## ◆ StartRender()

Progressive foxit::common::Renderer::StartRender | ( | const pdf::PDFPage & | page,
|  | const Matrix & | matrix,
|  | PauseCallback * | pause = `0`
| ) |  |

开始渲染PDF页面。

渲染具有复杂或大量内容的PDF页面可能需要很长时间，因此Foxit PDF SDK使用 渐进式过程来完成。
在Foxit PDF SDK中，窗体注释总是与表单字段和表单控件关联。对于如何 渲染窗体注释，推荐流程如下：

- 加载PDF页面后，首先渲染页面和此页面中的所有注释 （包括窗体注释）。
- 然后，如果用户使用 pdf::interform::Filler 对象填写表单，用户应该使用函数 pdf::interform::Filler::Render 渲染焦点表单控件，而不是使用 函数 Renderer::RenderAnnot。

参数

  [in] | page | 有效的PDF页面。如果只渲染注释（即只通过函数 Renderer::SetRenderContentFlags 设置了 Renderer::e_RenderAnnot），则无需解析输入页面； 否则输入页面应该已经被解析。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::PDFPage::GetDisplayMatrix 返回。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。 默认值：NULL。

返回
  渐进式对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的比率。如果比率还不是100，调用函数 Progressive::Continue 继续进度直到进度完成。

## ◆ StartRenderBitmap() [1/2]

Progressive foxit::common::Renderer::StartRenderBitmap | ( | const Bitmap & | bitmap,
|  | const Matrix & | matrix,
|  | const RectI * | clip_rect,
|  | uint32 | interpolation,
|  | uint32 | alpha,
|  | PauseCallback * | pause
| ) |  |

开始渲染位图。

渲染具有复杂或大量内容的位图可能需要很长时间，因此Foxit PDF SDK使用 渐进式过程来完成。

参数

  [in] | bitmap | 有效的位图。用户应确保位图在 当前渲染过程完成之前保持有效。
  [in] | matrix | 用于渲染的变换矩阵。此矩阵用作图像矩阵： 假设 h 是图像高度，w 是图像宽度，那么矩阵 [w 0 0 h 0 0] 将产生一个相同的图像。
  [in] | clip_rect | 渲染设备的裁剪矩形。可以为 NULL。
  [in] | interpolation | 位图插值标志。请参考从 Bitmap::e_Downsample 开始的值，可以是这些值中的一个或组合。 如果不指定任何标志，请使用0。
  [in] | alpha | 位图透明度值（0 = 完全透明，255 = 完全不透明）。 有效范围：从0到255。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。

返回
  渐进对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的速率。 如果速率尚未达到100，调用函数 Progressive::Continue 继续进度直到进度完成。

## ◆ StartRenderBitmap() [2/2]

Progressive foxit::common::Renderer::StartRenderBitmap | ( | const Bitmap & | bitmap,
|  | const Matrix & | matrix,
|  | const RectI * | clip_rect = `0`,
|  | uint32 | interpolation = `0`,
|  | PauseCallback * | pause = `0`
| ) |  |

开始渲染位图。

渲染具有复杂或大量内容的位图可能需要很长时间，因此Foxit PDF SDK使用 渐进式过程来完成。

参数

  [in] | bitmap | 有效的位图。用户应确保位图在 当前渲染过程完成之前保持有效。
  [in] | matrix | 用于渲染的变换矩阵。此矩阵用作图像矩阵： 假设 h 是图像高度，w 是图像宽度，那么矩阵 [w 0 0 h 0 0] 将产生一个相同的图像。
  [in] | clip_rect | 渲染设备的裁剪矩形。可以为 NULL。 默认值：NULL。
  [in] | interpolation | 位图插值标志。请参考从 Bitmap::e_Downsample 开始的值，可以是这些值中的一个或组合。 如果不指定任何标志，请使用0。默认值：0。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。 默认值：NULL。

返回
  渐进对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的速率。 如果速率尚未达到100，调用函数 Progressive::Continue 继续进度直到进度完成。

## ◆ StartRenderReflowPage()

gressive foxit::common::Renderer::StartRenderReflowPage | ( | const pdf::ReflowPage & | reflow_page,
|  | const Matrix & | matrix,
|  | PauseCallback * | pause = `0`
| ) |  |

开始渲染重排页面。

渲染具有复杂或大量内容的重排页面可能需要很长时间，因此Foxit PDF SDK使用 渐进式过程来完成。

参数

  [in] | reflow_page | 有效的重排页面。应该已经被解析。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 pdf::ReflowPage::GetDisplayMatrix 返回。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。 默认值：NULL。

返回
  渐进式对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的比率。如果比率还不是100，调用函数 Progressive::Continue 继续进度直到进度完成。

## ◆ StartRenderXFAPage()

Progressive foxit::common::Renderer::StartRenderXFAPage | ( | const addon::xfa::XFAPage & | xfa_page_view,
|  | const Matrix & | matrix,
|  | bool | is_highlight,
|  | PauseCallback * | pause = `0`
| ) |  |

开始渲染XFA页面。

渲染具有复杂或大量内容的XFA页面将需要很长时间，因此Foxit PDF SDK使用 渐进式过程来完成。

参数

  [in] | xfa_page_view | 有效的XFA页面。
  [in] | matrix | 用于渲染的变换矩阵，通常由函数 addon::xfa::XFAPage::GetDisplayMatrix 返回。
  [in] | is_highlight | true 表示高亮XFA小部件，false 表示不高亮 XFA小部件。
  [in] | pause | 暂停回调对象，决定渲染过程是否需要暂停。 可以为 NULL，表示在渲染过程中不暂停。 如果不为 NULL，应该是用户实现的有效暂停对象。 默认值：NULL。

返回
  渐进对象。请通过函数 Progressive::GetRateOfProgress 检查当前进度的速率。 如果速率尚未达到100，调用函数 Progressive::Continue 继续进度直到进度完成。