2012年8月29日 星期三

How can XDocReport (to PDF) supply the Chinese character

延續上一篇 XDocReport API 將 Word 套表轉換成 Word 或 PDF的說明,這裡將著重在轉 PDF  時中文的呈現,官網有針對此議題的討論 Issue 81:how can xdocreport supply the Chinese character.,但截至目前沒獲得解決,文章會針對 API 的修改及修改後的測試做說明,但不建議採用此修改建置系統,因時間有限修改是用 hard code 的方式沒有完整的 Interface,要採用還是以官網的版本為主。

官網有提供說明 XWPFDocument 2 PDF 時,採用 OS 的字型及編碼,但中文還是無法顯示。Sample 還是採用上一篇的 DocxProjectWithVelocity2PDF.java 執行步驟將不再重覆。此文章的標題是直接把 Issue 81 的標題拿來用。


2012年8月26日 星期日

MS Word Converter to Word/PDF by XDocReport API Getting Started

說明如何使用 XDocReport API 將 Word 套表轉換成 Word 或 PDF,看完首頁的說明及操作線上Demo可大致了解 API 的功能,測試的過程中 Word -> Word 後套表格式及中文目前的測試都正常,但Word -> PDF 英文沒問題、格式有些不正確而中文無法顯示,修改 API 後中文可獲得部份解決,格式的部份沒有細究還是有問題,後續會再詳細說明。


Microsoft Office

DocumentTemplateConverter
DocxFreemarkerdocxandfreemarker-0.9.8-sample.zip
DocxVelocitydocxandvelocity-0.9.8-sample.zip
DocxVelocityPDF/XHTMLdocxandvelocity.converters-0.9.8-sample.zip
PPTXVelocitypptxandvelocity-0.9.8-sample.zip

Open/Libre Office

ODPVelocityodpandvelocity-0.9.8-sample.zip
ODTVelocityodtandvelocity-0.9.8-sample.zip
ODTVelocityPDF/XHTMLodtandvelocity.converters-0.9.8-sample.zip


從上表可以看到不單單處理Word,套表還可接受PPTX、ODP、ODT的格式。


Handle各個格式的套件如下:

  • Microsoft Word - Apache POI - HWPF
  • XHTML - Apache POI - XWPF
  • PDF - Lowagie iText
  • Template Replace - Apache Velocity、FreeMarker
以上資料都可從XDocReport官網中查詢取得。



2012年3月15日 星期四

Implement the RESTful CAS API

說明Jasig CAS如何實作RESTful CAS API,讓Application可透過程式向CAS Server取得認證,但這部份的認證不具備Single Sign On的功能,只是單純的帳號/密碼認證。

準備執行環境

除了Maven外其他為測試時會用到的環境
  • JDK (Java Development Kit) version 1.6+
  • Apache Maven 2.2.1+
  • Apache Tomcat 6+
  • JA-SIG CAS 3.4.2.1+

下載CAS integration RESTful Library
  • cas-server-integration-restlet-3.4.3.jar可在cas-server-3.4.3-release.zip解壓縮後的路徑cas-server-3.4.3\cas-server-integration-restlet下由maven build(mvn clean package -Dmaven.test.skip=true)取得,另外此路徑cas-server-3.4.3\modules下也可取得這個檔案,此測試由maven build取得。

下載RESTful API 相關 Library,以下jar可由maven.restlet.org取得
  • com.noelios.restlet.ext.servlet-1.1.10.jar
  • com.noelios.restlet.ext.spring-1.1.10.jar
  • com.noelios.restlet-1.1.10.jar
  • org.restlet.ext.spring-1.1.10.jar
  • org.restlet-1.1.10.jar

取得Code Generation Library,可能版本有衝突直接download的無法使用
  • net.sf.cglib.jar可在Restlet Framework下載restlet-jse-2.0.10.zip後解壓縮可在此restlet-jse-2.0.10\lib\net.sf.cglib_2.2路徑取得

將上述取得的.jar檔放到Tomcat6\webapps\cas\WEB-INF\lib,.jar檔有試圖使用其他版本但目前測試結果就這些版本可配置成功。


2012年3月13日 星期二

JA-SIG CAS for multi-tenant LDAP

說明Jasig CAS使用多個BaseDN或是不同的organizationalUnit,CAS Server的相關設定請參考其他文章,這裡只著重在Jasig CAS跟LDAP的配置。

準備執行環境

以下為測試時會用到的環境,但針對測試步驟不會一一說明
  • JDK (Java Development Kit) version 1.6+
  • OpenDS-2.2.1
  • Apache Tomcat 6+
  • JA-SIG CAS 3.4.2.1+

2012年2月10日 星期五

Google Mail Contacts Retrieve by Java

說明如何透過 Google Data API 取得 Gmail 的通訊錄,因需求只在通訊錄所以將重點放在通訊錄,以API的規格看來可以操作Gmail的空間應該是不少。


準備執行環境

官網文件上說明需準備以下環境及.jar檔,Servlet只有二個sample會用到,Ant是為 build samples 做準備
  • JDK (Java Development Kit) version 1.5+
  • Apache Ant version 1.7+
  • mail.jar in Sun's JavaMail API 1.4+
  • activation.jar in Sun's JavaBeansActivationFramework. This is only required for media specific APIs including Document List Data API, Picasa Web Album API, and YouTube Data API.
  • servlet.jar in Sun's Servlet API version 2.3+. This is required only if executing code samples in 'sample.authsub' or 'sample.gbase.recipe' packages.

下載Google Data Client Library
  • 下載Google Data Client Library的client library (gdata-src.java-1.x.x.java.zip) 和 samples file (gdata-samples.java-1.x.x.java.zip),下載的版本為1.45.0,將二個zip file解壓縮。