2011-12-31 4 views
1

Я работаю над созданием PHP-скрипта для преобразования моих страниц HTML/CSS/PHP в PDF-файл. Я столкнулся с классом domPDF, и я загрузил все файлы на свой сервер. Я пытаюсь обвести голову вокруг этого, и я написал этот образец сценария, чтобы увидеть, могу ли я заставить его работать. Сценарий:domPDF inline PHP

ob_start() ; 

require_once("dompdf_config.inc.php"); 

$file= file_get_contents('http://www.yahoo.com'); 

$dompdf = new DOMPDF(); 
$dompdf->load_html_file($file); 
$dompdf->render(); 
$dompdf->stream("sample.pdf"); 

И я получаю эту ошибку:

"Fatal error: Uncaught exception 'DOMPDF_Exception' with message 'Permission denied on <!DOCTYPE html> <html lang="en-US" class="y-fp-bg y-fp-pg-grad bkt701" style=""> <!-- m2 template --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Yahoo!</title> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta name="description" content="Welcome to Yahoo!, the world's most visited home page. Quickly find what you're searching for, get in touch with friends and stay in-the-know with the latest news and information."> <meta name="keywords" content="yahoo, yahoo home page, yahoo homepage, yahoo search, yahoo mail, yahoo messenger, yahoo games, news, finance, sport, entertainment"> <script type="text/javascript"> //Roundtrip rtTop = Number(new Date()); document.documentElement.className += ' jsenabled'; </script> <script type="text/javascript"> (function() { //refresh check var d=document,c=";\ in /home/public_html/Sandbox/include/dompdf.cls.php on line 329"

ответ

4

Я думаю, что вы хотите использовать:

$dompdf->load_html($file); 

, а не

$dompdf->load_html_file($file); 
+0

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

+1

@GeraldoIsaaks похоже, что вы на другом шаге (это просто касается загрузки в структуре DOM - я предполагаю, что вы пытаетесь захватить некоторые конкретные данные или узел). Вы должны опубликовать свой код и задать вопрос в качестве нового вопроса. –

2

Я не знаком с DOMPDF, но, судя по сообщению об ошибке и имя функции, я предполагаю, что load_html_file() ожидает filename, но вы даете ему содержание файла HTML. Попробуйте $dompdf->load_html_file('http://www.yahoo.com') или найдите функцию, которая принимает строку HTML в качестве параметра.