Gtkwebkit, сохранить HTML в PDF
В последние дни я ищу лучший и самый короткий способ конвертировать HTML-файлы в PDF. Поскольку я создаю свои html-файлы с помощью программы на C и просматриваю их через gtkwebkit, использующий cairo, это должен быть эффективный и прямой способ преобразования содержимого показанной страницы в html с помощью C (я думаю). Но не могу найти ни одного примера или направления, чтобы идти в сети.
До сих пор среди разных виртуальных принтеров я нахожу только инструменты командной строки, которые создаются в perl или зависят от того, что не нужно.
Пожалуйста, для любого предложения, примера или совета, чтобы получить эту функциональность от gtkwebkit и, если нет, может быть что-то с какой-то крошечной C-библиотекой.
1 ответ
Насколько я могу судить по прочтению документации (сам не пробовал):
- Получить основной кадр с
webkit_web_view_get_main_frame()
, - Создать
GtkPrintOperation
сgtk_print_operation_new()
, - Установить
export-file
свойство в вашей операции печати, чтобы быть именем PDF, в который вы хотите экспортировать. - Распечатать кадр с
webkit_web_frame_print_full()
, Не забудьте пройтиGTK_PRINT_OPERATION_ACTION_EXPORT
в качестве параметра "действие".
Однажды я написал код, чтобы сделать это, не открывая окна. Но затем у меня возникла проблема с использованием этого кода из нескольких потоков (например, на веб-сервере). Я провел небольшое исследование и выяснил, что сам gtk однопоточный. Так что я сделал свой код потокобезопасным, поставив операции печати в очередь в основной поток. В любом случае, если это поможет, проверьте это... https://github.com/gnudles/wkgtkprinter