Как импортировать файл PDF в качестве фона в GtkDrawingArea - PullRequest
1 голос
/ 05 ноября 2019

Мне нужно импортировать файл PDF в качестве фона, который я могу нарисовать на нем. Я хочу новые цифры и хочу выделить некоторые области.

Я искал в Интернете последние три дня. Единственное, что я обнаружил, это обратное, запись в pdf-файлы.

/ * делает по-другому * / cairo_pdf_surface_create ();

Сначала я попробовал эту команду, но когда понял, что она перезаписываетсямой исходный файл вместо его импорта.

Я использую GTK3 и C для написания моей программы.

1 Ответ

1 голос
/ 06 ноября 2019

Как вы уже поняли, это не простая задача: у GTK нет функций рендеринга PDF, поэтому вам нужно использовать некоторую внешнюю библиотеку.

Я рекомендую взглянуть на Evince, GTKпросмотрщик документов. Он имеет разные бэкэнды для разных типов документов. Для PDF это ev-poppler.cc и используется библиотека попплеров .

Внутри этого ev-poppler.cc есть pdf_page_render, который отображает одну страницу, и pdf_document_get_page, который получает одну страницу из бэкэнда.

...