2012-01-04 20 views
37

मैं पीडीएफ फाइल बनाने के लिए डोमडएफएफ का उपयोग कर रहा हूं लेकिन मुझे नहीं पता कि यह सर्वर पर बनाए गए पीडीएफ को क्यों नहीं बचाता है।फ़ाइल करने के लिए DOMPDF जेनरेट की गई सामग्री को कैसे सहेजना है?

कोई विचार?

require_once("./pdf/dompdf_config.inc.php"); 
    $html = 
     '<html><body>'. 
     '<p>Put your html here, or generate it with your favourite '. 
     'templating system.</p>'. 
     '</body></html>'; 

    $dompdf = new DOMPDF(); 
    $dompdf->load_html($html); 
    $dompdf->render(); 
    file_put_contents('Brochure.pdf', $dompdf->output()); 
+0

dompdf का संस्करण? कोई PHP त्रुटियां? – BrianS

+0

dompdf 0.5.2, php 5.2.13 – user1079810

+0

मुझे कुछ भी नहीं दिख रहा है जो आपको सहेजने से रोक देगा, इसलिए मैं सर्वर कॉन्फ़िगरेशन त्रुटि का अनुमान लगा रहा हूं। शायद PHP उस निर्देशिका में लिखने में असमर्थ है? यदि ऐसा है तो PHP एक त्रुटि की रिपोर्ट करेगा। अपने PHP त्रुटि लॉग की जांच करें या त्रुटि प्रदर्शन सक्षम करें। – BrianS

उत्तर

58

मैंने अभी dompdf का उपयोग किया है और कोड थोड़ा अलग था लेकिन यह काम करता था।

संदेश यह है:

require_once("./pdf/dompdf_config.inc.php"); 
$files = glob("./pdf/include/*.php"); 
foreach($files as $file) include_once($file); 

$html = 
     '<html><body>'. 
     '<p>Put your html here, or generate it with your favourite '. 
     'templating system.</p>'. 
     '</body></html>'; 

    $dompdf = new DOMPDF(); 
    $dompdf->load_html($html); 
    $dompdf->render(); 
    $output = $dompdf->output(); 
    file_put_contents('Brochure.pdf', $output); 

केवल अंतर है कि यहाँ शामिल निर्देशिका में फ़ाइलों के सभी शामिल हैं।

इसके अलावा मेरा एकमात्र सुझाव केवल फाइलनाम के बजाय फ़ाइल लिखने के लिए एक पूर्ण निर्देशिका पथ निर्दिष्ट करना होगा।

1

मैंने आपके कोड का परीक्षण किया और एकमात्र समस्या जो मैं देख सकता था वह उस निर्देशिका को दी गई अनुमति की कमी थी जिसमें आप फ़ाइल लिखने का प्रयास करते थे।

फ़ाइल को रखने के लिए आवश्यक निर्देशिका में "लिखना" अनुमति दें। आपके मामले में यह वर्तमान निर्देशिका है।

लिनक्स में "chmod" का प्रयोग करें।

यदि आप विंडोज में हैं तो निर्देशिका के सुरक्षा टैब में सक्षम "लिखने" के साथ "हर कोई" जोड़ें।

-2
<?php 
$content='<table width="100%" border="1">'; 
$content.='<tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>'; 
for ($index = 0; $index < 10; $index++) { 
$content.='<tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>'; 
} 
$content.='</table>'; 
//$html = file_get_contents('pdf.php'); 
if(isset($_POST['pdf'])){ 
    require_once('./dompdf/dompdf_config.inc.php'); 
    $dompdf = new DOMPDF;       
    $dompdf->load_html($content); 
    $dompdf->render(); 
    $dompdf->stream("hello.pdf"); 
} 
?> 
<html> 
    <body> 
     <form action="#" method="post">   
      <button name="pdf" type="submit">export</button> 
     <table width="100%" border="1"> 
      <tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>   
      <?php for ($index = 0; $index < 10; $index++) { ?> 
      <tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr> 
      <?php } ?>    
     </table>   
     </form>   
    </body> 
</html>