【问题标题】:How do I simulate overprint in a PDF using the Mako SDK?如何使用 Mako SDK 在 PDF 中模拟叠印?
【发布时间】:2019-07-20 03:08:26
【问题描述】:

我正在使用 Mako SDK,我想输出到 SVG。在此之前,我想模拟叠印。

我正在使用ISVGGenerator 类,但我看不到任何控制叠印模拟的方法。如果我查看 IJawsRenderer 类,我也看不到它的任何方法。

如何开启叠印模拟?

【问题讨论】:

    标签: c++ pdf svg xps mako-sdk


    【解决方案1】:

    要使用叠印模拟,您需要使用转换,而不是在给定输出上设置标志。

    然后,此转换将在您提供给它的节点树上运行,更新和渲染以导致 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()
    

    然后将转换应用到克隆的页面。渲染克隆的页面后,可以将其丢弃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-08
      • 2014-03-07
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 2019-07-20
      • 2014-09-29
      • 2012-01-01
      相关资源
      最近更新 更多