Почему мои сторонние инструменты HTML в PDF не распознаются в Drupal 6 с использованием модуля Print? - PullRequest
1 голос
/ 07 декабря 2009

Я установил Drupal 6 и установил модуль «Версия для печати, электронной почты и PDF» или «Печать».

Затем я понял, что для генерации PDF-файлов из моих узлов html мне нужен сторонний инструмент, что нормально, но модуль Print не распознает сторонние инструменты, которые я установил в / modules / print / lib / каталог. На странице «Домашняя страница› Администрирование ›Конфигурация сайта› Версия для принтера, электронная почта и PDF »появляется следующая ошибка:

"Инструмент для создания PDF-файлов не найден. Пожалуйста, загрузите поддерживаемый инструмент для создания PDF-файлов на PHP. Для получения более подробной информации обратитесь к INSTALL.txt этого модуля."

Я установил 755 разрешений для папок и файлов для сторонних инструментов, так как большинство других моих настроек также настроены на это.

Я установил два из трех рекомендованных сторонних инструментов для создания PDF-файлов PHP:

1) http://dompdf.googlecode.com/files/dompdf-0.5.1.zip 2) http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.8.3.tar.bz2

Почему я вижу сообщение "Инструмент для создания PDF не найден! Пожалуйста, загрузите поддерживаемый инструмент для генерации PHP PDF. Проверьте INSTALL.txt этого модуля для получения более подробной информации." сообщение об ошибке? И почему модуль Print не распознает мои сторонние инструменты?

Ответы [ 3 ]

1 голос
/ 11 декабря 2009

Хм, только что попробовал локально, и это работает для меня, так что вы должны дважды проверить настройки:

Модуль пытается найти установленные библиотеки с помощью функции _print_pdf_tools() в print_pdf.admin.inc. Функция ищет конкретный файл «ключ» для каждой возможной библиотеки в двух местах (при условии, что если этот файл есть, то и вся библиотека будет там):

  1. в 'sites / all / library'
  2. в каталоге модуля печати (в вашем случае это должен быть 'modules / print')

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

Взяв в качестве примера dompdf - он будет идентифицирован по файлу dompdf_config.inc.php.

Так что вы должны проверить:

  1. что этот файл действительно присутствует в каталоге, куда вы распаковали dompdf (из ваших комментариев это должно быть modules/print/lib/dompdf-0.5.1)
  2. что он доступен для чтения для вашего процесса веб-сервера (вы сказали, что изменили разрешения - делали ли вы это рекурсивно, а также настраивали владельца и / или группу?)

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

  • tcpdf.php для TCPDF
  • wkhtmltopdf или wkhtmltopdf.exe для wkhtmltopdf
0 голосов
/ 17 декабря 2009

wkhtmltopdf:

(Linux) Больше не требуется запуск XServer (однако должны быть установлены клиентские библиотеки X11)

Я на 85% уверен, что Dreamhost не имеет клиентских библиотек X11 на своем хостинге; у вас должны были быть ошибки при попытке скомпилировать wkhtmltopdf на Dreamhost. Кстати, попробуйте запустить uname -a в сеансе SSH для Dreamhost, чтобы узнать их ОС.

Если вам удалось заставить wkhtmltopdf работать на вашем локальном тестовом сервере (который включает компиляцию исходного архива, на который вы ссылались), вам может повезти, если использовать предварительно скомпилированную статическую бинарную версию из http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.8.3-static.tar.bz2

DOMPDF

Единственное, что требуется для dompdf - это шрифты. Вы следовали инструкциям INSTALL? Если да - попробуйте выполнить какое-либо преобразование из командной строки, чтобы увидеть, какие ошибки мешают его работе. Вы не предоставили достаточно информации для диагностики этого.

0 голосов
/ 10 декабря 2009

Просто проверяю - вы извлекли библиотеки из архивов?

Папка будет выглядеть как / sites / all / modules / print / lib / dompdf, например

...