Как имитировать наложение в PDF с помощью Mako SDK? - PullRequest
0 голосов
/ 26 февраля 2019

Я использую Mako SDK и хочу выводить в SVG.Прежде чем я сделаю это, я хочу имитировать наложение.

Я использую класс ISVGGenerator, но я не вижу никаких методов для управления имитацией наложения.Если я посмотрю на класс IJawsRenderer, я также не смогу увидеть какие-либо методы для него.

Как включить имитацию надпечатки?

1 Ответ

0 голосов
/ 26 февраля 2019

Чтобы использовать имитацию надпечатки, вам нужно использовать преобразование, а не устанавливать флаг для заданного вывода.

Это преобразование будет затем проходить по дереву узлов, которое вы ему даете, обновляя и рендеринг в результатв DOM, который был изменен так, чтобы он имитировал оверпринт.

Для этой цели Мако предлагает стандартное преобразование.Этот код устанавливает его:

// 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()

, а затем примените преобразование к клонированной странице.После рендеринга клонированной страницы ее можно удалить.

...