Библиотека Mac OSX Convert (html-файл в pdf) работает через терминал, но не через PHP

Я пытаюсь взять сгенерированный HTML-файл и преобразовать его в PDF на лету с помощью PHP. Это происходит на моем локальном хосте и остается там, поэтому для преобразования PDF я использую утилиту Mac OSX, я думаю, вы бы назвали ее.

Команда терминала:

/System/Library/Printers/Libraries/convert -f temporary.html -o destination/final.pdf

Это правильно работает через терминал (создает простой PDF-файл размером 20 КБ); однако, когда я запускаю его внутри PHP через passthru(), файл (final.pdf) создается, хотя это файл Zero KB (поврежденный).

Папка /destination — CHMOD 777, временный.html — CHMOD 755.

Любая помощь будет принята с благодарностью.

Изменить (дополнительная информация): теперь в журнале ошибок среди строк отладки есть ошибка «ОШИБКА: xhtmltopdf (PID 13204) разбился при сигнале 6!»


person Jeff Andersen    schedule 02.03.2011    source источник
comment
Понятно, что это не проблема с разрешениями, поскольку файл создается. Показывает ли php какую-либо ошибку в своем (или apache) файле журнала? Например, временный html недоступен.   -  person Dan    schedule 02.03.2011
comment
Есть только ссылки на отсутствующий фавикон. // Редактировать: Теперь после запуска еще несколько раз возникает ошибка: xhtmltopdf (PID 13165) разбился на сигнале 6   -  person Jeff Andersen    schedule 02.03.2011
comment
Ваш путь к исходному html правильный? вам может потребоваться указать полный абсолютный путь, в зависимости от того, где находится ваш php-скрипт.   -  person Ben    schedule 02.03.2011
comment
Преобразование, вероятно, использует Quartz, что означает, что вам нужно подключение к оконному серверу. Таким образом, вам нужно либо запустить convert как вошедший в систему пользователь, либо использовать что-то еще для преобразования HTML в PDF (возможно, code.google.com/p/wkhtmltopdf ?)   -  person Nicholas Riley    schedule 02.03.2011
comment
@Николас. Это должно быть помещено в качестве ответа   -  person Ben    schedule 03.03.2011
comment
никогда не уверен, что делать, когда вопрос недоопределен ...   -  person Nicholas Riley    schedule 03.03.2011


Ответы (2)


Мне нравится делиться тем, что я делаю для создания PDF-файла на лету. Мы используем сервер UNIX для размещения.

Я использую tcpdf — библиотеку php для преобразования HTML в файл PDF. Я использую его в своих проектах, и он работает очень хорошо. TCPDF поддерживает css, javascript, формы, изображения и многое другое.

Веб-сайт: http://www.tcpdf.org/

Демонстрации: http://www.tcpdf.org/examples.php

person Muthu Kumaran    schedule 02.03.2011
comment
Думаю, немного громоздкий / слишком сложный для того, что мне нужно. Мне просто нужно взять существующий файл HTML и преобразовать его. - person Jeff Andersen; 02.03.2011

Когда мне нужно преобразовать HTML в PDF, я использую это очень хорошее программное обеспечение: http://www.princexml.com

Вы можете посмотреть, это бесплатно для личного использования.

person Steve    schedule 04.02.2013