如何使用 Mako SDK 在 PDF 中模拟叠印?
How do I simulate overprint in a PDF using the Mako SDK?
我正在使用 Mako SDK,我想输出到 SVG。在我这样做之前,我想模拟叠印。
我正在使用 ISVGGenerator
class,但我看不到任何控制叠印模拟的方法。如果我查看 IJawsRenderer
class,我也看不到任何方法。
如何打开叠印模拟?
要使用套印模拟,您需要使用转换,而不是在给定输出上设置标志。
此转换将 运行 在您提供的节点树上进行更新和渲染,从而修改 DOM 以模拟套印。
Mako 为此提供了标准转换。此代码设置它:
// Setup the overprint simulation transform
IOverprintSimulationTransformPtr transform = IOverprintSimulationTransform::create(jawsMako);
transform->setSimulateBlackDeviceGrayTextOverprint(false);
transform->setResolution(300);
您可以使用以下方法将此转换应用于页面:
IPagePtr page = document->getPage(0);
transform->transformPage(page);
如果要对页面应用套印模拟进行渲染,但不希望它影响原始页面DOM,您可以先克隆页面,使用:
IPage::clone()
然后将转换应用于克隆的页面。渲染克隆页面后,可以将其丢弃。
我正在使用 Mako SDK,我想输出到 SVG。在我这样做之前,我想模拟叠印。
我正在使用 ISVGGenerator
class,但我看不到任何控制叠印模拟的方法。如果我查看 IJawsRenderer
class,我也看不到任何方法。
如何打开叠印模拟?
要使用套印模拟,您需要使用转换,而不是在给定输出上设置标志。
此转换将 运行 在您提供的节点树上进行更新和渲染,从而修改 DOM 以模拟套印。
Mako 为此提供了标准转换。此代码设置它:
// Setup the overprint simulation transform
IOverprintSimulationTransformPtr transform = IOverprintSimulationTransform::create(jawsMako);
transform->setSimulateBlackDeviceGrayTextOverprint(false);
transform->setResolution(300);
您可以使用以下方法将此转换应用于页面:
IPagePtr page = document->getPage(0);
transform->transformPage(page);
如果要对页面应用套印模拟进行渲染,但不希望它影响原始页面DOM,您可以先克隆页面,使用:
IPage::clone()
然后将转换应用于克隆的页面。渲染克隆页面后,可以将其丢弃。