Я использую wkthmltopdf для преобразования HTML в PDF-документы на лету на моем веб-сервере Linux. Первоначально программе требовался X11 или аналогичный X-сервер для правильной работы, но благодаря многочисленным просьбам разработчиков запустить этот процесс на серверах без графического интерфейса, я почти уверен, что он запускает виртуальный X-сервер в статической версии . Я использовал статическую (автономную) версию программы, и она отлично работает! Я бы поместил исполняемый файл в папку и запустил:
./wkhtmltopdf file1.html file2.pdf
Однако я хотел бы установить эту программу в масштабе всей системы. Я использовал apt-get install wkhtmltopdf
(только что установил вчера), и, поскольку я работаю в 64-битной системе, мне также понадобился apt-get install ia32-libs
. После установки я могу найти такую версию:
wkhtmltopdf --version
вывод:
Name:
wkhtmltopdf 0.9.9
License:
Copyright (C) 2008,2009 Wkhtmltopdf Authors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Authors:
Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
Bouthenot.
Теперь, когда я пытаюсь запустить программу, установленную через aptitude, я получаю следующую ошибку:
wkhtmltopdf: cannot connect to X server
Кто-нибудь знает, как это исправить? Я думаю, в этой версии отсутствует виртуальный X-сервер или что-то в этом роде.
источник
/usr/bin/
каталог, вы сможете использовать его откуда угодно. Они добавили виртуальный x-сервер к статическому исполняемому файлу, поэтому нет необходимости создавать сценарий оболочки.If you get the error "Cannot connect to X server" then continue to number 6.
должно означать утверждение под номером 6 ? Меня это очень смущает. Вы хотите сказать продолжить номер 7?Это решило проблему для меня:
источник
sudo yum install xorg-x11-server-Xvfb
соотв.sudo dnf install xorg-x11-server-Xvfb
.Я пытался,
sudo apt-get install wkhtmltopdf
но безуспешно. Вместо этого я рекомендую вам попробовать:Загрузите последний исполняемый файл (.11 rc1):
wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
распаковать его:
tar -vxf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
переименуйте его:
mv wkhtmltopdf-i386 wkhtmltopdf
chmod его в исполняемый файл:
chmod a+x wkhtmltopdf
поместите его в / usr / bin:
sudo mv wkhtmltopdf /usr/bin
источник
https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
Только что сделал:
1- Чтобы скачать зависимости wkhtmltopdf
# apt-get install wkhtmltopdf
2- Скачать из источника
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/xxx.deb
# dpkg -i xxx.deb
3- Попробуйте
# wkhtmltopdf http://google.com google.pdf
Работает нормально
Оно работает!
источник
apt-get install -f
после установки пакета, чтобы получить зависимости. В остальном работало как шарм. Многие предпочитают этот метод другим описанным.wget -q http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
за ней следуетsudo dpkg --install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo mv wkhtmltopdf /usr/bin
из/usr/local/bin/
каталога, но это отлично сработало! Я пробовал любой другой метод на этой странице, ноЯ нашел способ решить эту проблему без поддельного X-сервера. В последней версии wkhtmltopdf для работы не требуется X-сервер, но он не входит в официальные репозитории Linux.
Решение для Ubuntu 14.04.4 LTS (надежный) i386
Решение для Ubuntu 14.04.4 LTS (надежный) amd64
Пользователь felixhummel получил очень хорошее решение, но изменился репозиторий с утилитой.
источник
Расширяя ответ Тимоти ...
Если вы веб-разработчик и хотите использовать wkhtmltopdf как часть своего веб-приложения, вы можете просто установить его в свою
/usr/bin/
папку следующим образом:Теперь вы можете запускать его где угодно, используя
wkhtmltopdf
.Я лично использую библиотеку Snappy в PHP. Вот пример того, как легко создать PDF:
источник
Обновление до последней версии wkhtmltopdf с SourceForge (0.12 на момент написания этой статьи). Для работы не требуется X-сервер.
Пример для Ubuntu 14.04:
источник
для 14.04.1-Ubuntu https://wkhtmltopdf.org/downloads.html
источник
источник
Проблема, вероятно, в старой версии wkhtmltopdf - версия 0.9 из репозитория дистрибутива требует запуска X-сервера, но текущая версия - 0.12.2.1 этого не требует - может работать без заголовка.
Загрузите пакет для вашего дистрибутива с http://wkhtmltopdf.org/downloads.html и установите его - для Ubuntu:
источник
wkhtmltopdf
>0.11
нет этойX-server
проблемы.Итак, установка
0.12.2.1
на сервер linux.Сначала установите сервер xvfb:
Получите необходимую версию wkhtmltopdf с http://wkhtmltopdf.org/downloads.html
Установите wkhtmltopdf:
или установить с помощью
wget
Установите зависимость (при необходимости):
Создать символическую ссылку в
/usr/local/bin/
:Теперь попробуйте ниже, и он должен работать,
источник
Я только что понял, что могу просто переместить статический исполняемый файл в
/usr/bin/
каталог и выполнить его откуда угодно.источник
Рекомендуется использовать не ниже 0.12.2.1.
Начиная с wkhtmltopdf> = 0.12.2 он больше не требует X-сервера или эмуляции. Вы можете скачать новую версию с http://wkhtmltopdf.org/downloads.html
источник
Я выполнил приведенные здесь инструкции и заставил wkhtmltopdf работать на меня, но я хотел бы предложить небольшую перспективу, которую я обнаружил, исполняя свой собственный небольшой танец с
wkhtmltopdf
-xvfb
.Это важно, потому что та же причина, по которой он вызывает печально известную
cannot connect to X server
ошибку, также заставляет его работать с серьезными ограничениями, даже если вы предоставляете ему X-сервер. Эти ограничения включают невозможность принимать несколько источников ввода, устанавливать верхний и нижний колонтитулы и т. Д. ( См. Раздел « Ограниченная функциональность» руководства ).wkhtmltox
сам по себе не требует X11, но использует библиотеки QT, которые нужны. В новых версиях wkthmltox разработчики сделали патч для QT, который позволяет ему работать с X11.В настоящее время некоторые версии построены на исправленном QT, а некоторые нет. Вы можете проверить свою версию, запустив
wkhtmltopds --version
. В конце должна быть строка с надписьюCompiled against wkhtmltopdf patched qt.
Итак, в заключение, если вы устанавливаете и используете версию, в которой используются исправленные библиотеки, она должна работать на сервере Linux без
xvfb
сервера, как я могу подтвердить.источник
решение для Centos7 :
Мы сталкиваемся с этой проблемой внутри контейнеров докеров, и указанная выше установка имеет wkhtmltopdf с исправленным QT
источник
sudo rpm -Uvh https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
Обратите внимание: ваш файл может быть
wkhtmltopdf.sh
илиwkhtmltopdf
, проверьте его на втором шагеВы должны скопировать его в каталог: / usr / local / bin , сделать его исполняемым и добавить символическую ссылку на wkhtmltopdf.sh, например:
1- команда:
2 - вставьте двоичный файл в каталог / usr / bin, чтобы у браузера не было разрешения на выполнение в этом каталоге. Вы должны скопировать wkhtmltopdf.sh в каталог / usr / local / bin, потому что у браузера есть разрешение в этом каталоге, например:
3 - После make sur у двоичного файла есть разрешение на выполнение, например:
4 - теперь вы можете протестировать, это работает так:
он заставляет загружать pdf в текущий каталог в вашем терминале
5 - Необязательно, теперь вы можете добавить символическую ссылку в свой каталог / usr / local / bin, например
источник
/usr/bin/
/usr/bin/wkhtmltopdf
wkhtmltopdf http://www.google.com test.pdf
подсказкой: подробная информация по этой ссылкеисточник
Просто установите версию 0.12.4 или выше. Кажется, это решает проблему.
См. Как установить последнюю версию wkhtmltopdf на Ubuntu 16.04? .
источник
Если вы настраиваете wkhtmltopdf для Rails или Somethings в Centos, вы можете выполнить следующие шаги:
На сервере centos bash.
wget link_of_wkhtmltopdf_rpm.rpm
rpm -ivh link_of_wkhtmltopdf_rpm.rpm
which wkhtmltopdf
=> Вы получите путь к wkhtmltopdf.
Настройка для wicked_pdf или pdfkit с указанием пути на шаге 4. Это пример конфигурации с wickedpdf. конфигурация / инициализаторы / wicked_pdf.rb
Перезагрузите сервер.
СДЕЛАНО.
источник
Для 64-битного использования:
источник
Просто скажите бэкэнду Qt не использовать X:
источник