2012-09-24 3 views
24

브라우저에서 PDF를 실행하면 PDF로 아무 문제없이 저장할 수있는 mPDF를 사용하는 페이지가 있습니다. 제가하고 싶은 것은 페이지가 실행될 때 페이지가 PDF로 서버에 저장된다는 것입니다.PHP mPDF 파일을 PDF 파일로 저장

<?php 
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAclient.php'; 
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAParser.php'; 

$reportID= $_GET['reportid']; 

$WSAclient = new WSAclient(WSA_USER_ID,WSA_API_KEY); 

$result=$WSAclient->viewReport($reportID,WSA_SUBSCRIPTION_ID,'xml','EN'); 

unset($WSAclient); 

ob_start(); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>PDF Report</title> 
<!--Add your CSS here--> 
</head> 
<body>  
<?php 
echo WSAParser::viewReportResponse($result); 
?> 
</body> 
</html> 
<?php 
$HTMLoutput = ob_get_contents(); 
ob_end_clean(); 


//Convert HTML 2 PDF by using MPDF PHP library 
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/MPDF/mpdf.php'; 
$mpdf=new mPDF(); 

$mpdf->WriteHTML($HTMLoutput); 
$mpdf->Output(); 
?> 

나는 이것이 PDF의 벌금을 출력하지만, 사람이 어떻게 PDF로 저장하는 방법 말해 줄 수 말했듯이 : 여기

는 현재 코드?

답변

64

mPDF docsOutput()의 첫 번째 인수가 파일 경로이고 두 번째가 절약 모드임을 나타내며 'F'으로 설정해야합니다.

$mpdf->Output('filename.pdf','F');  // only save to File 

업데이트 :
당신은 너무이 필요할 수 있습니다

$mpdf->Output('filename.pdf','D');  // make it to DOWNLOAD 
+7

내 친구는 생명의 은인이며, 찾으려고 노력하는 시간을 보냈습니다. 고맙습니다! – Paul

+1

이것은 나를 위해 작동하지 않았지만 그것을 F 대신 D로 변경했습니다! 그게 무슨 뜻이야? – Mikeys4u

+2

D - 브라우저에 보내고 강제 다운로드, F - 파일에 저장. 제공된 문서 링크에서 설명합니다. –

12

이 나를 위해 일한 :

$mpdf->Output('my_filename.pdf','D'); 

을하지만, 어떤 사람들은 여기에 문제 주장 - http://mpdf.bpm1.com/forum/comments.php?DiscussionID=123

+1

이것이 효과가 있습니다! 고마워 친구 : –

+0

저와 함께 저를 구해 줬습니다. 감사! –

9

이것은 이렇게 할 수 있습니다. 그것은 나를 위해 잘 일했다. 또한 설정되지 않은 경우 디렉토리 권한을 777 또는 775로 설정하십시오.

ob_clean(); 
$mpdf->Output('directory_name/pdf_file_name.pdf', 'F'); 
관련 문제