2012-12-04 11 views
5

यह प्रश्न टीसीपीडीएफ पर सदाबहार लगता है ...
मेरे पास एक मुद्दा है जो मुझे पागल कर रहा है।टीसीपीडीएफ लिखने के साथ छवि प्रदर्शित नहीं करता है

मेरे पास एक HTML कोड है जिसे मैं अपने पीडीएफ के लिए "टेम्पलेट" के रूप में उपयोग करता हूं, यहां मेरे पास मेरा कंपनी लोगो है।
सबकुछ लोकहोस्ट (विंडोज) पर ठीक काम करता है, लेकिन जब मैं ऑनलाइन स्थानांतरित करता हूं, तो छवि दिखाई नहीं देती है।
ध्यान दें: मुझे कोई त्रुटि नहीं मिलती है (यानी मेरे पीडीएफ पर छवि त्रुटि प्राप्त करने में असमर्थ) छवि सरल है!
वास्तव में यदि मैं उस स्थिति पर पीडीएफ पर क्लिक करता हूं जहां छवियों को यह माना जाता है, तो मैं इसे चुन सकता हूं, और एडोब "छवि कॉपी करें" विकल्प को सक्षम बनाता है।

स्पष्ट रूप से छवि मौजूद है, यहां है, और अनुमति सही है।
यदि मैं वहां सर्फ करने का प्रयास करता हूं, या जेनरेट किए गए HTML पृष्ठ को देखता हूं, तो सब कुछ ठीक है।

इस PHP कोड है:

$pdf->SetMargins($params->get('pdfMarginLeft', 15), $params->get('pdfMarginTop', 27), $params->get('pdfMarginRight', 15)); 
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 
$pdf->SetFont('helvetica', '', 8); 
$pdf->AddPage(); 

$pdf->writeHTML($html, true, false, true, false, ''); 

$pdf->lastPage(); 

तो यह मेरी HTML कोड (मैं सिर्फ छवि के अलावा सब कुछ छोड़ दिया):

<img alt="logo black" src="../images/logo_black.png" height="60" width="210" /> 

मैं (यूआरएल के रिश्तेदार की कोशिश की है और पूर्ण) और पथ (सापेक्ष और पूर्ण) के साथ, समस्या अभी भी होती है। कोई विचार?

उत्तर

7

बातें स्थानीय स्तर पर काम कर रहे हैं ताकि आप जेपीजी करने के लिए png से छवि प्रकार बदलने का प्रयास करें और उसके अनुसार अपना कोड संशोधित और सर्वर पर जेपीजी अपलोड करने के बाद जाँच कर सकते हैं।

+0

अरे, यह काम करता है! अच्छा, मैं वास्तव में जानना चाहता हूं कि क्या गलत था ... – tampe125

+2

यह एक पारदर्शिता मुद्दा हो सकता है .. मुझे यकीन नहीं है .. [यहां एक समान दिखने वाला पोस्ट है] (http: //www.dolibarr।संगठन/फोरम/527-बग्स-ऑन-ए-स्थिर-संस्करण/1 9 407-टीसीपीडीएफ-त्रुटि), जिसे आप किसी भी व्यक्ति के माध्यम से _tcpdf \ _config.php _ में परिवर्तन का सुझाव दे सकते हैं .. जांचें कि क्या यह आपके _png_ लोगो के लिए काम करता है .. –

+0

वास्तव में मेरे लिए भी काम किया !!! –

16

यह आपकी समस्या नहीं थी, लेकिन यह futurte में इसी तरह के मुद्दे वाले लोगों के लिए एक संभावित समाधान है। सुनिश्चित करें कि HTML विशेषताओं में डबल कोट्स हैं।

$html = "<img src='...' />"; // This will not work 

$html = '<img src="..." />'; // This will work 
+0

आप सही हैं! टीसीपीडीएफ संस्करण 6-2-12 –

+1

अरे, आपने मेरे जीवन आदमी को बचाया !! यह बेवकूफ है, लेकिन यही कारण है कि मेरा Magento pdfcustomer कोड कस्टम विशेषता छवियों को प्रस्तुत नहीं कर रहा था !! इसे ऊपर उठाएं :) – Gogol

+0

ओप्स टाइपो .. मेरा मतलब प्रतिपादन था: पी – Gogol

0

मैं छवि src के लिए एक str_replace लागू किया, और कहा कि अब ठीक काम करता है।

$html = str_replace("../images", $_SERVER["DOCUMENT_ROOT"] . '/images', $html); 
1

मेरे मामले में आईएमजी टैग काम नहीं जब तक मैं पूरा पथ लिखने

दायर करने के लिए

<img src="/pdfrender/XXX.jpg" width="50" height="50"> 

कार्य (स्थानीय होस्ट उदाहरण) काम नहीं कर

<img src="http://site.local/pdfrender/XXX.jpg" width="50" height="50"> 
+0

धन्यवाद, वह था! – xandi

+0

कृपया ध्यान दें कि इस तरह, आपके वेब आंकड़ों में उपयोगकर्ता एजेंट के रूप में 'टीसीपीडीएफ' होगा और यह आपके सर्वर पर यातायात को बढ़ाएगा (आपको इसे दो बार भुगतान करना होगा, पहले सर्वर के स्वयं के अनुरोध + पीडीएफ आउटपुट) जो आप भी ' टी चाहता हूँ – Roland

1

आप छवि में बदल सकते हैं base64 के लिए "jpg/png" टाइप करें। <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...."/> इससे आपकी मदद हो सकती है!

$image = 'images/logo_example.png';  
imagepng(imagecreatefrompng($image),$image); 

तो यह काम किया:

0

मैं करने के लिए 'पुन: सहेज' चित्र थे।

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