2013-04-05 24 views
5

html2pdf sınıfını kullanarak pdfs'yi otomatik olarak oluşturmayı deniyorum. İyi çalışan aşağıdaki kodu aldım, sadece birinin el ile pdf kaydetmesi gerekiyor. Bununla birlikte, yeni bir ürün eklendiğinde, pdf'yi kullanıcı müdahalesi olmadan bir klasöre otomatik olarak kaydetmek istiyorum ve bu değeri ileride başvurmak üzere bir veritabanında saklamak istiyorum. Pdf'yi 'sessizce' yani arka planda herhangi bir pop-up göstermeden veya kullanıcının müdahale etmesini gerektirmeden nasıl kaydederim? Şimdiden teşekkürler.html2pdf kullanarak arka planda pdf kaydetme

include('pdf_content.php'); 
$content = ob_get_clean(); 
// convert to PDF 
require_once('html2pdf/html2pdf.class.php'); 
try 
{ 
    $html2pdf = new HTML2PDF('P', 'A4', 'en'); 
    $html2pdf->pdf->SetDisplayMode('fullpage'); 
    $html2pdf->setDefaultFont('Arial'); 
    $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); 
    //$html2pdf->Output($file_name.'_'.date("dmY").'.pdf'); 
    $html2pdf->Output($product_id.'_'.$file_name.'_'.date("dmY").'.pdf'); 

cevap

12

Sen o zaman gerçekten "arka" bunu yapmazdım rağmen ..., yeni bir ürün eklendiğinde sürekli bu senaryoyu çağırarak denemek

fazla bilgi için, soru unutmayın yapabilirsiniz "How can I run a PHP script in the background after a form is submitted?"

DÜZENLEME:

sen tarayıcıya çıkışı yerine sunucuda dosyayı kaydetmek isterseniz, farklı parametreler kullanabilirsiniz. See also the html2pdf-wiki. Dosyayı, kullanıcının bilgisayarında fark edilmeden kaydedemediğinizin farkında olun!

$html2pdf->Output('directory/file_xxxx.pdf', 'F'); 
+0

Bağlantılı örneği belirttim ama pdf'yi kaydetmek için komut dosyası göstermeden (gerçekten arka planda değil) betiği çalıştırmam mümkün mü? Kullanıcıyı fark etmeden pdf'yi kaydetmesini istiyorum. Kabuk betiklerine erişimim yok ve bu seçenek mevcutsa başka bir seçeneği (tercihen php koduyla) tercih ederim. Rgds. – nixxx

+0

güncellendi yanıt. –

+0

Teşekkürler @Marty McVry. 'F' seçeneği aradığım şey. Rgds. – nixxx

İlgili konular