有时需要将图形以灰度或单色文档的形式导出为 PDF 格式。通常的做法是使用打印样式:monochrome.ctb/stb 和 grayscale.ctb/stb。
有时这已经足够了,但不幸的是并非总是如此。设置打印样式本身的可能性取决于图形中使用的颜色相关或命名打印样式,这可能缺失。此外,单色/灰度打印样式不能应用于图片、衬垫、OLE 对象和某些类型的填充等实体:
由于 PDFExport 是一项多产品功能,不仅仅适用于 .dwg 文件,其他类型的图形可能根本不使用打印样式或类似的东西。
因此,在这些情况下,可以使用 PDFExport 的一个特殊功能:颜色策略:
可以使用 PDFExportParams 类中的以下方法进行设置:
/** \details
Sets a new export color policy value.
\param policy [in] color policy to be set.*/
void setColorPolicy(ColorPolicy policy) { m_colorPolicy = policy; }
颜色策略可以设置为以下值:
/** \details
Export color policy. Determines how colors form an original drawing are exported to .pdf file. */
enum ColorPolicy
{
kNoPolicy = 0,// No color policy. A drawing is exported with its native color palette (as is). Default value
kMono = 1, // Drawing is exported to a monochrome .pdf file.
kGrayscale = 2// Drawing is exported to a grayscale .pdf file. Native colors are converted into grayscale
};
正如我们在上一张图片中看到的,如果可以使用单色打印样式,也可以进行设置。
上一张图片显示了应用灰度策略后的导出结果。