顯示具有 Free 標籤的文章。 顯示所有文章
顯示具有 Free 標籤的文章。 顯示所有文章

2010年6月11日 星期五

Free C/C++ library - Haru Free PDF Library

  免費 PDF Library - Haru  

  這次要介紹的是一個可以在 C++Builder 上使用的 PDF library - Haru Free PDF Library。選擇它的主要原因是它不但 Free、開放原始碼,而且可以在我所熟悉的 C++Builder 上使用。除此之外,也提供各式各樣的 sample code ,且附上每份 sample code 所產生出來的 PDF demo 檔案,讓人在使用它之前就先有了不少安全感。

Haru 的特色:
  1. 免費、跨平台且開放原始碼。
  2. 提供許多有用的說明、連結、範例程式及其結果。
  3. 以 ANSI C 編寫而成的,理論上可支援現代大多數的作業系統。
  4. 你可以使用它來增加 PDF 的特色而不必了解其內部繁雜的結構。

支援的功能:

  1. 可以在 PDF 文件上畫 lines, rectangles, circles, text, images (JPEG, PNG, RAW)
  2. 可以產生大綱 (outline)、文字註釋、連結註釋及投影片的效果。
  3. 可以嵌入 Type1 和 TrueType 字型。
  4. 可以使用 ISO8859 - 1~16,MSCP1250~1258,KOI8 - R 等字符集 (character sets)
  5. 支援中、日、韓 (CJK ) 字型及編碼。
  6. 可以產生出加密的 PDF 文件…等功能。

  在使用 Haru 之前要先到官網下載 source code 或 library (for MSVC),如果是下載 source code 就要自己編譯成 library。我是下載 libharu-2.1.0.tar.gz, 然後用 C++Builder 2010 編譯成 library,如果直接對 source code 編譯可能無法順利完成,原因有下列幾個:
  *1. include\hpdf_config.h.in 這個檔必需改為 hpdf_config.h。
  2. source code 裡面沒有附 png library 和 z library,如果會用到的話,要自己上網找。
  3. 依 hpdf_config.h 裡面提供的項目,看自己需不需要用到,逐一定義它們,若是不清楚如何定義的話,不妨下載 libharu-2.1.0-vc8.zip 參考 MSVC8 的設定值如何設定。
  *4. 若不使用 png 和 z library 的話,hpdf_config.h 要定義 #undef HAVE_LIBPNG#undef HAVE_LIBZ
  5. 若還是編譯不過的話,照著錯誤訊息 debug 一下,應該可以產生 libhpdf.lib。

  因為我之前有一段時間都在畫數位相機的 OSD (OnScreenDisplay),所以這套 library 用起來還滿順手的,只是 y 座標有時候會畫到反方向 (第一象限座標系)…接著談談利用它產生一份 PDF 檔的流程:

待續………

2010年6月10日 星期四

Free installer - Inno Setup

  免費安裝軟體 Inno Setup  

  因為工作上的需求,我得找個安裝程式提供客戶安裝 QuickTime 及一個執行檔(.exe),而這個安裝程式最好是易學、功能良好並且是免費的。後來找著找著,在網路上找到了二個免費安裝軟體,一個是 Inno Setup,另一個是 Nullsoft Scriptable Install System (簡稱 NSIS),這二套看起來似乎都不錯,於是就挑了 Inno Setup 來練習...

  這是我第一次使用 Inno Setup,邊看說明,邊找資訊,後來又加裝一個推薦新手使用的 IS Tool,用著用著,還真的做出了想要的安裝流程。其實我的安裝流程也很單純,就是幫客戶安裝 QuickTime 及一個執行檔 (必需已安裝 QuickTime 才能執行的)。安裝過程就是把這二個檔案複製到客戶的電腦裡,然後執行 QuickTimeInstaller.exe 讓客戶自行決定是否安裝該 QuickTime 版本 (不論客戶是否安裝 QuickTime),最後結束整個安裝流程。

  以上是大致上的安裝流程,待確認完所有的細部安裝流程並且成功實現後,再將用到的功能以 Sample Code 的方式與大家分享。