ProtocolUnknownError при выполнении wkhtmltopdf из PHP с верхним и нижним колонтитулом?

1

У меня есть странная проблема с wkhtmltopdf, выполненным из PHP. Мой PHP-код выглядит так:

<?php
  exec('wkhtmltopdf --header-html "http://example.com/pdf-header" 
     --footer_html "http://example.com/pdf-footer"
     /tmp/pdf.html /tmp/pdf.pdf');
?>

Когда я выполняю ту же команду из оболочки, она работает отлично. Однако, когда я пытаюсь запустить его из PHP, как упоминалось выше, скрипт работает до тех пор, пока он не выйдет из строя, что приведет к пустым файлам PDF.

Когда я искал веб-сайт, я попытался запустить его с помощью параметра >/tmp/error_log.txt 1>&2 и я обнаружил, что при выполнении с PHP он возвращает ошибку:

Exit with code 1 due to network error: ProtocolUnknownError

Более интересно, когда я удаляю --footer-html и --header-html он отлично работает с PHP. Но, очевидно, в результате PDF отсутствует верхний и нижний колонтитулы.

HTML-код верхнего колонтитула не содержит ссылок на внешние ресурсы. И я не думаю, что это проблема сети /DNS, потому что из командной строки с того же сервера она работает нормально.

Я был бы очень рад за любые советы и подсказки, потому что это сводит меня с ума. Заранее спасибо.

  • 0
    в моем случае у меня была плохая ссылка (Ms Outlook) на изображение <img src = "cid: dealer_image_id". Так что эта ошибка на самом деле говорит, что не могу найти изображение
Теги:
wkhtmltopdf

1 ответ

2

Если у кого-то есть такая же проблема, я опубликую свое решение, которое я использовал. Вместо того, чтобы использовать http-адрес для нижнего колонтитула и заголовка, я помещаю HTML в локальные файлы tmp и использую их как нижний колонтитул и заголовок. Это сработало для меня, может работать и для кого-то другого, и сэкономить несколько часов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню