iT邦幫忙

0

tcpdf 遮住網頁最下方跟PHPmailer使用中文

  • 分享至 

  • xImage

各位大大好:

主要是產生畫面的同時,直接在server端存一個pdf並寄送到信箱(PHPmailer 程式我沒放上來)

只要function fetch_customer_data1()中的程式碼過多就會遮住原來的程式碼的最下面

但是只要把tcpdf程式碼清掉,function fetch_customer_data1()程式碼不改,留著就也會正常

還想請問PHPmailer標題跟內容要怎麼用中文(只有英文不會亂碼)呢?

請問有甚麼方法可以解決呢? 謝謝
https://ithelp.ithome.com.tw/upload/images/20190611/20097057CqLfbbrP3L.png
https://ithelp.ithome.com.tw/upload/images/20190611/20097057C0P3qa4czC.png

<body>
//原程式碼


function fetch_customer_data1(){

//產生pdf的程式碼;

}

<?php
require_once('tcpdf/tcpdf.php');  
      // create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 002');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT-5, PDF_MARGIN_TOP-25, PDF_MARGIN_RIGHT-5);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE,-10);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
/*if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
        require_once(dirname(__FILE__).'/lang/eng.php');
            $pdf->setLanguageArray($l);
}*/

// set font
$pdf->SetFont('msungstdlight', '', 20);

// add a page
$pdf->AddPage();

// set some text to print

$content = '';  
$content .=  fetch_customer_data1() ;
 
// print a block of text using Write()
$pdf->writeHTMLCell(0, 0, '', '', $content, 0, 1, 0, true, '', true);

// ---------------------------------------------------------

//Close and output PDF document
ob_end_clean();
$attachement=$pdf->Output(__DIR__ .'/upload/power2019-'.$VIDStrlast.'.pdf', 'F');
?>



<body>
看更多先前的討論...收起先前的討論...
小魚 iT邦大師 1 級 ‧ 2019-06-11 18:13:24 檢舉
亂碼是不是跟編碼有關?
淺水員 iT邦大師 6 級 ‧ 2019-06-11 18:14:53 檢舉
看不懂問題在問什麼…。我想可以說明您到底希望輸出什麼東西?還有圖片上是 html 畫面還是 pdf 畫面?寄信時 pdf 是否以附件的形式夾在郵件中?
dragonH iT邦超人 5 級 ‧ 2019-06-11 18:42:26 檢舉
phpmailer的問題

google找到的方法有試過了嗎

https://ppt.cc/fQEmVx
mayyola iT邦研究生 2 級 ‧ 2019-06-11 22:35:21 檢舉
淺水員您好
1.我把一個繳費單(ATM.php)分成,網頁版的程式跟列印pdf的程式(透過tcpdf呼叫fetch_customer_data1()副程式),只要導入到ATM.php,網頁會呈現一個繳費單跟繳費單pdf寄給使用者,原本網頁版的程式一個完整的table,但後來加入tcpdf程式碼或是fetch_customer_data1()副程式太長,就會影響到網頁版的程式無法正常顯示,最下面會被截掉..如果刪減一點網頁版的程式,最下面一段會顯示出頁面,或者把tcpdf程式刪掉,也可以讓網頁完整

2.phpmailer好像信件內容跟標題無法用中文@_@,我在翻d大的回答看看
謝謝
淺水員 iT邦大師 6 級 ‧ 2019-06-11 23:36:06 檢舉
fetch_customer_data1 應該是回傳一段 html 字串。我猜可能是你 fetch_customer_data1 程式有錯誤導致程式中斷。不知道錯誤訊息是否有打開?
WQ iT邦新手 2 級 ‧ 2019-06-12 09:26:44 檢舉
1. 在 class.phpmailer.php 裡設成
public $CharSet = 'UTF-8';
2. 在寄信的程式頁面加入這一行
mb_internal_encoding('UTF-8');
這樣寄信出去就不會是亂碼囉!
參考這篇:http://bojack.pixnet.net/blog/post/41402533-%E3%80%90%E7%A8%8B%E5%BC%8F%E3%80%91%E8%A7%A3%E6%B1%BA-phpmailer-%E4%BA%82%E7%A2%BC%E7%9A%84%E5%95%8F%E9%A1%8C
混水摸魚 iT邦研究生 2 級 ‧ 2019-06-12 09:40:03 檢舉
還想請問PHPmailer標題跟內容要怎麼用中文(只有英文不會亂碼)呢?
給你參考 https://www.webteach.tw/?p=1132
mayyola iT邦研究生 2 級 ‧ 2019-06-13 08:44:18 檢舉
謝謝大家
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答