Я видел несколько вопросов, которые очень похожи на этот, поэтому я сначала не решался его опубликовать. Но ничто не предлагало решить мою проблему, и я не могу понять, что не так.
Для проекта, который я сделал для одного клиента, они хотели, чтобы конвертировать кавычки для своих клиентов (сгенерированных с использованием онлайн-формы) в PDF файлы. Достаточно просто. Поскольку весь проект был в PHP, я использовал следующий простой процесс:
- Сохранить цитату как временный файл HTML
- Используйте WkHTMLtoPDF для преобразования HTML файла в PDF
- Вывести этот файл PDF
- Очистка (удаление временных файлов)
Это работало до тех пор, пока они не изменили серверы. На новом сервере есть брандмауэр.
Сначала шаг преобразования PDF возвращал страницу межсетевого экрана, в которой говорилось, что сервер не может выполнять исходящие подключения. Чтобы решить эту проблему, я напрямую связал файл HTML вместо ссылки на него (/var/www/mysite/temp/18382.html вместо www.example.com/temp/18382.html). Это преобразовало HTML, но брандмауэр предотвратил загрузку CSS и изображений
Я могу преодолеть CSS, просто вставив его непосредственно на сайт вместо ссылки на него (используя теги <style>
), но это не работает для изображений
Сначала я попытался использовать относительные ссылки. Я изменил <img src="http://www.example.com/temp/image.jpg" />
на <img src="./image.jpg" />
. Это не сработало.
Далее я попробовал <img src="file:///var/www/mysite/temp/image.jpg" />
, но это не сработало, либо
Я читаю и просматриваю руководство WkHTMLtoPDF, и я пробовал несколько различных аргументов командной строки, таких как --enable-local-file-access
, --enable /var/www/mysite/temp/
и --images
, но ничего не исправляет его