2013-07-09 3 views
0

내 사이트의 페이지를 pdf로 저장하려고합니다. 스타일 시트를 절대 URL을 사용하여 작동시킬 수는 있었지만 무엇을 렌더링하든 이미지를 가져올 수 없었습니다.이미지를 렌더링하지 않는 Wkhtmltopdf

나는 상대 URL 인 절대 URL (심지어 '/ var/www/vhosts ...'서버 경로)을 사용해 보았습니다. 오류가보고되지 않고 이미지가 렌더링되지 않습니다. 이미지가 있어야하는 공간은 마치 코드의 일부가 아닌 것처럼 축소됩니다!

wkhtmltopdf 버전 : 11.0 RC1, 10.0 RC2 및 9.9를 사용해 보았습니다. Running Cent OS 6.3.

저는 PHP 클래스 PHP WkHtmlToPdf (http://mikehaertl.github.io/phpwkhtmltopdf/)를 사용하고 있습니다. 나는 렌더링 할 페이지가 암호로 보호되어 있으며 세션 변수를 사용하므로 명령 줄에서 동일한 명령을 실행하지 않았습니다.

동일한 페이지가 브라우저에서 완벽하게 렌더링됩니다.

제가 찾을 수있는 모든 해결책을 시도했습니다 - 어떤 도움을 주시면 매우 감사하겠습니다!

답변

3

나는 우연히 오늘 우연히 우연히 만났다.

내 이미지는 백분율 기반 높이와 상단 위치로 절대 위치 지정된 div 내에 포함되어 있습니다. 웹 사이트에서 포함 된 div의 높이가 정의되어 있으므로 제대로 작동합니다. 인쇄 사본에서이 div는 더 이상 존재하지 않으므로 페이지에서 이미지 보유 div를 배치하거나 높이를 0으로 줄이는 것처럼 보입니다. 어느 쪽이든 - 전체 페이지 크기를 절대적으로 배치 한 div를 요소 주위에 두는 것 이미지를 올바르게 렌더링 할뿐만 아니라 페이지에서 다른 절대적으로 배치 된 요소의 위치를 ​​수정했습니다!

0

HTML로 렌더링해도 이미지가 PDF에 표시되지 않는 또 다른 이유가 있습니다.

.htaccess 이미지에있는 파일 (또는 상위 디렉토리)에 RewriteEngine on 파일이있는 경우 그 이유가 여기에 해당됩니다.

이것을 확인하려면 재 작성 조건을 주석 처리하고 다시 시도하십시오.

이 시점에 이르러서 나는 curl 이미지를 명령 줄에 입력하면 문제를 밝혀 낼 수 있음을 알게되었습니다. 명령과 같은 :

curl "http://localhost/directory/path/logo.png" 

"이 서버에 ... 당신은에 액세스 할 수있는 권한이 없습니다"등의 메시지와 함께, Forbidden을 반환 할 수 있습니다
관련 문제