<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tcpdf &#8211; 備忘程式碼</title>
	<atom:link href="https://www.weblink.idv.tw/tag/tcpdf/feed" rel="self" type="application/rss+xml" />
	<link>https://www.weblink.idv.tw</link>
	<description>Javascript, PHP, HTML5 &#38; CSS3 coding memos</description>
	<lastBuildDate>Tue, 26 Mar 2024 03:17:50 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>TCPDF使用中英文字型不亂碼、不缺字</title>
		<link>https://www.weblink.idv.tw/2017/10</link>
					<comments>https://www.weblink.idv.tw/2017/10#comments</comments>
		
		<dc:creator><![CDATA[Steven LIU]]></dc:creator>
		<pubDate>Fri, 07 Jul 2017 08:38:45 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tcpdf]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[亂碼]]></category>
		<category><![CDATA[字型]]></category>
		<category><![CDATA[英文]]></category>
		<guid isPermaLink="false">http://www.weblink.idv.tw/?p=10</guid>

					<description><![CDATA[之前製作公司報價系統時，遇到了要把報價單匯出的需求，而通常我們寄給客戶的報價單都是.pdf的格式，因此解決方案 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>之前製作公司報價系統時，遇到了要把報價單匯出的需求，而通常我們寄給客戶的報價單都是.pdf的格式，因此解決方案自然就朝輸出.pdf的方向找。</p>



<span id="more-10"></span>



<p> <br>google &#8220;php pdf&#8221;，很快就能找到「TCPDF」這個class。 </p>



<p>TCPDF的使用方式非常簡單，只要新增一張負責輸出的.php頁面，並require進去即可。例如：<br> </p>



<pre class="wp-block-code"><code>&lt;?php 
require_once('tcpdf.php'); 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
?&gt;</code></pre>



<p>這樣檔案裡就能以$pdf-&gt;blablabla去設定輸出內容與格式了。</p>



<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9940075534877533"
     crossorigin="anonymous"></script>
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-9940075534877533"
     data-ad-slot="4891658629"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
<br>



<p>BUT!人生永遠有個BUT，那就是TCPDF的預設中文字體是msungstdlight，非常醜，醜到我沒有臉用這個字體產生的報價單寄給客戶。於是就得找其他字體來用：TCPDF內建的日文漢字cid0jp很不錯，但太多中文字會缺字，沒辦法用；網路上有很多人教說用android的預設字體DroidSansFallback可行，我也去下載了這個字體來用，但竟然發生了中英文一起出現時，英文（或阿拉伯數字）變亂碼的詭異狀況。爬文爬了很久，直到找到<a href="https://blog.tiger-workshop.com/android-tcpdf-missing-chinese-english-fonts/" target="_blank" rel="noopener noreferrer">這篇</a>才知道問題出在哪裡：原來是字體檔內建字型不全造成的阿！改成這個<a href="https://github.com/android/platform_frameworks_base/blob/de0fe2daafb769cc37ca922ffef6dbafb8c6cae2/data/fonts/DroidSansFallback.ttf" target="_blank" rel="noopener noreferrer">版本</a>就中英文都ok啦！</p>



<p>完整處理方式如下：<br> <b>1. 下載中英文字型都完整的<a href="https://github.com/android/platform_frameworks_base/blob/de0fe2daafb769cc37ca922ffef6dbafb8c6cae2/data/fonts/DroidSansFallback.ttf" target="_blank" rel="noopener noreferrer">DroidSansFallback</a>，放在TCPDF資料夾中的fonts資料夾</b><br> <b>2. 隨便做一張.php放在同一個fonts資料夾內，利用下列程式碼將DroidSansFallback.ttf轉成TCPDF可以用的TrueTypeUnicode字型：</b></p>



<pre class="wp-block-code"><code>&lt;?php 
require_once('tcpdf.php'); 
$font = TCPDF_FONTS::addTTFfont('DroidSansFallback.ttf'); 
?&gt;</code></pre>



<p><b>3. 用網頁開啟這個.php檔開始轉檔，轉好之後會在fonts裡面產生三個檔案：droidsansfallback.php、droidsansfallback.ctg.z、droidsansfallback.z<br>
這樣就能用DroidSansFallback字體輸出中英文阿拉伯數字都正常的.pdf檔了！</b><br>
</p>



<pre class="wp-block-code"><code>$pdf-&gt;SetFont('DroidSansFallback', '', 12, '', true);</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://www.weblink.idv.tw/2017/10/feed</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
			</item>
	</channel>
</rss>
