{"id":305151,"date":"2020-06-10T15:00:34","date_gmt":"2020-06-10T15:00:34","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=305151"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=305151","title":{"rendered":"\u041a\u0430\u043a \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0430\u043c\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442\u044b \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f: \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u044e wkhtmltopdf \u043f\u043e\u0434 Windows"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/505864\/\">wkhtmltopdf \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043c\u043e\u0449\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 PDF. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 HTML \u0438 CSS. \u00ab\u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c\u00bb \u0443 \u043d\u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043e\u043a WebKit, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0443 \u00abPrint to PDF\u00bb, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c\u0443 \u0432 Chrome. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043d\u0430 Stack Overflow, wkhtmltopdf \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0440\u0442, \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u0438\u0445 \u043e\u0442\u0447\u0451\u0442\u043e\u0432, \u043f\u043e\u0434\u0430\u0440\u043e\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435.<\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/500288\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ps\/qo\/r_\/psqor_85k6r0qb26nkvldphxzis.png\"><\/div>\n<p><\/a><\/p>\n<p>  \u041c\u043e\u0439 \u0434\u0430\u0432\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e wkhtmltopdf \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 PDF-\u0438\u043d\u0432\u043e\u0439\u0441\u044b \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u0435\u0431-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435. \u041f\u0440\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u00ab\u0448\u0430\u043f\u043a\u0435\u00bb \u0438\u043d\u0432\u043e\u0439\u0441\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0447\u0451\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0439 \u043b\u043e\u0433\u043e\u0442\u0438\u043f, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0446\u0432\u0435\u0442\u043d\u043e\u0439. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 CSS <code>@media print { ... }<\/code> \u041d\u043e \u0442\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0435\u0441\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0435 <code>@media print<\/code>, \u0442\u043e \u043e\u043d\u043e \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0440\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 (\u044d\u0442\u043e\u0442 \u0431\u0430\u0433 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0438 \u0432 \u043e\u043a\u043d\u0435 Print Preview \u0441\u0430\u043c\u043e\u0433\u043e Chrome).<a name=\"habracut\"><\/a><\/p>\n<p>  \u042f <a href=\"https:\/\/github.com\/wkhtmltopdf\/wkhtmltopdf\/issues\/4674\">\u0437\u0430\u0440\u0435\u043f\u043e\u0440\u0442\u0438\u043b \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443<\/a>, \u043d\u043e \u0437\u0430 \u043f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0435 \u0434\u043e\u0436\u0434\u0430\u043b\u0441\u044f \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0440\u0435\u0430\u043a\u0446\u0438\u0438. \u0422\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043c\u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0442\u043e \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043c\u043d\u0435 \u043d\u0430\u0434\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u2014 \u0432 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u043c \u0434\u0443\u0445\u0435 Open Source. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0430\u0433, \u0435\u0441\u043b\u0438 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0435 \u043e\u0442\u043a\u043b\u0438\u043a\u0430\u044e\u0442\u0441\u044f.<\/p>\n<h2><font color=\"#3AC1EF\">\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e wkhtmltopdf<\/font><\/h2>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0431\u0435\u0433\u043b\u043e\u0433\u043e \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u0430 \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c <a href=\"https:\/\/github.com\/wkhtmltopdf\/wkhtmltopdf\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f wkhtmltopdf<\/a> \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 C++ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Qt. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0436\u0435 \u0434\u0435\u043b\u0435, \u043a wkhtmltopdf \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f <a href=\"https:\/\/github.com\/wkhtmltopdf\/qt\">\u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043a<\/a> Qt 4.8 \u0441 <a href=\"https:\/\/github.com\/wkhtmltopdf\/wkhtmltopdf\/issues\/3217\">\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/a>, \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f wkhtmltopdf. \u042d\u0442\u043e \u0443\u0436\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 wkhtmltopdf \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u0441\u0435\u0433\u043e Qt \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u2014 \u043f\u043e\u043b\u0443\u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 C++, \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a WebKit \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 wkhtmltopdf.<\/p>\n<p>  \u041d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0438 wkhtmltopdf \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0431\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043a\u0430\u043b\u0438, \u043a\u0430\u043a \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 \u0435\u0449\u0451 \u0441\u0438\u043b\u044c\u043d\u0435\u0435. \u0421\u0431\u043e\u0440\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u043b\u044f Linux \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 Docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430; \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u043b\u044f Windows \u0438 macOS \u2014 \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b (Vagrant \/ VirtualBox). \u0418 \u0442\u043e, \u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 Linux-\u0445\u043e\u0441\u0442\u0435; \u044f \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b Windows, \u0438 \u0445\u043e\u0442\u0435\u043b \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c wkhtmltopdf \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434 Windows. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f Linux-\u0432\u0435\u0440\u0441\u0438\u0439 \u0432 Docker \u043f\u043e\u0434 Windows, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435; \u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f Windows-\u0432\u0435\u0440\u0441\u0438\u0438 \u0432 VirtualBox, \u043f\u043e \u0438\u0434\u0435\u0435, \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u0445\u043e\u0441\u0442-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0432\u0435\u0440\u043d\u043e? \u041d\u0435 \u0442\u0443\u0442-\u0442\u043e \u0431\u044b\u043b\u043e\u2026<\/p>\n<h2><font color=\"#3AC1EF\">\u041a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c wkhtmltopdf \u043f\u043e\u0434 Windows (\u043f\u0435\u0440\u0432\u0430\u044f \u0433\u043e\u0440\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c)<\/font><\/h2>\n<p>  <a href=\"https:\/\/github.com\/wkhtmltopdf\/packaging\/blob\/0.12\/README.md\">README.md<\/a> \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u2014 \u044d\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e:<\/p>\n<blockquote><p>For building, just use the <code>.\/build vagrant<\/code> command and it will bring up the VM, rsync the code into it, build dependent libraries via conan and compile Qt along with wkhtmltopdf, package it and copy the package into the output folder.<\/p><\/blockquote>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (VirtualBox, Vagrant, <a href=\"http:\/\/www2.futureware.at\/~nickoe\/msys2-mirror\/msys\/x86_64\/rsync-3.1.2-2-x86_64.pkg.tar.xz\">rsync<\/a>), \u0438 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f, \u043a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0432 readme, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code>.\/build vagrant<\/code>:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant usage: build vagrant [-h] [--clean] [--debug] [--version VER ITER] [--iteration RELITER] target src_dir build vagrant: error: the following arguments are required: target, src_dir <\/pre>\n<p>  \u041a\u0430\u043a\u043e\u0439 target \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438, readme \u0434\u0430\u0436\u0435 \u043d\u0435 \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442; \u0437\u0430\u0442\u043e \u0442\u0430\u043c \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0445 targets \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 build.yml. \u0417\u0430\u0433\u043b\u044f\u043d\u0443\u0432 \u0432\u043d\u0443\u0442\u0440\u044c \u043d\u0435\u0433\u043e, \u0432\u0438\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 targets, \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u2014 \u043e\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f msvc2015-win64.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0443<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Importing base box 'mcandre\/windows-amd64'... ==&gt; windows: Matching MAC address for NAT networking... ==&gt; windows: Setting the name of the VM: vagrant_windows_1590526601203_40379 ==&gt; windows: Clearing any previously set network interfaces... ==&gt; windows: Preparing network interfaces based on configuration...     windows: Adapter 1: nat ==&gt; windows: Forwarding ports...     windows: 22 (guest) =&gt; 2222 (host) (adapter 1) ==&gt; windows: Running 'pre-boot' VM customizations... ==&gt; windows: Booting VM... ==&gt; windows: Waiting for machine to boot. This may take a few minutes...     windows: SSH address: 127.0.0.1:2222     windows: SSH username: vagrant     windows: SSH auth method: private key ==&gt; windows: Machine booted and ready! ==&gt; windows: Checking for guest additions in VM...     windows: No guest additions were detected on the base box for this VM! Guest     windows: additions are required for forwarded ports, shared folders, host only     windows: networking, and more. If SSH fails on this machine, please install     windows: the guest additions and repackage the box to continue.     windows:     windows: This is not an error message; everything may continue to work properly,     windows: in which case you may ignore this message. ==&gt; windows: Running provisioner: shell...     windows: Running: inline script     windows: vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;choco uninstall -y rsync [skipped]     windows: vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;cd &quot;C:\/Program Files\/Git&quot;     windows: vagrant@VAGRANT-IL06I9S C:\\Program Files\\Git&gt;curl -fsSL https:\/\/downloads.sourceforge.net\/msys2\/rsync-3.1.3-1-x86_64.pkg.tar.xz | tar xJ     windows: curl: (6) Could not resolve host: downloads.sourceforge.net     windows: xz: (stdin): File format not recognized     windows: tar: Child returned status 1     windows: tar: Error is not recoverable: exiting now <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 DNS. <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043e\u043d\u0430 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f?<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ cd vagrant\/  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging\/vagrant (0.12) $ vagrant ssh windows Microsoft Windows [Version 10.0.16299.15] (c) 2017 Microsoft Corporation. All rights reserved.  vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;nslookup DNS request timed out.     timeout was 2 seconds. Default Server:  UnKnown Address:  10.0.2.3  &gt; downloads.sourceforge.net. Server:  UnKnown Address:  10.0.2.3  DNS request timed out.     timeout was 2 seconds. DNS request timed out.     timeout was 2 seconds. *** Request to UnKnown timed-out <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0418\u0449\u0435\u043c, \u0447\u0442\u043e \u0437\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432 Vagrant \/ VirtualBox \u0441 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c 10.0.2.3, \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 <a href=\"https:\/\/serverfault.com\/questions\/453185\/vagrant-virtualbox-dns-10-0-2-3-not-working\">\u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430 Server Fault<\/a> \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043e\u043f\u0446\u0438\u044e natdnshostresolver1.<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 Vagrantfile \u043f\u043e\u0441\u043e\u0432\u0435\u0442\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443:<\/p>\n<pre><code class=\"ruby\">            v.customize [&quot;modifyvm&quot;, :id, &quot;--natdnshostresolver1&quot;, &quot;on&quot;]<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u2014 \u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0437\u0430\u043d\u043e\u0432\u043e<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging\/vagrant (0.12) $ cd ..  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Importing base box 'mcandre\/windows-amd64'... [skipped]     windows: vagrant@VAGRANT-IL06I9S C:\\Program Files\\Git&gt;powershell Restart-Service sshd The source and destination cannot both be remote. rsync error: syntax or usage error (code 1) at main.c(1292) [Receiver=3.1.2] rsync --info=progress2 -a -e &quot;ssh -F vagrant\/.vagrant\/windows_config&quot; --delete --exclude .git C:\\Users\\tyomitch\\Documents\\wkhtmltopdf\/ windows:\/c\/Users\/vagrant\/msvc2015-win64\/src command failed: exit code 1 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u043d\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u0451 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 rsync \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0430\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439: rsync \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u0438\u043c\u0435\u043d\u0438 \u0445\u043e\u0441\u0442\u0430 \u0438 \u043f\u0443\u0442\u0438, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0443\u0442\u044c <br \/>  <code>C:\\Users\\tyomitch\\Documents\\wkhtmltopdf\/<\/code> \u0434\u043b\u044f rsync \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 &quot;<code>\\Users\\tyomitch\\Documents\\wkhtmltopdf\/<\/code> \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 C&quot;. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c <b>\u043d\u0435<\/b> \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u043c, \u0430 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 build \u043b\u0438\u0448\u043d\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b <code>os.path.abspath<\/code> \u2014 \u043f\u0435\u0440\u0435\u0434 <code>def outside_vm():<\/code> \u0438 \u0432\u043d\u0443\u0442\u0440\u0438 <code>def rsync(flags, src, tgt):<\/code><\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043e\u0434\u0438\u043d \u0448\u0430\u0433 \u0434\u0430\u043b\u044c\u0448\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==&gt; windows: flag to force provisioning. Provisioners marked to run always will still run.     562,459,244 100%  410.31kB\/s    0:22:18 (xfr#47167, to-chk=0\/52290)         141,615 100%  110.96kB\/s    0:00:01 (xfr#58, to-chk=0\/84) Auto detecting your dev setup to initialize the default profile (C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\profiles\\default) Found Visual Studio 14 Default settings         os=Windows         os_build=Windows         arch=x86_64         arch_build=x86_64         compiler=Visual Studio         compiler.version=14         build_type=Release [skipped] conanfile.txt: Generator json created conanbuildinfo.json conanfile.txt: Generator txt created conanbuildinfo.txt conanfile.txt: Generated conaninfo.txt conanfile.txt: Generated graphinfo WARN: Remotes registry file missing, creating default one in C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\remotes.json '..' is not recognized as an internal or external command, operable program or batch file. ..\/src\\qt\\configure -opensource -confirm-license -fast -release -static -graphicssystem raster -webkit -exceptions [skipped] -D LIBJPEG_STATIC OPENSSL_LIBS=&quot;-llibssl -llibcrypto -lUser32 -lAdvapi32 -lGdi32 -lCrypt32&quot; command failed: exit code 1 ssh -F vagrant\/.vagrant\/windows_config windows -- python msvc2015-win64\/pkg\/build vagrant --version &quot;0.12.6&quot; &quot;0.20200528.27.dev.f1ef81d&quot; msvc2015-win64 ..\/src command failed: exit code 1 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 Windows &quot;<code>..\/src\\qt\\configure<\/code>&quot; \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>..<\/code> \u0441 \u043a\u043b\u044e\u0447\u043e\u043c <code>\/src\\qt\\configure<\/code> \u2014 \u0438 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b <code>os.path.abspath<\/code> \u0431\u044b\u043b\u0438 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043b\u0438\u0448\u043d\u0438\u043c\u0438, \u0438 \u0432\u043d\u0443\u0442\u0440\u0438 <code>def inside_vm():<\/code> \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0434\u0432\u0430\u0436\u0434\u044b \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>src_dir<\/code> \u0432 \u0432\u044b\u0437\u043e\u0432 <code>os.path.abspath<\/code> \u2014 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 <code>qt\/configure<\/code> \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438, \u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 <code>qmake<\/code> \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0446\u0435. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0430\u0447\u0430\u043b\u043e <code>def inside_vm():<\/code> \u0435\u0449\u0451 \u0438  <\/p>\n<pre><code class=\"python\">        shell('powershell &quot;Set-MpPreference -DisableRealtimeMonitoring $true&quot;')<\/code><\/pre>\n<p> \u2014 \u0431\u0435\u0437 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0441\u0435 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441 \u0445\u043e\u0441\u0442\u0430 \u0438\u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u0444\u0430\u0439\u043b\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442\u0441\u044f Windows Defender, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043d\u043e\u0441\u0438\u0442 \u043a\u043e\u0448\u043c\u0430\u0440\u043d\u044b\u0435 \u0442\u043e\u0440\u043c\u043e\u0437\u0430.<\/p>\n<p>  \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0441 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c build:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==&gt; windows: flag to force provisioning. Provisioners marked to run always will still run.               0   0%    0.00kB\/s    0:00:00 (xfr#0, ir-chk=1565\/19221)Connection to 127.0.0.1 closed by remote host.  rsync: connection unexpectedly closed (2084 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2] rsync --info=progress2 -a -e &quot;ssh -F vagrant\/.vagrant\/windows_config&quot; --delete --exclude .git ..\/wkhtmltopdf\/ windows:\/c\/Users\/vagrant\/msvc2015-win64\/src command failed: exit code 12 <\/pre>\n<p>  \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u043b\u0430\u0441\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041e\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0448\u0438\u043d\u044b \u043f\u0440\u043e\u0448\u0451\u043b \u0447\u0430\u0441 \u2014 \u043c\u043e\u0436\u0435\u0442, \u043e\u043d\u0430 \u043d\u0430\u0440\u043e\u0447\u043d\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0443\u0441\u0442\u044f \u0447\u0430\u0441 \u0440\u0430\u0431\u043e\u0442\u044b? <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Clearing any previously set forwarded ports... ==&gt; windows: Clearing any previously set network interfaces... ==&gt; windows: Preparing network interfaces based on configuration...     windows: Adapter 1: nat ==&gt; windows: Forwarding ports...     windows: 22 (guest) =&gt; 2222 (host) (adapter 1) ==&gt; windows: Running 'pre-boot' VM customizations... ==&gt; windows: Booting VM... ==&gt; windows: Waiting for machine to boot. This may take a few minutes...     windows: SSH address: 127.0.0.1:2222     windows: SSH username: vagrant     windows: SSH auth method: private key     windows: Warning: Connection aborted. Retrying... ==&gt; windows: Machine booted and ready! ==&gt; windows: Checking for guest additions in VM...     windows: No guest additions were detected on the base box for this VM! Guest     windows: additions are required for forwarded ports, shared folders, host only     windows: networking, and more. If SSH fails on this machine, please install     windows: the guest additions and repackage the box to continue.     windows:     windows: This is not an error message; everything may continue to work properly,     windows: in which case you may ignore this message. ==&gt; windows: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==&gt; windows: flag to force provisioning. Provisioners marked to run always will still run.               0   0%    0.00kB\/s    0:00:00 (xfr#0, to-chk=0\/52290)          14,271  10%  259.86kB\/s    0:00:00 (xfr#3, to-chk=0\/88) Auto detecting your dev setup to initialize the default profile (C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\profiles\\default) [skipped] conanfile.txt: Generated graphinfo WARN: Remotes registry file missing, creating default one in C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\remotes.json Preparing build tree... Setting accessibility to NO  This is the Qt for Windows Open Source Edition.  You have already accepted the terms of the license. [skipped] header (master) created for QtScriptTools headers.pri file created for QtScriptTools mkdir C:\/Users\/vagrant\/msvc2015-win64\/build\/qt\/src\/tools mkdir C:\/Users\/vagrant\/msvc2015-win64\/build\/qt\/src\/tools\/uic Creating qmake...  Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.          cl -c -Fo.\/  -W3 -nologo -O2    -I. -Igenerators -Igenerators\\unix -Igenerators\\win32 -Igenerators\\mac -Igenerators\\symbian -Igenerators\\integrity  [skipped] -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED  -DQLIBRARYINFO_EPOCROOT -c -Yc -Fpqmake_pch.pch -TP qmake_pch.h qmake_pch.h [skipped] c:\\users\\vagrant\\msvc2015-win64\\src\\qt\\src\\3rdparty\\webkit\\source\\javascriptcore\\runtime\\PropertyMapHashTable.h(424): warning C4267: 'return': conversion from 'size_t' to 'unsigned int', possible loss of data (compiling source file c:\\Users\\vagrant\\msvc2015-win64\\src\\qt\\src\\3rdparty\\webkit\\Source\\JavaScriptCore\\API\\JSValueRef.cpp) Connection to 127.0.0.1 closed by remote host. ssh -F vagrant\/.vagrant\/windows_config windows -- python msvc2015-win64\/pkg\/build vagrant --version &quot;0.12.6&quot; &quot;0.20200528.27.dev.f1ef81d&quot; msvc2015-win64 ..\/src command failed: exit code 255 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0421\u043d\u043e\u0432\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u043b\u0430\u0441\u044c \u0447\u0435\u0440\u0435\u0437 \u0447\u0430\u0441!<\/p>\n<p>  \u0418\u0449\u0435\u043c, \u043e\u0442\u0447\u0435\u0433\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u0430\u043c\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0432 Vagrant \/ VirtualBox, \u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u043c <a href=\"https:\/\/superuser.com\/questions\/479376\/virtualbox-machine-auto-shutting-down-how-do-i-stop-it-from-auto-shutdown\">\u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 Super User<\/a>: Windows \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <code>slmgr \/rearm<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u0439 30 \u0434\u043d\u0435\u0439 \u0431\u0435\u0437 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439. \u041f\u043e \u0438\u0434\u0435\u0435, \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 <code>cfg.vm.provision<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 Vagrantfile \u0441\u0442\u0440\u043e\u0447\u043a\u0443 <code>start slmgr \/rearm<\/code>. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u044f\u0442\u044c. \u041e\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0430\u043b\u044b\u0432\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u0432\u0441\u044e \u043d\u043e\u0447\u044c, \u0438 \u043a \u0443\u0442\u0440\u0443 \u0432 \u043f\u0430\u043f\u043a\u0435 targets \u0445\u043e\u0441\u0442-\u043c\u0430\u0448\u0438\u043d\u044b \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440 wkhtmltox-0.12.6-0.20200528.27.dev.f1ef81d.msvc2015-win64.exe<\/p>\n<p>  Achievement unlocked: wkhtmltopdf \u0441\u043e\u0431\u0440\u0430\u043d \u043f\u043e\u0434 Windows! \u041d\u043e \u043d\u0430\u043c \u0432\u0435\u0434\u044c \u043d\u0443\u0436\u0435\u043d \u043d\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440, \u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0431\u0430\u0433\u0430?<\/p>\n<h2><font color=\"#3AC1EF\">\u041a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434 Windows \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e (\u0435\u0449\u0451 \u0433\u043e\u0440\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c)<\/font><\/h2>\n<p>  \u041c\u044b \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 <code>build<\/code> \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>--debug<\/code>, \u0445\u043e\u0442\u044c \u043e\u043d \u0438 \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442 \u0432 README.md.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf --debug Bringing machine 'windows' up with 'virtualbox' provider... [skipped] conanfile.txt: Generator json created conanbuildinfo.json conanfile.txt: Generator txt created conanbuildinfo.txt conanfile.txt: Generated conaninfo.txt conanfile.txt: Generated graphinfo WARN: Remotes registry file missing, creating default one in C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\remotes.json  Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.          cd src\\tools\\bootstrap\\ &amp;&amp; &quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot; -f Makefile  Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.          &quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot; -f Makefile.Release  Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.  NMAKE : fatal error U1073: don't know how to make 'c:\\Users\\vagrant\\msvc2015-win64\\pkg\\libs\\zlib\\1.2.11\\conan\\stable\\package\\63da998e3642b50bee33f4449826b2d623661505\\include\\zlib.h' Stop. NMAKE : fatal error U1077: '&quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot;' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. nmake command failed: exit code 2 ssh -F vagrant\/.vagrant\/windows_config windows -- python msvc2015-win64\/pkg\/build vagrant --version &quot;0.12.6&quot; &quot;0.20200528.27.dev.f1ef81d&quot; --debug msvc2015-win64 ..\/src command failed: exit code 1 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0427\u0442\u043e \u0437\u0430 \u043d\u0430\u043f\u0430\u0441\u0442\u044c: zlib.h \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u0443\u0434\u0430-\u0442\u043e \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0441\u044f? \u041f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0433\u0434\u0435 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c \u0440\u0435\u043b\u0438\u0437\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041d\u0435 \u0431\u0435\u0434\u0430: \u0440\u0435\u043b\u0438\u0437\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430\u043c \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435\u0437\u0430\u0447\u0435\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0431\u043e\u0440\u043a\u0443 \u043d\u0430\u0447\u0438\u0441\u0442\u043e.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0431\u043e\u0440\u043a\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf --debug --clean ==&gt; windows: Forcing shutdown of VM... ==&gt; windows: Destroying VM and associated drives... Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Importing base box 'mcandre\/windows-amd64'... [skipped]     windows: vagrant@VAGRANT-IL06I9S C:\\Program Files\\Git&gt;powershell Restart-Service sshd     562,459,244 100%  440.60kB\/s    0:20:46 (xfr#47167, to-chk=0\/52290)         141,748 100%   89.37kB\/s    0:00:01 (xfr#62, to-chk=0\/88) Auto detecting your dev setup to initialize the default profile (C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\profiles\\default) Found Visual Studio 14 Default settings         os=Windows         os_build=Windows         arch=x86_64         arch_build=x86_64         compiler=Visual Studio         compiler.version=14         build_type=Release *** You can change them in C:\\Users\\vagrant\\msvc2015-win64\\pkg\\.conan\\profiles\\default *** *** Or override with -s compiler='other' -s ...s***   Configuration: [settings] arch=x86_64 arch_build=x86_64 build_type=Debug compiler=Visual Studio compiler.runtime=MDd compiler.version=14 os=Windows os_build=Windows [options] [build_requires] [env]  zlib\/1.2.11@conan\/stable: Not found in local cache, looking in remotes... zlib\/1.2.11@conan\/stable: Trying with 'conan-center'... [skipped]         &quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot; -f Makefile.Debug  Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.          C:\\Users\\vagrant\\msvc2015-win64\\build\\qt\\bin\\moc.exe -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_ASCII_CAST_WARNINGS [skipped] -I&quot;.&quot; -I&quot;..\\..\\mkspecs\\win32-msvc2015&quot; -D_MSC_VER=1900 -DWIN32 c:\\Users\\vagrant\\msvc2015-win64\\src\\qt\\src\\corelib\\animation\\qabstractanimation.h -o tmp\\moc\\debug_static\\moc_qabstractanimation.cpp NMAKE : fatal error U1077: 'C:\\Users\\vagrant\\msvc2015-win64\\build\\qt\\bin\\moc.exe' : return code '0xc0000135' Stop. NMAKE : fatal error U1077: '&quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot;' : return code '0x2' Stop. NMAKE : fatal error U1077: '&quot;&quot;C:\\Program' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: '&quot;&quot;C:\\Program' : return code '0x2' Stop. nmake command failed: exit code 2 ssh -F vagrant\/.vagrant\/windows_config windows -- python msvc2015-win64\/pkg\/build vagrant --version &quot;0.12.6&quot; &quot;0.20200528.27.dev.f1ef81d&quot; --clean --debug msvc2015-win64 ..\/src command failed: exit code 1 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u043e\u0434 \u043e\u0448\u0438\u0431\u043a\u0438 <code>0xc0000135<\/code> \u2014 \u044d\u0442\u043e <a href=\"https:\/\/github.community\/t\/17115\"><code>STATUS_DLL_NOT_FOUND<\/code><\/a>.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0432 \u043a\u0430\u043a\u043e\u0439 DLL \u0434\u0435\u043b\u043e?<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ cd vagrant\/  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging\/vagrant (0.12) $ vagrant ssh windows Microsoft Windows [Version 10.0.16299.15] (c) 2017 Microsoft Corporation. All rights reserved.  vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;&quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\dumpbin.exe&quot; \/DEPENDENTS C:\\Users\\vagrant\\msvc2015-win64\\build\\qt\\bin\\moc.exe Microsoft (R) COFF\/PE Dumper Version 14.00.24210.0 Copyright (C) Microsoft Corporation.  All rights reserved.   Dump of file C:\\Users\\vagrant\\msvc2015-win64\\build\\qt\\bin\\moc.exe  File Type: EXECUTABLE IMAGE    Image has the following dependencies:      USER32.dll     KERNEL32.dll     VCRUNTIME140D.dll     ucrtbased.dll    Summary          1000 .00cfg         2000 .data         1000 .gfids         2000 .idata        13000 .pdata        B6000 .rdata         2000 .reloc         1000 .rsrc       137000 .text         1000 .tls  vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;dir \\Windows\\System32\\vcruntime140*  Volume in drive C is Windows 10  Volume Serial Number is A0AB-6559   Directory of C:\\Windows\\System32  06\/09\/2016  10:53 PM            87,888 vcruntime140.dll 06\/09\/2016  10:53 PM           131,920 vcruntime140d.dll                2 File(s)        219,808 bytes                 0 Dir(s)  15,111,213,056 bytes free    vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;dir \\Windows\\System32\\ucrtbase*  Volume in drive C is Windows 10  Volume Serial Number is A0AB-6559   Directory of C:\\Windows\\System32  09\/29\/2017  02:41 PM         1,003,104 ucrtbase.dll 09\/29\/2017  02:41 PM           479,912 ucrtbase_enclave.dll                2 File(s)      1,483,016 bytes                 0 Dir(s)  15,111,176,192 bytes free <\/pre>\n<\/div><\/div>\n<p>  \u041a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f vcruntime140, \u043d\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f ucrtbase. <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0410 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043e\u043d\u0430 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0435\u0441\u0442\u044c, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e?<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;dir \/s \\ucrtbased.dll  Volume in drive C is Windows 10  Volume Serial Number is A0AB-6559   Directory of C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs\\Microsoft.UniversalCRT.Debug\\10.0.10240.0\\Redist\\Debug\\arm  07\/09\/2015  08:58 PM         1,352,200 ucrtbased.dll                1 File(s)      1,352,200 bytes   Directory of C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs\\Microsoft.UniversalCRT.Debug\\10.0.10240.0\\Redist\\Debug\\arm64  07\/09\/2015  10:07 PM         1,803,272 ucrtbased.dll                1 File(s)      1,803,272 bytes   Directory of C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs\\Microsoft.UniversalCRT.Debug\\10.0.10240.0\\Redist\\Debug\\x64  07\/09\/2015  10:26 PM         1,808,576 ucrtbased.dll                1 File(s)      1,808,576 bytes   Directory of C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs\\Microsoft.UniversalCRT.Debug\\10.0.10240.0\\Redist\\Debug\\x86  07\/09\/2015  10:33 PM         1,514,176 ucrtbased.dll                1 File(s)      1,514,176 bytes   Directory of C:\\Program Files (x86)\\Windows Kits\\10\\bin\\arm\\ucrt  07\/09\/2015  08:59 PM         1,352,200 ucrtbased.dll                1 File(s)      1,352,200 bytes  Directory of C:\\Program Files (x86)\\Windows Kits\\10\\bin\\arm64\\ucrt  07\/09\/2015  10:03 PM         1,803,272 ucrtbased.dll                1 File(s)      1,803,272 bytes  Directory of C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64\\ucrt  07\/09\/2015  10:26 PM         1,808,576 ucrtbased.dll                1 File(s)      1,808,576 bytes  Directory of C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x86\\ucrt  07\/09\/2015  10:31 PM         1,514,176 ucrtbased.dll                1 File(s)      1,514,176 bytes       Total Files Listed:                8 File(s)     12,956,448 bytes                0 Dir(s)  15,111,176,192 bytes free <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0415\u0441\u0442\u044c, \u0438 \u0434\u0430\u0436\u0435 \u0432 \u0432\u043e\u0441\u044c\u043c\u0438 \u043a\u043e\u043f\u0438\u044f\u0445, \u0434\u043b\u044f \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u2014 \u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e!<\/p>\n<p>  \u0417\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u0434\u043b\u044f Windows \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0432 \u043a\u043e\u043d\u0435\u0446 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 <code>cfg.vm.provision<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 Vagrantfile \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0443  <\/p>\n<pre> copy &quot;C:\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\bin\\\\x64\\\\ucrt\\\\ucrtbased.dll&quot; C:\\\\Windows\\\\System32 <\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u044f\u0442\u044c.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0417\u0430\u043f\u0443\u0441\u043a \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging\/vagrant (0.12) $ cd ..  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf --debug Bringing machine 'windows' up with 'virtualbox' provider... ==&gt; windows: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==&gt; windows: flag to force provisioning. Provisioners marked to run always will still run. [skipped] compiling debug\\moc_multipageloader_p.cpp debug\\moc_converter_p.cpp debug\\moc_pdfconverter_p.cpp debug\\moc_imageconverter_p.cpp debug\\moc_pdf_c_bindings_p.cpp debug\\moc_image_c_bindings_p.cpp debug\\moc_converter.cpp debug\\moc_multipageloader.cpp debug\\moc_utilities.cpp debug\\moc_pdfconverter.cpp debug\\moc_imageconverter.cpp debug\\qrc_wkhtmltopdf.cpp moc_multipageloader_p.cpp moc_converter_p.cpp moc_pdfconverter_p.cpp moc_imageconverter_p.cpp moc_pdf_c_bindings_p.cpp moc_image_c_bindings_p.cpp moc_converter.cpp moc_multipageloader.cpp moc_utilities.cpp moc_pdfconverter.cpp moc_imageconverter.cpp qrc_wkhtmltopdf.cpp Generating Code... linking ..\\..\\bin\\wkhtmltox.dll LINK : fatal error LNK1104: cannot open file 'libpng.lib' NMAKE : fatal error U1077: 'echo' : return code '0x450' Stop. NMAKE : fatal error U1077: '&quot;C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\nmake.exe&quot;' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. nmake command failed: exit code 2 ssh -F vagrant\/.vagrant\/windows_config windows -- python msvc2015-win64\/pkg\/build vagrant --version &quot;0.12.6&quot; &quot;0.20200528.27.dev.f1ef81d&quot; --debug msvc2015-win64 ..\/src command failed: exit code 1 <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0415\u0449\u0451 \u043e\u0434\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0430\u0441\u044c!<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0435\u0451 \u043d\u0430\u0439\u0442\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ cd vagrant\/  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging\/vagrant (0.12) $ vagrant ssh windows Microsoft Windows [Version 10.0.16299.15] (c) 2017 Microsoft Corporation. All rights reserved.  vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;dir \/s libpng.lib  Volume in drive C is Windows 10  Volume Serial Number is A0AB-6559 File Not Found  vagrant@VAGRANT-IL06I9S C:\\Users\\vagrant&gt;dir \/s libpng*.lib  Volume in drive C is Windows 10  Volume Serial Number is A0AB-6559   Directory of C:\\Users\\vagrant\\msvc2015-win64\\pkg\\libs\\libpng\\1.6.37\\_\\_\\package\\b17b520b4b55729a7391c6b2d20631fec4cf1564\\lib  05\/30\/2020  07:52 PM         1,002,396 libpng16d.lib                1 File(s)      1,002,396 bytes       Total Files Listed:                1 File(s)      1,002,396 bytes                0 Dir(s)  12,720,320,512 bytes free <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412\u0438\u0434\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u043e\u0448\u0438\u0431\u043a\u0438: \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0430\u0441\u044c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c libpng16d.lib, \u043d\u043e make-\u0444\u0430\u0439\u043b \u0434\u043b\u044f wkhtmltox.dll \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 libpng.lib. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043f\u043e-\u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443, \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 Qt, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0430\u043c wkhtmltopdf \u043d\u0438\u0433\u0434\u0435 \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 libpng. \u0420\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u0441\u0442\u044b\u043b\u044f:<\/p>\n<pre><code class=\"python\">    if debug:             shell('cp ..\/pkg\/libs\/libpng\/1.6.37\/_\/_\/package\/b17b520b4b55729a7391c6b2d20631fec4cf1564\/lib\/libpng16d.lib ..\/pkg\/libs\/libpng\/1.6.37\/_\/_\/package\/b17b520b4b55729a7391c6b2d20631fec4cf1564\/lib\/libpng.lib')<\/code><\/pre>\n<p>  \u2014 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 build \u0432\u043d\u0443\u0442\u0440\u044c <code>def inside_vm():<\/code> \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 conan, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 libpng.<\/p>\n<p>  \u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0432 \u0441\u0431\u043e\u0440\u043a\u0443 \u0441 \u044d\u0442\u0438\u043c \u043a\u043e\u0441\u0442\u044b\u043b\u0451\u043c, \u043b\u043e\u0432\u0438\u043c \u0432 \u0442\u043e\u043c \u0436\u0435 \u043c\u0435\u0441\u0442\u0435 \u0432\u0442\u043e\u0440\u0443\u044e \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0443\u044e \u0436\u0435 \u043e\u0448\u0438\u0431\u043a\u0443 \u00abLNK1104: cannot open file &#8216;libssl.lib&#8217;\u00bb. libssl \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0441\u0431\u043e\u0440\u043a\u0435 wkhtmltopdf \u044f\u0432\u043d\u043e \u2014 \u0432\u043d\u0443\u0442\u0440\u0438 <code>def prepare_build(config, target, build_dir, src_dir):<\/code> \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 vagrant\/windows.py; \u043d\u043e \u044d\u0442\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>--debug<\/code> \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043d\u0430\u0434\u043e \u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u00abd\u00bb \u043a \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041f\u0435\u0440\u0435\u043a\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0440\u0430\u0434\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u043e\u0434 Windows \u043a\u0430\u043a-\u0442\u043e \u043d\u0435\u043b\u043e\u0432\u043a\u043e, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043a\u043e\u0441\u0442\u044b\u043b\u044e \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u0447\u0435\u043a.<\/p>\n<pre><code class=\"python\">            shell('cp ..\/pkg\/libs\/openssl\/1.1.1g\/_\/_\/package\/c32596dcd26b8c708dc3d19cb73738d2b48f12a8\/lib\/libssld.lib ..\/pkg\/libs\/openssl\/1.1.1g\/_\/_\/package\/c32596dcd26b8c708dc3d19cb73738d2b48f12a8\/lib\/libssl.lib')             shell('cp ..\/pkg\/libs\/openssl\/1.1.1g\/_\/_\/package\/c32596dcd26b8c708dc3d19cb73738d2b48f12a8\/lib\/libcryptod.lib ..\/pkg\/libs\/openssl\/1.1.1g\/_\/_\/package\/c32596dcd26b8c708dc3d19cb73738d2b48f12a8\/lib\/libcrypto.lib') <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f wkhtmltopdf \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf --debug Bringing machine 'windows' up with 'virtualbox' provider... [skipped] qrc_wkhtmltopdf.cpp Generating Code... linking ..\\..\\bin\\wkhtmltoimage.exe    Creating library ..\\..\\bin\\wkhtmltoimage.lib and object ..\\..\\bin\\wkhtmltoimage.exp         mt.exe -nologo -manifest &quot;debug\\wkhtmltoimage.intermediate.manifest&quot; -outputresource:..\\..\\bin\\wkhtmltoimage.exe;1  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ <\/pre>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u041a\u0430\u043a \u044f \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u043b wkhtmltopdf \u0438 \u043d\u0430\u0448\u0451\u043b \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0433<\/font><\/h2>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0431\u044b \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 \u0438\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ scp -F vagrant\/.vagrant\/windows_config windows:msvc2015-win64\/build\/app\/bin\/*  targets wkhtmltoimage.exe                             100%  115MB  15.8MB\/s   00:07 wkhtmltoimage.exp                             100%   77KB   2.1MB\/s   00:00 wkhtmltoimage.ilk                             100%  327MB  10.4MB\/s   00:31 wkhtmltoimage.lib                             100%  126KB   1.7MB\/s   00:00 wkhtmltoimage.pdb                             100%  234MB   8.6MB\/s   00:27 wkhtmltopdf.exe                               100%  116MB  10.0MB\/s   00:11 wkhtmltopdf.exp                               100%   77KB   2.4MB\/s   00:00 wkhtmltopdf.ilk                               100%  327MB  11.7MB\/s   00:27 wkhtmltopdf.lib                               100%  125KB   4.9MB\/s   00:00 wkhtmltopdf.pdb                               100%  234MB  10.7MB\/s   00:21 wkhtmltox.dll                                 100%  115MB  12.0MB\/s   00:09 wkhtmltox.exp                                 100%   77KB   2.1MB\/s   00:00 wkhtmltox.ilk                                 100%  326MB  11.4MB\/s   00:28 wkhtmltox.lib                                 100%  124KB   5.2MB\/s   00:00 wkhtmltox.pdb                                 100%  233MB  11.2MB\/s   00:20 <\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0437\u0430\u0440\u0435\u043f\u043e\u0440\u0447\u0435\u043d\u043d\u044b\u0439 \u0431\u0430\u0433 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ echo '&lt;style&gt;@media print { body { background-image: url(https:\/\/habr.com\/images\/habr_ru.png) } }&lt;\/style&gt;' | targets\/wkhtmltopdf --print-media-type - output.pdf Loading pages (1\/6) Counting pages (2\/6) Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This might be an indication of an iframe taking too long to load. Resolving links (4\/6) Loading headers and footers (5\/6) Printing pages (6\/6) Done Error: Failed to load about:blank, with network status code 301 and http status code 0 - Protocol &quot;about&quot; is unknown  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ echo '&lt;style&gt;.force-load { display: none; background-image: url(https:\/\/habr.com\/images\/habr_ru.png) } @media print { body { background-image: url(https:\/\/habr.com\/images\/habr_ru.png) } }&lt;\/style&gt;&lt;div class=&quot;force-load&quot; \/&gt;' | targets\/wkhtmltopdf --print-media-type - output.pdf Loading pages (1\/6) Counting pages (2\/6) Resolving links (4\/6) Loading headers and footers (5\/6) Printing pages (6\/6) Done LEAK: 1 CachedResource <\/pre>\n<p>  \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0440\u0435\u043b\u0438\u0437\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 \u0432\u0435\u0431-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u043c \u043c\u043e\u0435\u0433\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430, \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f: \u00abError: Failed to load about:blank\u00bb \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f, \u0438 \u00abLEAK: 1 CachedResource\u00bb \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u041b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u0434\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u043a-\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 about:blank. \u042d\u0442\u043e\u0442 URL \u0432 \u043a\u043e\u0434\u0435 wkhtmltopdf \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0434\u0432\u0430\u0436\u0434\u044b, \u0438 \u043e\u0431\u0430 \u0440\u0430\u0437\u0430 \u2014 \u0432\u043d\u0443\u0442\u0440\u0438 <code>MyNetworkAccessManager::createRequest<\/code> \u0432 \u0444\u0430\u0439\u043b\u0435 multipageloader.cc. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430\u0448\u0435\u0439 \u0434\u043e\u0433\u0430\u0434\u043a\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0432\u0430 URL \u043d\u0430 about:foo \u0438 about:bar \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e:<\/p>\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ echo '&lt;style&gt;@media print { body { background-image: url(https:\/\/habr.com\/images\/habr_ru.png) } }&lt;\/style&gt;' | targets\/wkhtmltopdf --print-media-type - output.pdf Loading pages (1\/6) Counting pages (2\/6) Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This might be an indication of an iframe taking too long to load. Resolving links (4\/6) Loading headers and footers (5\/6) Printing pages (6\/6) Done Error: Failed to load about:foo, with network status code 301 and http status code 0 - Protocol &quot;about&quot; is unknown <\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0435\u0434\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0430\u0441\u044c: <code>MyNetworkAccessManager::dispose<\/code> \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a request \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u044d\u0442\u043e\u043c\u0443 AccessManager-\u0443. \u0422\u0435\u043f\u0435\u0440\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0442\u043e \u0442\u0430\u043a \u043d\u0435\u043a\u0441\u0442\u0430\u0442\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code>dispose()<\/code> \u0438 \u043f\u043e\u0447\u0435\u043c\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u043d\u0443\u0442\u0440\u044c <code>dispose()<\/code> \u0438\u043d\u0442\u0440\u0438\u043d\u0441\u0438\u043a <code>__debugbreak()<\/code>, \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c wkhtmltopdf.exe \u043f\u043e\u0434 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u043c Visual Studio: File \u2192 Open \u2192 Project\/Solution \u2192 wkhtmltopdf.exe, Project \u2192 Properties \u2192 Arguments \u2192 <code>--print-media-type input.html output.pdf<\/code>, Debug \u2192 Start Debugging. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u0442 \u0434\u043e <code>__debugbreak()<\/code>, \u0442\u043e \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u043e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u00abFind Source: multipageloader.cc\u00bb; \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u043d \u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443, \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e C++-\u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  <a href=\"https:\/\/hsto.org\/webt\/j-\/5_\/pn\/j-5_pnnf9z1w4y9qe1l6ykxgeh8.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/j-\/5_\/pn\/j-5_pnnf9z1w4y9qe1l6ykxgeh8.png\" alt=\"image\"><\/a><\/p>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432 Call Stack: \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e <code>dispose()<\/code> \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 <code>ResourceObject::loadDone<\/code> \u0441 \u043a\u0440\u0430\u0441\u043d\u043e\u0440\u0435\u0447\u0438\u0432\u044b\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c \u00abEnsure no more loading goes..\u00bb <code>git blame<\/code> \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u0432\u044b\u0437\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 <a href=\"https:\/\/github.com\/wkhtmltopdf\/wkhtmltopdf\/commit\/69a8cce82031146e421b77010d9b1f0ba2d2d55e\">\u043a\u043e\u043c\u043c\u0438\u0442\u0435<\/a> \u00abTry to ensure no more web requests can be made by finished resource objects (like when a JS script is trying to reload, etc.)\u00bb<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442, \u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f?<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ cd ..\/wkhtmltopdf  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/wkhtmltopdf (master) $ git stash Saved working directory and index state WIP on master: f1ef81d add downloads for Ubuntu 20.04  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/wkhtmltopdf (master) $ git revert 69a8cce Auto-merging src\/lib\/multipageloader.cc [master 3692d59] Revert &quot;Try to ensure no more web requests can be made by finished resource objects (like when a JS script is trying to reload, etc.)&quot;  1 file changed, 7 deletions(-)  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/wkhtmltopdf (master) $ git stash pop Auto-merging src\/lib\/multipageloader.cc On branch master Your branch is ahead of 'origin\/master' by 1 commit.   (use &quot;git push&quot; to publish your local commits)  Changes not staged for commit:   (use &quot;git add &lt;file&gt;...&quot; to update what will be committed)   (use &quot;git restore &lt;file&gt;...&quot; to discard changes in working directory)         modified:   src\/lib\/multipageloader.cc  no changes added to commit (use &quot;git add&quot; and\/or &quot;git commit -a&quot;) Dropped refs\/stash@{0} (1d9908bbeeadcc5127dae765a39969ac353345d8)  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/wkhtmltopdf (master) $ cd ..\/packaging  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ .\/build vagrant msvc2015-win64 ..\/wkhtmltopdf --debug Bringing machine 'windows' up with 'virtualbox' provider... [skipped]    Creating library ..\\..\\bin\\wkhtmltoimage.lib and object ..\\..\\bin\\wkhtmltoimage.exp         mt.exe -nologo -manifest &quot;debug\\wkhtmltoimage.intermediate.manifest&quot; -outputresource:..\\..\\bin\\wkhtmltoimage.exe;1  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ scp -F vagrant\/.vagrant\/windows_config windows:msvc2015-win64\/build\/app\/bin\/* target wkhtmltoimage.exe                             100%  115MB  14.7MB\/s   00:07 [skipped] wkhtmltox.pdb                                 100%  233MB  12.3MB\/s   00:18  tyomitch@DESKTOP-9VOKU6U MINGW64 ~\/Documents\/packaging (0.12) $ echo '&lt;style&gt;@media print { body { background-image: url(https:\/\/habr.com\/images\/habr_ru.png) } }&lt;\/style&gt;' | targets\/wkhtmltopdf --print-media-type - output.pdf Loading pages (1\/6) Counting pages (2\/6) Resolving links (4\/6) Loading headers and footers (5\/6) Printing pages (6\/6) Done<\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u043f\u0440\u043e \u00abdisposed ResourceObject\u00bb \u0438 \u043f\u0440\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c about:foo \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442; \u043d\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 PDF-\u0444\u0430\u0439\u043b\u0435 \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c. \u0425\u043c\u043c, \u0437\u043d\u0430\u0447\u0438\u0442 \u0442\u043e\u0442 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u043d\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0445\u043e\u0442\u044f \u0438 \u043f\u043e\u0432\u043b\u0438\u044f\u043b \u043d\u0430 \u0435\u0451 \u043f\u0440\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <code>&lt;div class=&quot;force-load&quot; \/&gt;<\/code> \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f request \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e request \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f. \u0421\u0442\u0430\u0432\u0438\u043c breakpoint \u043d\u0430 <code>MyNetworkAccessManager::createRequest<\/code> \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043e\u0442\u043a\u0443\u0434\u0430 \u043e\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Call Stack<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre>wkhtmltopdf.exe!wkhtmltopdf::MyNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &amp; req, QIODevice * outgoingData) Line 77 wkhtmltopdf.exe!QNetworkAccessManager::get(const QNetworkRequest &amp; request) Line 598 wkhtmltopdf.exe!WebCore::QNetworkReplyHandler::sendNetworkRequest(QNetworkAccessManager * manager, const WebCore::ResourceRequest &amp; request) Line 626 wkhtmltopdf.exe!WebCore::QNetworkReplyHandler::start() Line 665 wkhtmltopdf.exe!WebCore::QNetworkReplyHandlerCallQueue::flush() Line 195 wkhtmltopdf.exe!WebCore::QNetworkReplyHandlerCallQueue::push(void(WebCore::QNetworkReplyHandler::*)() method) Line 165 wkhtmltopdf.exe!WebCore::QNetworkReplyHandler::QNetworkReplyHandler(WebCore::ResourceHandle * handle, WebCore::QNetworkReplyHandler::LoadType loadType, bool deferred) Line 401 wkhtmltopdf.exe!WebCore::ResourceHandle::start(WebCore::NetworkingContext * context) Line 100 wkhtmltopdf.exe!WebCore::ResourceHandle::create(WebCore::NetworkingContext * context, const WebCore::ResourceRequest &amp; request, WebCore::ResourceHandleClient * client, bool defersLoading, bool shouldContentSniff) Line 71 wkhtmltopdf.exe!WebCore::ResourceLoader::start() Line 164 wkhtmltopdf.exe!WebCore::ResourceLoadScheduler::servePendingRequests(WebCore::ResourceLoadScheduler::HostInformation * host, WebCore::ResourceLoadPriority minimumPriority) Line 201 wkhtmltopdf.exe!WebCore::ResourceLoadScheduler::scheduleLoad(WebCore::ResourceLoader * resourceLoader, WebCore::ResourceLoadPriority priority) Line 124 wkhtmltopdf.exe!WebCore::ResourceLoadScheduler::scheduleSubresourceLoad(WebCore::Frame * frame, WebCore::SubresourceLoaderClient * client, const WebCore::ResourceRequest &amp; request, WebCore::ResourceLoadPriority priority, WebCore::SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks, bool shouldContentSniff, const WTF::String &amp; optionalOutgoingReferrer) Line 92 wkhtmltopdf.exe!WebCore::CachedResourceRequest::load(WebCore::CachedResourceLoader * cachedResourceLoader, WebCore::CachedResource * resource, bool incremental, WebCore::SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks) Line 124 wkhtmltopdf.exe!WebCore::CachedResourceLoader::load(WebCore::CachedResource * resource, bool incremental, WebCore::SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks) Line 541 wkhtmltopdf.exe!WebCore::CachedResource::load(WebCore::CachedResourceLoader * cachedResourceLoader, bool incremental, WebCore::SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks) Line 134 wkhtmltopdf.exe!WebCore::CachedImage::load(WebCore::CachedResourceLoader * cachedResourceLoader) Line 88 wkhtmltopdf.exe!WebCore::CachedResourceLoader::loadResource(WebCore::CachedResource::Type type, const WebCore::KURL &amp; url, const WTF::String &amp; charset, WebCore::ResourceLoadPriority priority) Line 395 wkhtmltopdf.exe!WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type type, const WTF::String &amp; resourceURL, const WTF::String &amp; charset, WebCore::ResourceLoadPriority priority, bool forPreload) Line 328 wkhtmltopdf.exe!WebCore::CachedResourceLoader::requestImage(const WTF::String &amp; url) Line 137 wkhtmltopdf.exe!WebCore::CSSImageValue::cachedImage(WebCore::CachedResourceLoader * loader, const WTF::String &amp; url) Line 74 wkhtmltopdf.exe!WebCore::CSSImageValue::cachedImage(WebCore::CachedResourceLoader * loader) Line 64 wkhtmltopdf.exe!WebCore::CSSStyleSelector::loadPendingImages() Line 7068 wkhtmltopdf.exe!WebCore::CSSStyleSelector::styleForElement(WebCore::Element * e, WebCore::RenderStyle * defaultParent, bool allowSharing, bool resolveForRootDefault, bool matchVisitedPseudoClass) Line 1507 wkhtmltopdf.exe!WebCore::Node::styleForRenderer() Line 1624 wkhtmltopdf.exe!WebCore::NodeRendererFactory::createRendererAndStyle() Line 1553 wkhtmltopdf.exe!WebCore::NodeRendererFactory::createRendererIfNeeded() Line 1592 wkhtmltopdf.exe!WebCore::Node::createRendererIfNeeded() Line 1614 wkhtmltopdf.exe!WebCore::Element::attach() Line 1000 wkhtmltopdf.exe!WebCore::HTMLConstructionSite::attach&lt;WebCore::Element&gt;(WebCore::ContainerNode * rawParent, WTF::PassRefPtr&lt;WebCore::Element&gt; prpChild) Line 108 wkhtmltopdf.exe!WebCore::HTMLConstructionSite::attachToCurrent(WTF::PassRefPtr&lt;WebCore::Element&gt; child) Line 259 wkhtmltopdf.exe!WebCore::HTMLConstructionSite::insertHTMLElement(WebCore::AtomicHTMLToken &amp; token) Line 289 wkhtmltopdf.exe!WebCore::HTMLTreeBuilder::processStartTagForInBody(WebCore::AtomicHTMLToken &amp; token) Line 796 wkhtmltopdf.exe!WebCore::HTMLTreeBuilder::processStartTag(WebCore::AtomicHTMLToken &amp; token) Line 1229 wkhtmltopdf.exe!WebCore::HTMLTreeBuilder::processToken(WebCore::AtomicHTMLToken &amp; token) Line 480 wkhtmltopdf.exe!WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken(WebCore::AtomicHTMLToken &amp; token) Line 465 wkhtmltopdf.exe!WebCore::HTMLTreeBuilder::constructTreeFromToken(WebCore::HTMLToken &amp; rawToken) Line 452 wkhtmltopdf.exe!WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 277 wkhtmltopdf.exe!WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 176 wkhtmltopdf.exe!WebCore::HTMLDocumentParser::append(const WebCore::SegmentedString &amp; source) Line 369 wkhtmltopdf.exe!WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter * writer, const char * data, int length, bool shouldFlush) Line 54 wkhtmltopdf.exe!WebCore::DocumentWriter::addData(const char * str, int len, bool flush) Line 209 wkhtmltopdf.exe!WebCore::DocumentWriter::endIfNotLoadingMainResource() Line 229 wkhtmltopdf.exe!WebCore::DocumentWriter::end() Line 215 wkhtmltopdf.exe!WebCore::DocumentLoader::finishedLoading() Line 290 wkhtmltopdf.exe!WebCore::FrameLoader::finishedLoading() Line 2294 wkhtmltopdf.exe!WebCore::MainResourceLoader::didFinishLoading(double finishTime) Line 485 wkhtmltopdf.exe!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal, double finishTime) Line 440 wkhtmltopdf.exe!WebCore::QNetworkReplyHandler::finish() Line 455 wkhtmltopdf.exe!WebCore::QNetworkReplyHandlerCallQueue::flush() Line 195 wkhtmltopdf.exe!WebCore::QNetworkReplyHandlerCallQueue::push(void(WebCore::QNetworkReplyHandler::*)() method) Line 165 wkhtmltopdf.exe!WebCore::QNetworkReplyWrapper::didReceiveFinished() Line 350 wkhtmltopdf.exe!WebCore::QNetworkReplyWrapper::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 56 wkhtmltopdf.exe!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3567 wkhtmltopdf.exe!QNetworkReply::finished() Line 166 wkhtmltopdf.exe!QNetworkReply::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 106 wkhtmltopdf.exe!QMetaCallEvent::placeMetaCall(QObject * object) Line 525 wkhtmltopdf.exe!QObject::event(QEvent * e) Line 1222 wkhtmltopdf.exe!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 4565 wkhtmltopdf.exe!QApplication::notify(QObject * receiver, QEvent * e) Line 3947 wkhtmltopdf.exe!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 955 wkhtmltopdf.exe!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 231 wkhtmltopdf.exe!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1579 wkhtmltopdf.exe!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned __int64 wp, __int64 lp) Line 498 <\/pre>\n<\/div><\/div>\n<p>  \u041b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u0437\u0433\u0430\u0434\u043a\u0430 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 <code>CSSStyleSelector::styleForElement<\/code>. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043c breakpoint \u0432 \u0435\u0451 \u043d\u0430\u0447\u0430\u043b\u043e, \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c wkhtmltopdf \u043f\u043e-\u043d\u043e\u0432\u043e\u0439. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u044f <code>styleForElement()<\/code> \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e, \u0434\u043e\u0445\u043e\u0434\u0438\u043c \u0434\u043e \u0432\u044b\u0437\u043e\u0432\u0430 <code>matchUARules(firstUARule, lastUARule);<\/code> \u2014 \u0438 \u0442\u0430\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0447\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435:<\/p>\n<pre><code class=\"cpp\">    \/\/ First we match rules from the user agent sheet.     RuleSet* userAgentStyleSheet = m_medium-&gt;mediaTypeMatchSpecific(&quot;print&quot;)         ? defaultPrintStyle : defaultStyle; <\/code><\/pre>\n<p>  \u043a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0435, <code>m_medium.m_ptr-&gt;m_mediaType.m_impl.m_ptr-&gt;m_data<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u00abscreen\u00bb, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>--print-media-type<\/code>. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f <code>CSSStyleSelector::m_medium<\/code> \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435:<\/p>\n<pre><code class=\"cpp\">    FrameView* view = document-&gt;view();     if (view)         m_medium = adoptPtr(new MediaQueryEvaluator(view-&gt;mediaType()));     else         m_medium = adoptPtr(new MediaQueryEvaluator(&quot;all&quot;)); <\/code><\/pre>\n<p>  \u0421\u0442\u0430\u0432\u0438\u043c breakpoint \u0432 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c wkhtmltopdf, \u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e <code>m_mediaType<\/code> \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u0432 \u00abscreen\u00bb. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0437\u0430\u0439\u0442\u0438 \u0432\u043d\u0443\u0442\u0440\u044c \u0432\u044b\u0437\u043e\u0432\u0430 <code>view-&gt;mediaType()<\/code>, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c:<\/p>\n<pre><code class=\"cpp\">String FrameView::mediaType() const {     \/\/ See if we have an override type.     String overrideType = m_frame-&gt;loader()-&gt;client()-&gt;overrideMediaType();     if (!overrideType.isNull())         return overrideType;     return m_mediaType; } <\/code><\/pre>\n<p>  \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0449\u0451 \u0433\u043b\u0443\u0431\u0436\u0435:<\/p>\n<pre><code class=\"cpp\">String FrameLoaderClientQt::overrideMediaType() const {     return String(); } <\/code><\/pre>\n<p>  \u0412\u044b\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e <code>FrameLoaderClientQt<\/code> \u0442\u0443\u043f\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c media type, \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043e\u0442 <code>m_mediaType<\/code>, \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 <code>FrameView<\/code> \u0432 \u0432\u0438\u0434\u0435 \u0437\u0430\u0445\u0430\u0440\u0434\u043a\u043e\u0436\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u00abscreen\u00bb; \u0430 \u043c\u0435\u0442\u043e\u0434 <code>FrameView::setMediaType<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c <code>m_mediaType<\/code>, \u043d\u0435 \u0432\u044b\u0432\u0435\u0434\u0435\u043d \u043d\u0430\u0440\u0443\u0436\u0443 \u0432 API \u043a\u043b\u0430\u0441\u0441\u0430 <code>QWebFrame<\/code>, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e \u0444\u0440\u0435\u0439\u043c\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442. <br \/>  \u041d\u0430 \u0441\u0447\u0430\u0441\u0442\u044c\u0435, \u0443 <code>FrameLoaderClientQt<\/code> \u0435\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0430 <code>m_webFrame<\/code> \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 <code>QWebFrame<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f (\u043c\u0435\u0442\u043e\u0434\u043e\u043c <code>QWebPagePrivate::createMainFrame<\/code>) \u0438\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 <code>wkhtmltopdf::MyQWebPage<\/code>, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u043d\u0435 Qt. \u0417\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c \u0431\u0430\u0433, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0432\u0443\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043a\u043e\u0434\u0435:<\/p>\n<ul>\n<li>\u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c <code>FrameLoaderClientQt::overrideMediaType<\/code>, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043d\u0435 \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b \u043f\u0443\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0430 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u043b \u0432\u044b\u0437\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 <code>m_webFrame-&gt;page()<\/code>;  <\/li>\n<li>\u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c <code>wkhtmltopdf::MyQWebPage<\/code>, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <code>--print-media-type<\/code> \u043e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b \u0432\u044b\u0437\u043e\u0432\u0443 <code>overrideMediaType()<\/code> \u0441\u0442\u0440\u043e\u043a\u0443 \u00abprint\u00bb.  <\/li>\n<\/ul>\n<p>  \u0414\u0432\u0430 \u044d\u0442\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f (<a href=\"https:\/\/github.com\/wkhtmltopdf\/qt\/pull\/44\">\u043e\u0434\u043d\u043e<\/a> \u0432 \u0444\u043e\u0440\u043a\u0435 Qt, <a href=\"https:\/\/github.com\/wkhtmltopdf\/wkhtmltopdf\/pull\/4689\">\u0432\u0442\u043e\u0440\u043e\u0435<\/a> \u0432 \u0441\u0430\u043c\u043e\u043c wkhtmltopdf) \u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0432 \u0432\u0438\u0434\u0435 \u043f\u0443\u043b\u043b-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432 \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043c\u0430\u044f \u2014 \u043d\u043e, \u043a\u0430\u043a \u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0436\u0438\u0434\u0430\u0442\u044c, \u043d\u0438\u043a\u0442\u043e \u043d\u0430 \u043d\u0438\u0445 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b, \u043a\u0430\u043a \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u043b \u0438 \u043d\u0430 \u043c\u043e\u0439 \u0431\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442. \u0417\u0430\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e wkhtmltopdf, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432 \u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u0441\u0442\u044b\u043b\u0438 \u043d\u0430\u0432\u0440\u043e\u0434\u0435 <code>&lt;div class=&quot;force-load&quot; \/&gt;<\/code>.<\/p>\n<p>  <a href=\"http:\/\/ruvds.com\/ru-rub\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gu\/ab\/cg\/guabcgmwuqoopx1ar80sjpz6keq.png\"><\/a><\/p>\n<p>  <a href=\"https:\/\/ruvds.com\/ru-rub#order\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/de\/0y\/l-\/de0yl-6ppopvisr_a80b4yuhjj8.png\"><\/a><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/505864\/\"> https:\/\/habr.com\/ru\/company\/ruvds\/blog\/505864\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/505864\/\">wkhtmltopdf \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043c\u043e\u0449\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 PDF. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 HTML \u0438 CSS. \u00ab\u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c\u00bb \u0443 \u043d\u0435\u0433\u043e \u0434\u0432\u0438\u0436\u043e\u043a WebKit, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0443 \u00abPrint to PDF\u00bb, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c\u0443 \u0432 Chrome. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043d\u0430 Stack Overflow, wkhtmltopdf \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0440\u0442, \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u0438\u0445 \u043e\u0442\u0447\u0451\u0442\u043e\u0432, \u043f\u043e\u0434\u0430\u0440\u043e\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435.<\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/500288\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ps\/qo\/r_\/psqor_85k6r0qb26nkvldphxzis.png\"><\/div>\n<p><\/a><\/p>\n<p>  \u041c\u043e\u0439 \u0434\u0430\u0432\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e wkhtmltopdf \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 PDF-\u0438\u043d\u0432\u043e\u0439\u0441\u044b \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u0435\u0431-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435. \u041f\u0440\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u00ab\u0448\u0430\u043f\u043a\u0435\u00bb \u0438\u043d\u0432\u043e\u0439\u0441\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0447\u0451\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0439 \u043b\u043e\u0433\u043e\u0442\u0438\u043f, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0446\u0432\u0435\u0442\u043d\u043e\u0439. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 CSS <code>@media print { ... }<\/code> \u041d\u043e \u0442\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0435\u0441\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0435 <code>@media print<\/code>, \u0442\u043e \u043e\u043d\u043e \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0440\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 (\u044d\u0442\u043e\u0442 \u0431\u0430\u0433 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0438 \u0432 \u043e\u043a\u043d\u0435 Print Preview \u0441\u0430\u043c\u043e\u0433\u043e Chrome).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-305151","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/305151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=305151"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/305151\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=305151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=305151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=305151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}