2010-12-27 18 views
6

मुझे पता है कि इस समस्या के बारे में बहुत सी पोस्ट हैं। लेकिन क्या कोई मुझे इस http://www.rustyparts.com/pdf.php स्क्रिप्ट को मेरे लोकहोस्ट पर काम करने के लिए सेट करने में मदद कर सकता है। मैंने इस समस्या पर बस पूरे सप्ताह बिताया। मैंने छविमैजिक, भूतस्क्रिप्ट, सक्रियपरल डाउनलोड किया है। .., सबकुछ, लेकिन अभी भी काम करने के लिए सरल उदाहरण नहीं बना सकता है।PHP में पीडीएफ में एचटीएमएल कनवर्ट करना?

+2

यह एक तरह से बनाए रखा पुस्तकालय की तरह है .. इसकी आखिरी रिलीज 2006 से है! मैं एक नए और सक्रिय पर विचार करेंगे- एक। – ncuesta

+0

यदि आप लाइब्रेरी के साथ जारी नहीं रखना चाहते हैं, तो आप वर्तमान में उपयोग कर रहे हैं, तो आप यहां एक अच्छी सूची पा सकते हैं: http://stackoverflow.com/q/3178448/264628। ऐसा लगता है कि आप wkhtmltopdf को आजमा रहे हैं, लेकिन वहां पर कई शुद्ध PHP समाधान भी हैं। – BrianS

उत्तर

10

सिस्टम कॉल के माध्यम से wkhtmltopdf का उपयोग करें। स्थापना सहायता के लिए How to install wkhtmltopdf on a linux based (shared hosting) web server देखें।

wkhtmltopdf एक कमांड लाइन कार्यक्रम जो एक यूआरएल, एक स्थानीय html फ़ाइल या stdin से एक PDF बनाने के लिए परमिट है। यह वेबकिट इंजन के साथ प्रस्तुत एक पीडीएफ उत्पन्न करता है।

यह पेज here से नमूना देखें।

php Ubuntu पर परीक्षण किया कोड (यदि आप Windows पर एक अस्थायी निर्देशिका के लिए /tmp/ को बदलना होगा):

$url = 'http://www.google.com'; 
$pdffile = tempnam('/tmp/', 'wkhtmltopdf_'); 
$handle = popen("wkhtmltopdf $url $pdffile 2>&1", "r"); 
while (!feof($handle)) 
    fread($handle, 4096); 
pclose($handle); 
header('Content-type: application/pdf'); 
$file = fopen($pdffile, "r"); 
while(!feof($file)) 
    print fread($file, 4096); 
unlink($pdffile); 

वहाँ भी php bindings जो अपने आप को कहते हैं, जो एक प्रणाली का उपयोग करने की आवश्यकता को हटा रहे हैं एक सरल (और सुरक्षित!) विकल्प।

try { 
    $wkhtmltopdf = new Core_Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/')); 
    $wkhtmltopdf->setTitle("Title"); 
    $wkhtmltopdf->setHtml("Content"); 
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "file.pdf"); 
} catch (Exception $e) { 
    echo $e->getMessage(); 
} 
+0

ओह, एक और PHP पीडीएफ लाइब्रेरी: ((लेकिन मुझे पीडीएफ में एचटीएमएल पेजों को निर्यात करने के लिए सिस्टम बनाने की जरूरत है, उपयोगकर्ता वेबसाइट पर लिंक पर क्लिक करने के लिए, और पीडीएफ फाइल जेनरेट की गई है? – user147

+0

वहां एकल कोट्स से सावधान रहें। अगर आप वैरिएबल प्रतिस्थापन चाहते हैं, उन्हें डबल कोट्स होना होगा। – ncuesta

+0

ठीक है, अच्छा लगता है, यह बहुत अच्छा लगता है, क्या मैं अपनी वेबसाइट पर इस लाइब्रेरी का उपयोग कर सकता हूं, मैं php गुरु नहीं हूं, मैं बस कुछ सामान सीख रहा हूं – user147

3

सरल लेकिन शक्तिशाली: http://html2pdf.fr/en/default

$html = file_get_contents("valid.html"); 
require_once("html2pdf.class.php"); 
$html2pdf = new HTML2PDF("P", "A4", "en", array(10, 10, 10, 10)); 
$html2pdf->setEncoding("ISO-8859-1"); 
$html2pdf->WriteHTML($html); 
$html2pdf->Output("pdf/PDF.pdf", "F"); //output to file 
$html2pdf->Output(); //output to browser 
+0

यह बहुत अच्छा लग रहा है, क्या स्थानीयहोस्ट पर स्थापित करना आसान है? फिर बाद में सर्वर पर? – user147

+0

हाँ बस इसे रूट फ़ोल्डर में निकालें और आप सभी सेट हैं। –

+0

कूल, मैं इस पर एक नज़र डालूंगा, टीएनएक्स दोस्त :) – user147

0

इसके अलावा, वहाँ एक और पुस्तकालय है कि पीडीएफ फाइलों को उत्पन्न करता है: TCPDF। अच्छा और काफी सरल। आप आसपास के कई उदाहरण पा सकते हैं।

1

DocRaptor.com एक अच्छा विकल्प है - यह प्रिंस एक्सएमएल का उपयोग करता है, इसलिए गुणवत्ता अन्य उपकरणों की तुलना में बेहतर है, और यह एक वेब ऐप है, इसलिए डाउनलोड करने के लिए कुछ भी नहीं है। यह किसी भी भाषा में भी काम करता है।

संबंधित मुद्दे