:::

以IE Tester使用Timemark to SSA程式

布丁布丁吃布丁

以IE Tester使用Timemark to SSA程式

image

我在輔大動漫社時為了動畫OPED放映會所製作了卡啦OK歌詞式SSA字幕檔案產生機Timeamark to SSA (簡稱TTS)。TTS能夠以網頁中內嵌的Windows Media Player來播放影片檔案,一邊為影片檔案加上時間標籤(那時候我稱之為「Timemark」)。以具有時間標籤的歌詞為基礎,TTS可以從中產生出類似卡啦OK歌詞字幕的字幕檔案。除此之外,還可為歌詞加上拼音註解、調整歌詞的顯示格式、以及歌詞顯示與淡入淡出的時間。

  • Timemark to SSA 下載:miroko空間SkyDrive空間
    ※ 請下載到您的電腦,並用瀏覽器開啟電腦中的TTS網頁運作。

然而當時我程式的能力不足,TTS不能在IE6以外的瀏覽器正常運作。而且現在微軟已經逐漸想要把IE6逐出市場,所以以後可能都得依賴像IE Tester之類的Internet Explorer模擬器,才能用IE6的狀態執行TTS。

TTS計算時間標籤的方式實在是太過複雜了,難以去改版。當時的我投入這麼多心力撰寫的這支TTS,到現在我還是覺得很厲害。

(more...)

測試一下Pixelpipe!

布丁布丁吃布丁

1 Comments

測試一下Pixelpipe!

(more...)

今天也是好天氣

布丁布丁吃布丁

0 Comments

今天也是好天氣

颱風呢?外環氣流呢?
手機e-mail發Blog測試中!
(more...)

潛入施工中總圖!

布丁布丁吃布丁

1 Comments

潛入施工中總圖!


由於政大總圖二樓以上整修中,9/13之前都得採預約申請方式借書。日前我申請了四本書跟光碟,圖書館跟我說光碟不用申請即可借用,到了總圖又碰上l學姐,她說我界這麼多本,不如自身安全切結書簽一簽自己上去找書吧。上樓之後看到的就如照片所示,到處都是修整樣貌。書櫃用塑膠套蓋了起來,我得悶在塑膠套裡一本一本找書。雖然才四本、都在同一個書櫃內,但也熱的我滿頭大汗的了。借書時l學姐笑著對我說「我平常就是這樣辛苦。」還真的很累人呢!還是希望總圖修整趕快結束吧。
(more...)

CentOS安裝odf-converter,轉換Office 2007文件為OpenOffice格式

布丁布丁吃布丁

CentOS安裝odf-converter,轉換Office 2007文件為OpenOffice格式

為了讓DSpacemedia filter功能能夠接受Microsoft Office 2007的DOCX、XLSX與PPTX,我們需要借助odf-converter把Office 2007的格式轉換成OpenOffice相對應的ODT、ODS、ODP格式,才能作接下來的處理。

image

上圖右邊是原始的Microsoft Office 2007的PPTX格式投影片,左邊則是利用odf-converter轉換成OpenOffce的ODP格式投影片,儘管在字型、版面上有點差異,但還是可以接受的程度。


安裝

安裝的步驟很簡單,只要下載以下檔案並以rpm安裝即可

你可以用以下指令下載並安裝:

[root@dspace ~] wget http://katana.oooninja.com/f/software/odf-converter-integrator-0.2.3-1.i386.rpm
[root@dspace ~] rpm -ivh odf-converter-integrator-0.2.3-1.i386.rpm

使用

使用範例如下:(/f表示強制覆蓋,/i後面接輸入檔名,詳細用法請直接執行OdfConverter)

[root@dspace ~] OdfConverter /f /i input.docx

這樣預設會輸出一個檔名為「input.odt」的OpenOffice檔案,這樣就轉換完成囉。


這次不偷懶,用Zotero好好地作參考資料的書目。使用此篇時也別忘了感謝以下參考資料來源喔!

參考資料:

Convert OpenXML (.docx, etc.) in Linux using command line - OpenOffice.org Ninja. (n.d.). . Retrieved August 9, 2009, from http://www.oooninja.com/2008/01/convert-openxml-docx-etc-in-linux-using.html.

odf-converter-integrator:download [OpenOffice.org Ninja]. (n.d.). . Retrieved August 9, 2009, from http://katana.oooninja.com/w/odf-converter-integrator/download.

小傑的部落格 - Jay's Blog: OpenDocument Format 與 Office Open XML 互轉. (n.d.). . Retrieved August 9, 2009, from http://jay-notebook.blogspot.com/2009/01/opendocument-format-office-open-xml.html.

(more...)

用Xvfb讓OpenOffice開機時自動啟動

布丁布丁吃布丁

用Xvfb讓OpenOffice開機時自動啟動

使用DSpacemedia filter功能時,需要把各種文件檔轉換成PDF文件,這個功能可以藉由OpenOffice來完成。但是OpenOffice必須在圖形介面(也就是Xwindow)中才能開啟,在無法自動啟動的情況下,實在是不太方便。在網路上搜尋各種方法之後,終於找到方法了。

大致上作法如下:利用Xvfb來製作出虛擬的圖形顯示畫面,然後讓OpenOffice在這虛擬的介面開啟,就可以正常啟動OpenOffice並提供轉檔功能了。


我的作業系統是CentOS 5 Final,以下開始介紹安裝方法。

一、安裝Xvfb

可以利用yum來安裝Xvfb:(注意大小寫要正確喔)

[root@ ~] yum install Xvfb 

二、安裝OpenOffice

在安裝CentOS的時候我已經把OpenOffice安裝。如果你沒有安裝,那麼也可以利用yum來安裝OpenOffice:

[root@ ~] yum install openoffice.org-*

注意找尋一下你OpenOffice的安裝路徑,我們需要呼叫他的執行程式「soffice.bin」。你可以利用locate指令來搜尋soffice.bin看是放在哪裡路徑底下:

[root@ ~] locate /soffice.bin

CentOS預設安裝是擺在「/usr/lib/openoffice.org/program/soffice.bin」當中,記住這個路徑,在底下設定時會使用到喔!

三、設定啟動時開啟OpenOffice文件轉換服務

請建立「/etc/init.d/openoffice」,並設定執行權限為755。/etc/init.d/openoffice的檔案內容如下:

#!/bin/bash

case "$1" in
start)
     DISPLAY=:5.0
     export DISPLAY
     Xvfb :5 -screen scrn 1024x768x24 &
     /opt/openoffice.org3/program/soffice.bin "-accept=socket,host=127.0.0.1,port=8100;urp;StarOffice.ServiceManager -nofirststartwizard -nologo -headless -display:5" &
       ;;
stop)
       pkill soffice &
       pkill Xvfb &
       exit 1 &
       ;;
*)
       echo "Usage: $0 { start | stop }"
       exit 1
       ;;
esac
exit 0

注意到上面的「/usr/lib/openoffice.org/program/soffice.bin」的路徑,請改成你系統安裝OpenOffice的路徑喔!


結果還是花了一整個下午在弄這個。不管怎麼說能用好就好啦……

 

參考資料:

(more...)

DSpace加強Browse功能的BrowseUtil

布丁布丁吃布丁

DSpace加強Browse功能的BrowseUtil

image

DSpace具備強大的Browse功能,可是唯獨換頁的功能卻只有薄弱的「next」(下一頁)跟「prev」(上一頁)。因此我寫了一支BrowseUtil來提供這方面的功能,也把[dspace-jspui-webapp]/browse/中full.jsp、single.jsp能作到的功能也加了進去,提供程式設計師在修改Browse功能時能夠有靈活的彈性。


安裝BrowseUtil

請下載以下檔案,並放置指定的位置:

  • BrowseUtil.java (SkyDriveMiroko)
    [dspace-source]/dspace-jspui/src/main/java/org/dspace/app/webui/util/BrowseUtil.java
  • BrowseInfo.java (SkyDriveMiroko)
    [dspace-source]/dspace-jspui/src/main/java/org/dspace/browse/BrowseInfo.java
  • full.jsp (SkyDriveMiroko)
    single.jsp (SkyDriveMiroko)
    [dspace-source]/dspace/modules/jspui/src/main/webapp/browse/full.jsp
    [dspace-source]/dspace/modules/jspui/src/main/webapp/browse/single.jsp

然後請重新編譯DSpace,作mvn package跟ant update的動作。

使用BrowseUtil

引用與建立BrowseUtil物件

在JSP檔案裡面,請輸入以下語法以引用BrowseUtil:

<%@ page import="org.dspace.app.webui.util.BrowseUtil" %>

BrowseUtil物件建立需要輸入兩個參數,個別是HttpServletRequest跟BrowseInfo(這是DSpace的Browse物件),建立範例如下;

<%
BrowseInfo bi = (BrowseInfo) request.getAttribute("browse.info"); //先取得BrowseInfo物件
BrowseUtil bu = new BrowseUtil(request, bi); //建立BrowseUtil
%>

然後我們就可以以這個bu物件來取得連結了。

取得換頁連結
<%
String next = bu.getNextLink(); //下一頁
String last = bu.getLastLink(); //最後一頁
String prev = bu.getPrevLink(); //前一頁
String first = bu.getFirstLink(); //第一頁
%>

取得頁碼

以下語法會取得每一頁頁碼與連結,但是會排除自己的頁碼:

<%= bu.getPagesList() %>

結果如下:

<<first < previous 1 2 3 4 5 6 next > last >>

以下語法會取得該頁前後2頁之內的頁碼:

<%= bu.getPagesLink(2) %>

結果如下:

<<first < previous ... 2 3 4 5 6 ... next > last >>


其他BrowseInfo其實還有小功能,如果有需要的話就請自行看看程式碼囉。寫小功能還是非常讓人愉快的,大家加油!

(more...)