April 12, 2014
g0v 是塊大草坪
2019 Update: 隔了好多年,g0v 的組成與社群結構不斷地在變化,所以這篇文章講的東西跟現在很不一樣了。參考 PM5 說的:「這幾次參加 #g0v 黑客松,又開始覺得有些深層的社群結構跟一兩年前不太一樣了。這 6 年多來大概每 1~2 年就會覺得社群有些重大的深層運作機制變化」
「沒有人可以代表 g0v」「g0v 是一個社群」,初次接觸 g0v 的人經常聽見這兩句話,也經常摸不著頭緒。
就我一位偶爾送點 patch,參加黑客松吃東西的阿宅工程師,也來說說我的想像,看看能否用譬喻的方式,提供一個理解的路徑。
在我的想像裡,g0v 是一塊大草坪,是一塊沒有圍牆的大草坪。草坪上插著一塊告示牌寫著 g0v 的宣言。因為草坪沒有圍牆,任何一位認同理念的人都可以隨時走進來,也可以隨時走出去。
虛擬世界的草坪是無限寬廣,任何人也可以另外找一塊草坪,寫上自己認同的宣言,邀請朋友進去同樂。
這塊草坪上的人是怎麼活動的呢?他們就像日本人賞櫻那樣,拉開席墊大家就各自坐下開始聊天,各自有其小群體。群體之間可能相互有交集,也可能沒有。對應到現實情況,就是不同的專案會吸引到不同的參與者。
有些人會抱怨:「怎麼沒有人理我」。試想,當你走進這塊大草地,大家在原本的席墊上聊得很開心,有多少人會注意到你呢?
當然,你如果帥到掉渣、美得冒泡,現實生活就是個響叮噹的人物,走進草地大家一定會圍著你多聊兩句。
在 g0v 你可以隨時開一個專案,拉開一個席墊。至於會不會有人進來坐,其實是要靠你自己爭取。不少人喜歡獨自坐著,準備自己的佳餚,默默地一句話都沒說,只是把蓋子掀開,香味就吸引了大批鄉民。
在這塊草地上,沒有人可以號令任何人,無趣的事情就算拿著大聲公拼命重複喊也無濟於事。
這是一塊大草坪,人們來來去去,你可以找到一些待得久的熟面孔,聽他們講述歷史,但是你找不到草坪上所有人的代表 (光是「草坪上的人數」都難以定義,人群是流動的)。
當你對著草坪上的人大喊:「負責人是誰?我有話想說」你只會發現大家疑惑的看著你,臉上寫著「你在說啥啊?」
這塊草坪上的人,樂於動手解決問題,支持言論自由,相信公開透明的力量。不只是寫程式,其他的藝術、文學、音樂、電影.....只要願意用開源的模式鼓勵大家參與,都可以進到草坪上一起同樂。
這是我對 g0v 的想像,一塊歡樂的大草坪。
延伸閱讀:開幹開團到開源:前往 g0v 的奇幻旅程
「沒有人可以代表 g0v」「g0v 是一個社群」,初次接觸 g0v 的人經常聽見這兩句話,也經常摸不著頭緒。
就我一位偶爾送點 patch,參加黑客松吃東西的阿宅工程師,也來說說我的想像,看看能否用譬喻的方式,提供一個理解的路徑。
![]() |
| g0v 就像一塊大草坪,聚集著好幾群的人 |
在我的想像裡,g0v 是一塊大草坪,是一塊沒有圍牆的大草坪。草坪上插著一塊告示牌寫著 g0v 的宣言。因為草坪沒有圍牆,任何一位認同理念的人都可以隨時走進來,也可以隨時走出去。
虛擬世界的草坪是無限寬廣,任何人也可以另外找一塊草坪,寫上自己認同的宣言,邀請朋友進去同樂。
這塊草坪上的人是怎麼活動的呢?他們就像日本人賞櫻那樣,拉開席墊大家就各自坐下開始聊天,各自有其小群體。群體之間可能相互有交集,也可能沒有。對應到現實情況,就是不同的專案會吸引到不同的參與者。
有些人會抱怨:「怎麼沒有人理我」。試想,當你走進這塊大草地,大家在原本的席墊上聊得很開心,有多少人會注意到你呢?
當然,你如果帥到掉渣、美得冒泡,現實生活就是個響叮噹的人物,走進草地大家一定會圍著你多聊兩句。
在 g0v 你可以隨時開一個專案,拉開一個席墊。至於會不會有人進來坐,其實是要靠你自己爭取。不少人喜歡獨自坐著,準備自己的佳餚,默默地一句話都沒說,只是把蓋子掀開,香味就吸引了大批鄉民。
在這塊草地上,沒有人可以號令任何人,無趣的事情就算拿著大聲公拼命重複喊也無濟於事。
這是一塊大草坪,人們來來去去,你可以找到一些待得久的熟面孔,聽他們講述歷史,但是你找不到草坪上所有人的代表 (光是「草坪上的人數」都難以定義,人群是流動的)。
當你對著草坪上的人大喊:「負責人是誰?我有話想說」你只會發現大家疑惑的看著你,臉上寫著「你在說啥啊?」
這塊草坪上的人,樂於動手解決問題,支持言論自由,相信公開透明的力量。不只是寫程式,其他的藝術、文學、音樂、電影.....只要願意用開源的模式鼓勵大家參與,都可以進到草坪上一起同樂。
這是我對 g0v 的想像,一塊歡樂的大草坪。
延伸閱讀:開幹開團到開源:前往 g0v 的奇幻旅程
March 5, 2014
Awesome WM vocabulary widget
換到 awesome wm 之後,上方的 bar 其實有很多空間。因為自己的記性不好,乾脆寫個小 widget,大約 60 秒就 show 一個單字,不然每次五十音我都會一直忘記
抄抄寫寫一堆很醜的 lua code 的結果如下,他會讀取 .vocabulary 這個檔案,每 60 秒亂數取其中一行顯示
檔案更新怎麼辦?重開一下 awesome 就好囉!
抄抄寫寫一堆很醜的 lua code 的結果如下,他會讀取 .vocabulary 這個檔案,每 60 秒亂數取其中一行顯示
檔案更新怎麼辦?重開一下 awesome 就好囉!
vocabulary_widget = widget({ type = "textbox" })
function vocabularyUpdate(lines)
vocabulary_widget.text = lines[math.random(0, #lines)]
end
function readFile(filename)
local arr = {}
local i = 0
local file=io.open(filename, "r")
if not file then return "empty" end
for line in file:lines() do
arr[i] = line
i = i + 1
end
return arr
end
local file = "/home/walkingice/.vocabulary"
local period = 60
math.randomseed(os.time())
content = readFile(file)
vocabulary_timer = timer({timeout = period})
vocabulary_timer:add_signal("timeout", function() vocabularyUpdate(content) end)
vocabulary_timer:start()
March 1, 2014
三十而立
某次飯局之後,回家的路上有幸搭乘長輩的順風車一路南下,一個小時的車程蒙長輩不嫌棄,天南地北談了不少話題。長輩有相當豐富的閱歷,甚至在國會裡面也有豐富的工作經歷,於是我談到了 g0v 的事情,不同於其他話題,長輩直接而簡短地說:「認真工作好好取得一個成就,這樣子別人才會尊敬你。年輕人啊,不要太多的理想性」
又有一次,跟一位相當要好的老同學在聊天。他對參與政治相當有熱誠,勤跑社團結交朋友,從學生時代到現在苦心經營超過十年。 聊到選舉,他說「不管談什麼理想,反正選輸了就是失敗,選輸了就是什麼都沒有」
我說,我打從心底同意他們說的話,甚至,我彷彿能聽見他們這麼說話,心中經過多少焠鍊。
人生有幸,認識了相當熱血的朋友,他勇於放下手中擁有的東西,只為了追逐自己的夢想。也有幸認識智識卓越,思慮清晰的朋友,他教了我如何分辨利弊得失,如何梳理出社會眾多現象背後的脈絡。我認真地傾聽了各種價值觀,也在心中有過無數次的衝擊。
最近則是一直在思索,為什麼要如此不理性地選擇理想化的路走?
我在 g0v 最關心的專案是推動國會透明化,但是我老實地向自己分析,我能夠促成的改變實在微薄。但我卻很矛盾地相信我做的事情非常有價值。我是說,對照前面兩段的經驗,我既同意他們說的事情,卻又反其道而行並且深刻認同,這太奇怪了。
忍不住想到「在資訊科技創業」這件事情。聽過有長輩的提問:「這些投入科技業創業的年輕人,十個有一個成功嗎?」『可能一百個都不見得有一個』「那為什麼還要做這個?」
真的,反正都是當老闆,投入其他產業甚至開店,讓自己致富的機率都比待在科技業高出許多。
我一直在想「為什麼」,為什麼我會如此熱衷地將自己的精力以不理性的方式消耗
自己最近給自己的答案,則是分成對內與對外兩個面向。
對內,則是尋求自我的實現。 而自我實現無法以職業、收入來滿足。當然並不是說我不喜歡錢,或不希望給家人好的生活。而是在維持家庭正常的生活水平前提下,追求我認同的價值,在這個過程之中我才能感受到自己的生命被充實。
對外,一個微小改進的價值,以一年、十年甚至百年的幅度來看,可能會有不同的結論。世上的英雄少之又少,多數的人是在時間的長河中互相推擠著緩緩向前。我知道個人無力指揮流向,但我也知道流向的改變總是各種作用力加成的結果。
對內的因素我無法超越,對外的因素又是我的信仰,加總起來就是我現在的選擇。我想這就是我如此快樂的原因。
當然這是我這個階段的想法,祝福我自己在四十的時候已然不惑
又有一次,跟一位相當要好的老同學在聊天。他對參與政治相當有熱誠,勤跑社團結交朋友,從學生時代到現在苦心經營超過十年。 聊到選舉,他說「不管談什麼理想,反正選輸了就是失敗,選輸了就是什麼都沒有」
我說,我打從心底同意他們說的話,甚至,我彷彿能聽見他們這麼說話,心中經過多少焠鍊。
人生有幸,認識了相當熱血的朋友,他勇於放下手中擁有的東西,只為了追逐自己的夢想。也有幸認識智識卓越,思慮清晰的朋友,他教了我如何分辨利弊得失,如何梳理出社會眾多現象背後的脈絡。我認真地傾聽了各種價值觀,也在心中有過無數次的衝擊。
最近則是一直在思索,為什麼要如此不理性地選擇理想化的路走?
我在 g0v 最關心的專案是推動國會透明化,但是我老實地向自己分析,我能夠促成的改變實在微薄。但我卻很矛盾地相信我做的事情非常有價值。我是說,對照前面兩段的經驗,我既同意他們說的事情,卻又反其道而行並且深刻認同,這太奇怪了。
忍不住想到「在資訊科技創業」這件事情。聽過有長輩的提問:「這些投入科技業創業的年輕人,十個有一個成功嗎?」『可能一百個都不見得有一個』「那為什麼還要做這個?」
真的,反正都是當老闆,投入其他產業甚至開店,讓自己致富的機率都比待在科技業高出許多。
我一直在想「為什麼」,為什麼我會如此熱衷地將自己的精力以不理性的方式消耗
自己最近給自己的答案,則是分成對內與對外兩個面向。
對內,則是尋求自我的實現。 而自我實現無法以職業、收入來滿足。當然並不是說我不喜歡錢,或不希望給家人好的生活。而是在維持家庭正常的生活水平前提下,追求我認同的價值,在這個過程之中我才能感受到自己的生命被充實。
對外,一個微小改進的價值,以一年、十年甚至百年的幅度來看,可能會有不同的結論。世上的英雄少之又少,多數的人是在時間的長河中互相推擠著緩緩向前。我知道個人無力指揮流向,但我也知道流向的改變總是各種作用力加成的結果。
對內的因素我無法超越,對外的因素又是我的信仰,加總起來就是我現在的選擇。我想這就是我如此快樂的原因。
當然這是我這個階段的想法,祝福我自己在四十的時候已然不惑
January 8, 2014
喜獲麟兒初為父
我家小伙子在 2014 / 01 /04 的 PM 08:47 出生了!
適逢新舊工作交替的時間,我在一月六號報到以前還有寥寥幾天的空閒。由於小孩的預產期是一月十八號,太座大人小桃在那之前安排了兩週的假日用作待產,即使小孩提早一點出世,也能夠休息到幾天。
於是一月三號那天是她生產前最後一天上班,傍晚算準了時間我去接她下班準備產檢,前往醫院的路上太座大人說:「今天下午開始肚子有點痛耶」我帶著玩笑的語氣說:『唔?該不會今天就要生吧?』「應該不會啦,聽朋友說生產前會有一些假性宮縮,當作熱身運動,今天是我第一次感覺到痛」。聽了寬心,我倆就一直開著今天就會生的玩笑直到醫院。
檢查時主治醫師說道:「小孩的頭部發育很正常,不過肚子小了一週,有點瘦。喔!妳的胎位移得很下面囉」聽起來就是很快要生的意思,我心想,如果今天開始假性宮縮,好日子應該剩沒幾天了。天真如我以為還能夠樂上一段時間。
產檢完到附近的平價牛排館吃晚餐,加減補充一點紅肉,看看能不能把小孩的體重拉高一點。吃沒兩口小桃就說肚子還是會痛。「還會痛?該不會很規律吧?」『嗯,感覺好像一段時間就痛一下』「.........我們趕快吃完回家洗澡好了」
我們已經做好最壞的心理準備:小桃連第一天假都還沒開始放就準備入監服刑。草草吃完晚餐,趕緊回家洗澡,確認生產包沒有漏誤,上線取消 g0v 的新年松報名(淚)。
約莫晚上十點鐘,小桃的陣痛開始變得明顯且規律,十分鐘痛一次。「來了!」我心裡這麼想著,趁隙硬是闔上眼睛瞇一下,為接下來的長期抗戰儲備體力。 這天到三點多就醒來無法再睡,小桃因為十分鐘陣痛一次也是徹夜未眠。每個人陣痛的狀況略有不同,她的狀況像是大卡車輾過去再倒車,如此來回持續一分鐘。就這樣碾到天亮實在無法再忍受,我們就整裝出發前往醫院。
到了醫院護士檢查過後冷靜地說:「這樣只有開一指,你們先去到處走走」「已經開一指了,不用擔心啦,這兩天一定會生」護士嘗試安慰我們,卻完全起不了效用。一來最後的假期完全宣告報銷,二來小桃聽到「兩天」這個字幾近崩潰,被卡車撞幾個小時已經很慘了,還要撞兩天也太殘忍。
我們從早上八點多開始在醫院走走停停,走是為了讓進度快一些,停是因為痛到動不了,就這樣捱到下午一點仍然只有開一指,正式確認被退貨,打道回府。
回家之後小桃躺在床上,陣痛的頻率從十分鐘到五分鐘之間不停改變,疼痛的程度更是愈加劇烈。我在一旁沒什麼能作的,只能夠拿著手機不斷給陣痛計時。回想起來頗為趣味,當下覺得陣痛難以忍耐,卻又希望快點多痛一些好讓自己解脫。直到晚上六點終於突破門檻,大約三四分鐘陣痛一次,行了!火速衝向醫院,一看開了一指半,順利收入產房。
無痛分娩乃是一種麻醉方式,進分娩室之前在背部注入麻藥,減緩分娩前的陣痛。當我們要求進行麻醉時,護士問:「真的要打嗎?看情況很快就會生了耶,打了很浪費錢」我當機立斷回答:『要!再不打就換我有危險了』
麻藥大約十分鐘之後開始生效,慢慢減緩陣痛,再過二十分鐘果然已經開到四指半被推進分娩室。短短一會兒就燒掉幾千元,即便如此我們還是覺得很值得,小桃在那二十分鐘找回求生的意志,我在那二十分鐘挽救了自己下半輩子的人生。
分娩室的氛圍相當奇妙,接生的醫生護士專業地指導產婦,什麼時候該呼吸、用力;同時也歡樂地閒聊(好像是)昨天尾牙誰抽到什麼獎品。小桃在生產檯上疼痛哀號,我在旁邊拿著手機錄影,心裡想的是怎麼拍會比較不血腥,手要拿穩別讓鏡頭晃動太大。據小桃的說法,我好像是路過進來拍紀錄片的。
進度很快,約莫十分鐘左右小孩子就出生了,配著響亮的哭聲,紫色的皮膚滿是皺摺,當護士們熟練地為小孩剪臍帶,抽取鼻腔內的羊水時。我看著這張陌生的臉孔,心想著這就是我的孩子,我這輩子都會被他叫做爸爸,就像我對他爺爺那樣叫。我第一次看見他,卻已經註定這輩子他最親的幾個人其中一位就是我。
不知道其他人所謂「當爸爸的感覺」是什麼,真要比喻我的感覺,好像是心房裡挪出一個重要位置,你知道眼前只會哭的這位陌生人,很快就會坐上去了。他的地位將會跟那些你已經熟識好多年的人一樣重要,甚至更重要些,即便你還跟他很陌生。
小朋友很快就止住哭聲,張大眼睛東瞧西瞧,不知這時候他是不是真能看見,一雙大眼不停轉動,俊挺的鼻子跟他娘還真像。我默默地看著他,心中想起伍佰的【真世界】這首歌。
啊!感慨是一回事,太早出生這件事還是要計較,等到聽得懂人話時再來虧他。
小朋友的體重是 2035g,身高 44cm,按照院方的標準要 2200g 才能夠出院,於是甫出生就進了病房觀察,所幸體重輕一點之外沒什麼大礙。接下來一週除了在家張羅必需品,就是勤跑醫院送母奶。至於收集母奶的辛苦,那又是另一個故事了。只能說做母親實在不簡單,從懷孕開始一連串的不舒服、陣痛、分娩,接踵而來的是漲奶、半夜擠乳、給小孩把屎把尿。每個男人實在要對老婆多疼愛一些。
適逢新舊工作交替的時間,我在一月六號報到以前還有寥寥幾天的空閒。由於小孩的預產期是一月十八號,太座大人小桃在那之前安排了兩週的假日用作待產,即使小孩提早一點出世,也能夠休息到幾天。
於是一月三號那天是她生產前最後一天上班,傍晚算準了時間我去接她下班準備產檢,前往醫院的路上太座大人說:「今天下午開始肚子有點痛耶」我帶著玩笑的語氣說:『唔?該不會今天就要生吧?』「應該不會啦,聽朋友說生產前會有一些假性宮縮,當作熱身運動,今天是我第一次感覺到痛」。聽了寬心,我倆就一直開著今天就會生的玩笑直到醫院。
檢查時主治醫師說道:「小孩的頭部發育很正常,不過肚子小了一週,有點瘦。喔!妳的胎位移得很下面囉」聽起來就是很快要生的意思,我心想,如果今天開始假性宮縮,好日子應該剩沒幾天了。天真如我以為還能夠樂上一段時間。
產檢完到附近的平價牛排館吃晚餐,加減補充一點紅肉,看看能不能把小孩的體重拉高一點。吃沒兩口小桃就說肚子還是會痛。「還會痛?該不會很規律吧?」『嗯,感覺好像一段時間就痛一下』「.........我們趕快吃完回家洗澡好了」
我們已經做好最壞的心理準備:小桃連第一天假都還沒開始放就準備入監服刑。草草吃完晚餐,趕緊回家洗澡,確認生產包沒有漏誤,上線取消 g0v 的新年松報名(淚)。
約莫晚上十點鐘,小桃的陣痛開始變得明顯且規律,十分鐘痛一次。「來了!」我心裡這麼想著,趁隙硬是闔上眼睛瞇一下,為接下來的長期抗戰儲備體力。 這天到三點多就醒來無法再睡,小桃因為十分鐘陣痛一次也是徹夜未眠。每個人陣痛的狀況略有不同,她的狀況像是大卡車輾過去再倒車,如此來回持續一分鐘。就這樣碾到天亮實在無法再忍受,我們就整裝出發前往醫院。
到了醫院護士檢查過後冷靜地說:「這樣只有開一指,你們先去到處走走」「已經開一指了,不用擔心啦,這兩天一定會生」護士嘗試安慰我們,卻完全起不了效用。一來最後的假期完全宣告報銷,二來小桃聽到「兩天」這個字幾近崩潰,被卡車撞幾個小時已經很慘了,還要撞兩天也太殘忍。
我們從早上八點多開始在醫院走走停停,走是為了讓進度快一些,停是因為痛到動不了,就這樣捱到下午一點仍然只有開一指,正式確認被退貨,打道回府。
回家之後小桃躺在床上,陣痛的頻率從十分鐘到五分鐘之間不停改變,疼痛的程度更是愈加劇烈。我在一旁沒什麼能作的,只能夠拿著手機不斷給陣痛計時。回想起來頗為趣味,當下覺得陣痛難以忍耐,卻又希望快點多痛一些好讓自己解脫。直到晚上六點終於突破門檻,大約三四分鐘陣痛一次,行了!火速衝向醫院,一看開了一指半,順利收入產房。
無痛分娩乃是一種麻醉方式,進分娩室之前在背部注入麻藥,減緩分娩前的陣痛。當我們要求進行麻醉時,護士問:「真的要打嗎?看情況很快就會生了耶,打了很浪費錢」我當機立斷回答:『要!再不打就換我有危險了』
麻藥大約十分鐘之後開始生效,慢慢減緩陣痛,再過二十分鐘果然已經開到四指半被推進分娩室。短短一會兒就燒掉幾千元,即便如此我們還是覺得很值得,小桃在那二十分鐘找回求生的意志,我在那二十分鐘挽救了自己下半輩子的人生。
分娩室的氛圍相當奇妙,接生的醫生護士專業地指導產婦,什麼時候該呼吸、用力;同時也歡樂地閒聊(好像是)昨天尾牙誰抽到什麼獎品。小桃在生產檯上疼痛哀號,我在旁邊拿著手機錄影,心裡想的是怎麼拍會比較不血腥,手要拿穩別讓鏡頭晃動太大。據小桃的說法,我好像是路過進來拍紀錄片的。
進度很快,約莫十分鐘左右小孩子就出生了,配著響亮的哭聲,紫色的皮膚滿是皺摺,當護士們熟練地為小孩剪臍帶,抽取鼻腔內的羊水時。我看著這張陌生的臉孔,心想著這就是我的孩子,我這輩子都會被他叫做爸爸,就像我對他爺爺那樣叫。我第一次看見他,卻已經註定這輩子他最親的幾個人其中一位就是我。
不知道其他人所謂「當爸爸的感覺」是什麼,真要比喻我的感覺,好像是心房裡挪出一個重要位置,你知道眼前只會哭的這位陌生人,很快就會坐上去了。他的地位將會跟那些你已經熟識好多年的人一樣重要,甚至更重要些,即便你還跟他很陌生。
小朋友很快就止住哭聲,張大眼睛東瞧西瞧,不知這時候他是不是真能看見,一雙大眼不停轉動,俊挺的鼻子跟他娘還真像。我默默地看著他,心中想起伍佰的【真世界】這首歌。
啊!感慨是一回事,太早出生這件事還是要計較,等到聽得懂人話時再來虧他。
小朋友的體重是 2035g,身高 44cm,按照院方的標準要 2200g 才能夠出院,於是甫出生就進了病房觀察,所幸體重輕一點之外沒什麼大礙。接下來一週除了在家張羅必需品,就是勤跑醫院送母奶。至於收集母奶的辛苦,那又是另一個故事了。只能說做母親實在不簡單,從懷孕開始一連串的不舒服、陣痛、分娩,接踵而來的是漲奶、半夜擠乳、給小孩把屎把尿。每個男人實在要對老婆多疼愛一些。
December 4, 2013
Libreoffice 合併列印地址標籤
晚間收到一個需求,老媽的朋友有一大筆通訊錄儲存成 Office 的 excel 檔,想要列印到 A4 大小的空白標籤貼紙上,寄送郵件的時候只要依序撕下、黏貼即可。這是相當常見的需求,不過以前沒作過也算是新鮮,因此在這邊做了點紀錄。
首先將檔案視為資料庫匯入,這是我摸索出來的作法,應該會有比較正確的作法
如此一來 xls 檔就被當成資料庫了,此時可以先把這個 writer 關掉,回到 xls 檔。接著來編輯 template
接著將資料庫的內容填入
最後拿到了 pdf 檔就可以用來列印,仔細一查卻發現,第一筆資料不見了!但我覺得之前的動作都挺合邏輯,猜想可能有 bug,insert content 的時候有 array index 的問題(唉,我對 office 軟體很沒信心)
另外中文翻譯有時是「合併郵件精靈」,但是打開的視窗標題又變成「合併列印精靈」 :-(
Update:
刪除資料庫的方法
- 使用 Libreoffice 4.1.3.2
- A4 大小的標籤貼紙,已經預先裁好 2 欄(columns) 11 列(rows)
- 每一格是 10.5 cm x 2.7 cm
首先將檔案視為資料庫匯入,這是我摸索出來的作法,應該會有比較正確的作法
- 打開 xls 檔案
- 開新檔案,選 Libreoffice Writer
- 工具 / 合併郵件精靈 / 3. 插入地址區塊 / 選擇地址清單 / 加入 xls 檔
如此一來 xls 檔就被當成資料庫了,此時可以先把這個 writer 關掉,回到 xls 檔。接著來編輯 template
- 從 xls 檔的「檔案」 / 「新增」 / 「標籤」
- 在「格式」那一頁先編輯一下
- 水平間隔、寬度為 10.5 cm
- 垂直間隔、高度為 2.7 cm
- 邊框為 0 cm
- 2 欄 11 列
- 頁寬 21 cm 頁高 29.71 cm (A4)
- 隨便存個名字,好比 "Print Label"
- 在「選項」那一頁
- 選取整頁
- 勾選內容同步化
- 回到「標籤」那一頁開始編輯
- 勾選「地址」
- 資料庫:選擇剛剛增加的 database
- 選取 database 裡面的 table
- 資料庫欄位,依序加入左邊,左邊亦可編輯 (這一步要注意!左方的 template 連結到的是資料庫欄位,如果改用不同的資料庫,會發生找不到資料的情況。意思就是:換資料庫,這一步驟就要重作)
- 格式選「連續」
- 商標、類型選剛剛儲存的格式 (ex: Print Label)
- 按下新增
接著將資料庫的內容填入
- 工具 / 合併郵件精靈
- 使用目前的文件
- 書信
- 一路繼續下去到最後一項
- 儲存合併的文件 / 儲存為單一文件,此時就能另存為 odt 或是 pdf 檔了
最後拿到了 pdf 檔就可以用來列印,仔細一查卻發現,第一筆資料不見了!但我覺得之前的動作都挺合邏輯,猜想可能有 bug,insert content 的時候有 array index 的問題(唉,我對 office 軟體很沒信心)
另外中文翻譯有時是「合併郵件精靈」,但是打開的視窗標題又變成「合併列印精靈」 :-(
Update:
刪除資料庫的方法
- 打開一個文件,選上方的工具 / 選項
- Libreoffice Base / 資料庫
- 選擇不要的資料庫 / 刪除
Subscribe to:
Posts (Atom)





