2011-05-11 5 views
1

나는 dompdf를 테스트하고 있습니다. 그리고 내가 만들고있는 것은 크롬에 의해 빨간색이 될 수 없다는 것을 알았습니다. 수마트라 pdf 리더기로 열려고했는데 열렸습니다. 내 전자 책에서 임의의 PDF 파일을 열어 보려고 시도했는데 빨간색이었습니다.크롬에서 dompdf를 통해 생성 된 PDF를 읽을 수 없습니다

<?php 
require_once("dompdf/dompdf_config.inc.php"); 

$dompdf = new DOMPDF(); 

$d_r = array(array('name'=>'ab', 'course'=>'bsit'), array('name'=>'yoh', 'course'=>'bscs')); 

ob_start(); 
put_table($d_r); 
file_put_contents('sample.html', ob_get_contents()); 
generate_pdf('sample.html'); 

function put_table($raw_data){ 
?> 
<table border="1"> 
    <tr> 
    <th>Name</th> 
    <th>Course</th> 
    </tr> 

<?php foreach($raw_data as $data){ ?> 
    <tr> 
    <td><?php echo $data['name']; ?></td> 
    <td><?php echo $data['course']; ?></td> 
    </tr> 
<?php } ?> 
</table> 


    <?php 
} 


function generate_pdf($filename){ 
    global $dompdf; 

    $dompdf->load_html(file_get_contents($filename)); 
    $dompdf->render(); 
    $dompdf->stream($filename. ".pdf"); 

} 
?> 

답변

2

PDF가 올바르게 렌더링되었지만 서버 구성에 따라 일부 PDF가 아닌 콘텐츠가 PDF 소스에 포함되었을 수 있습니다. 일부 PDF 리더는 다른 PDF 리더보다 융통성이 있으며 비 PDF 콘텐츠를 삭제합니다. 이것을 확인하는 가장 쉬운 방법은 PDF를 텍스트 편집기에서 열고 HTML 텍스트 문자열과 같은 것을 찾는 것입니다.

이것이 문제가되지 않는다면 PDF 자체를 보는 것이 도움이 될 것입니다.

5

문제는 기본적으로 DOMPDF이 다운로드를 강제로 첨부 파일로 내용을 덤프 사실로 될 수있다 : 크롬이 그것을 읽을 수 없음을 내 코드에 문제가 있습니다. 브라우저가 스트림을 인라인으로 볼 수있게하려면 스트림 메소드에 추가 매개 변수를 설정해야합니다.

$dompdf->stream("my_pdf.pdf", array("Attachment" => 0)); 

그 이해가되지 않는 경우, 화면을주지 않고, 생성 (디스크에 쓰기) 원하는 HTML 출력 후 출력 버퍼를 청소 해보십시오. 요청/응답에서 헤더 디버그를 수행하고 빈 칸이나 공백이 있는지 확인하십시오. 그렇게하면 클라이언트가 헤더를 읽을 수 없으며 결과 PDF를 보지 못할 수도 있습니다.

0

Chrome PDF 뷰어는 전문가에게 끔찍한 일입니다. Acrobat Reader가없는 경우 설치하십시오. Chrome 주소 표시 줄에 about : plugins을 입력하고 Chrome pdf 뷰어를 클릭하여 사용 중지합니다. 그런 다음 Acrobat Reader를 사용하려면 클릭하십시오 --- Chrome에서 PDF보기가 작동합니다!

+1

오늘까지. 크롬 PDF 뷰어는 Adobe의 것보다 낫습니다 ... 여기에서 나는 pdf를 생성 한 dompdf를 볼 수 있지만 Adobe에서는 "Error 135"를 얻습니다. – MarcoS

관련 문제