CefGlue тихая печать в PDF

У меня есть последние версии CefGlue (3.2272.2035)

Мне нужно сохранить текущую страницу в формате PDF. Я хотел бы как-то взаимодействовать с моим CEF (JS/C#) и заставить его создавать PDF для меня.

  1. Я пытался использовать javascript.window.print() для этой цели, но безуспешно, потому что все, что у меня есть, - это такое окно.

  1. Я нашел метод OnPrintJob в CefPrintHandler, но я не знаю, как правильно его назвать + комментарии говорят: "Реализовать этот интерфейс для обработки печати в Linux", и мне нужно обрабатывать печать в pdf в средах Windows (обе x64/x86)

Любой пример кода будет оценен. Заранее благодарю за любую помощь.

1 ответ

Решение

Вам нужно слить этот патч и перекомпилировать cef из исходного кода; Кроме того, вам может понадобиться добавить клейкую логику в CefGlue. Я тестировал патч сам (на C++ API), и он работал нормально.

Отредактировано: патч будет объединен в ствол.

Если вам нужно распечатать только некоторые страницы (особенно если эти страницы находятся под вашим контролем), у вас все будет хорошо. Однако если вам нужно (как я делал в то время) напечатать почти что-нибудь, вы, вероятно, столкнетесь с тем фактом, что некоторые веб-страницы не отображают ничего полезного для представления печати. Кроме того, даже те, кто ведет себя хорошо, значительно отличаются от того, что вы видите на экране - и это не поведение CEF, поскольку даже в Google Chrome были обнаружены те же проблемы. В моем приложении это было запрещено, поэтому я прекратил печать и начал снимать экран (и реализовал сохранение его в формате pdf с использованием библиотеки pdf в C++), но, возможно, ваше приложение не так требовательно, как мое. Ура!

Другие вопросы по тегам