星期六, 9月 18, 2010

FPDF

因為手上的專案有需要產生PDF讓使用者印下來
google了一下,選了這個似乎很普遍的pdf lib

因為產出的檔案有一定的格式,原本想說先做出pdf在用php讀進去增加文字
後來發現FPDF似乎沒辦法讀取PDF...

最後把PDF轉成PNG後,再加入文字解決


1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require('chinese.php');
$pdf=new PDF_Chinese();
$pdf->AddPage();
$pdf->Image('template.png', 0, 0, 216, 303);
$pdf->AddBig5Font();
$pdf->SetFont('Big5','B',16);
$pdf->Text(70, 79, '呆子');
$pdf->Output();
?>



另外一個要注意的是
原本的PDF是沒辦法輸出中文的
需要再用一個chinese擴展, 變成 new PDF_Chinese();
而檔案編碼要改成ANSI

詳細請參考此篇文章 http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142
FPDF中文參考手冊 http://twpug.net/docs/fpdf152/

http://twpug.net/docs/fpdf152/
http://blog.teatime.com.tw/1/post/268

warning: Cannot modify header information - headers already sent by ....

http://0e2.net/post/1224.html

星期四, 8月 12, 2010

Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上

因為Microsoft Jet 沒有支援 64 位元的版本的Driver 所以才會發生錯誤

解決辦法:
1. 請點選標準工具中的「方案組態」下拉方塊,然後選擇「組態管理員」。如下圖:
http://img818.imageshack.us/img818/9089/3e56b726a8784cfeada0a1e.png

2. 點選「使用中的方案平台」下拉方塊,然後選擇「新增」,如下圖:
http://img829.imageshack.us/img829/1417/47eecc1abebf4baaaf165b6.png
3. 當出現「新增方案平台」對話方塊時,請在上方的「輸入或選擇新平台」下拉方塊選擇「x64」,然後按確定,再按「關閉」即可。如下圖:
http://img251.imageshack.us/img251/4138/6f30363a9dde47aa855a0f5.png

出自阿彬

星期一, 8月 09, 2010

Flash Scene - 多場景互動

在開發flash 的時候,用多個場景可以讓版面和時間軸保持乾乾淨淨~

可是今天發現不同場景互相呼叫 function 的時候,被呼叫的 function 會跑到呼叫者的場景
而不同場景上的元件是不能互相存取的! (這個部分是經驗而已,有誤請不吝指正:D)

以下舉個例子:

scene1 - function1 { call mc1; call function2; }
              \ mc1

scene2 - function2 { call mc2; }
              \ mc2

依此例來討論,function1 呼叫 function2 的時候, function2 會在 scene1 中被執行
如此一來就會發生錯誤,因為 scene1 中並沒有 mc2


解決辦法:

在 function2 第一行插入 gotoAndStop(1, "scene2");
則會先跳轉到 scene2 後才會執行接下來的程式碼 就不會出現錯誤



另外附上從 ActionScript 3.0 語言和組件參考 中列出場景的範例

for (var i:uint = 0; i < MovieClip(root).scenes.length; i++)
 {
    var scene:Scene = MovieClip(root).scenes[i];
    trace("scene " + scene.name + ": " + scene.numFrames + " frames");
}