Sun將一個新的開源項目——PDF Renderer——作為SwingLabs的一部分于近日發布.
Sun 對該項目的描述是:“一個100%用Java編寫的PDF渲染器和查看器”.PDF Renderer可以用來將可移植文檔格式(Portable Document Format,PDF)從文件中解析出來,并以AWT圖像或任何Graphics2D的實現形式在panel中顯示.該項目與SwingLabs的其他部 分一樣,都是以LGPL許可發布的.
在項目首頁上列出了一些潛在的用途:
在用戶自己的應用中查看PDF.
提供PDF文件的打印預覽.
將PDF繪制為PNG圖像,用以在服務器端的Web應用中顯示.
將PDF合并到3D場景中.
在PDF之上繪圖,并可以在網絡查看器中進行標注.
雖然這個項目是在2007年12月被開源的,但是它卻有一段頗久的歷史:
在2003年,Sun實驗室的一群研究員開發出了PDF Renderer,當時它還是一款視頻協作工具,Sun(TM)Labs Meeting Suite的一部分.這個工具在Sun內部的分布式會議中得到了廣泛應用.Meeting Suite的設計初衷是方便人們使用OpenOffice創建的文稿做發言.
現在,這個公眾項目還只是處于早期階段,所以文檔資源還很凌亂,也沒有很大的用戶社區.但是,Joshua Marinacci希望通過把這個項目開源,把那些可能為項目貢獻力量的開發者們凝聚成一個社區:
雖然最原始的代碼是來自Sun的,但我們希望能獲得社區的高度參與.為保證這一點,我們聘請了Elluminate的Tom Oke來管理這個項目.他將擔任項目所有者和首席架構師的角色.他很快掌握了現有的代碼,并期待著與其他的參與者進行討論.
我們最開始的目標是將PDF輸出成OpenOffice格式,所以有些特性被遺漏掉了.它實現了絕大多數的PDF 1.4規范,但是少了透明度(transparency),填充表單(fill-in forms)和某些特定的字體編碼.我們希望有興趣的開發者可以幫助我們完成這些特性.
另外,Josh還將這個項目與其他PDF庫進行了比較:JPedal使用了GPL許可,所以有些應用根本就沒法用它.我們認為對于類似這樣的庫而言,使用LGPL是更好的選擇.iText不是一個查看器/渲染器.它可以生成PDF文檔,但并不能查看文檔.這讓iText和SwingLabs PDF Renderer變成了優秀的合作伙伴.我期盼著看到人們如何將它們進行合并.
訪問:PDF Renderer: a 100% Java PDF renderer and viewer
夜火:凱文米特尼克的《欺騙的藝術》,想必是無人不知無人不曉了吧,但是完整中文版一直沒找到,今天看到鬼仔那發了完整的中文版,還有doc和pdf 2種格式,轉來給大家共享之~
直接給下載(我的box好像流量超了):
fs2you: 欺騙的藝術[中文完整版].zip
box: 欺騙的藝術[中文完整版].zip
夜火PS:碰巧找到了譯者發布的下載鏈接,提供之,作為備用:http://www.hhacker.com/down/load/php.php?file=Deception.zip ,并嚴重感謝Hhacker team的王小瑞和龍之冰點翻譯此書
今天下午在Adobe的官方網站上才看到了Flex開源的消息:

Adobe這次開源 Flex,事實上是“早有預謀”的。早在 labs.adobe.com 建設的時候,Flex 團隊就有將 Flex 開源的計劃,并且當時也將 Flex-Ajax-Bridge 在 GPL 協議下開源了。

而這次 Flex 開源和以前不同,Adobe 會將幾乎整個Flex平臺組件在 Mozilla Public License 下發布,包括以下部分:
* Flex 編譯器;
* Flex 命令行調試工具;
* 源碼查看工具;
* 測試框架;
* Flex 核心組件庫(包括 Apollo 組件);
* 封裝腳本;
* Flex-Ajax Bridge(將會改用 MPL 協議發布);
更多的細節內容可以參考官方 Wiki。
Adobe Flex 這次開源,可以說是意義深遠。首先,這次開源對于 Adobe 和開發者來說都是雙贏的。通過開源,Flex 開發者可以通過閱讀研究 Flex 源碼,更深刻的理解 Flex 并進一步增強它,從而在 Flex 平臺上創造出更多更出色的應用;而對于 Adobe 來說,開源 Flex 開發者的加入,不僅可以使得 Flex 利用最小的成本得到最佳的完善和發展,同時由于開源的刺激,勢必會為 Flex 帶來更多的開發者,這對于一個平臺的普及是非常有意義的。
開源界的不斷發展,使得越來越多的商業公司看到了它的美好前景。Google、IBM、Oracle 等巨頭紛紛在開源領域獲利,作為應用軟件巨頭 Adobe 自然也不會錯過。Flex 的開源可以看作是 Adobe 邁出的第一步。同時,Adobe 選擇開源的產品始終圍繞著 Flash 應用領域,而且選擇的協議為 Mozilla Public License,使我們看到了 Adobe 想進一步掌控下一代互聯網標準,甚至桌面應用平臺的野心。試想搭載著 Adobe 種種絢麗技術的 Firefox,微軟的 IE+SilverLight 也會吃不消吧。蓋茨加油吧,呵呵。
“jQuery 是繼 prototype 之后又一個優秀的 Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。它是輕量級的 js 庫(壓縮后只有21k) ,這是其它的 js 庫所不及的,它兼容 CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一個快速的,簡潔的 javaScript 庫,使用戶能更方便地處理 HTML documents、events、實現動畫效果,并且方便地為網站提供 AJAX 交互。 jQuery 還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。 jQuery 能夠使用戶的 html 頁保持代碼和 html 內容分離,也就是說,不用再在 html 里面插入一堆js來調用命令了,只需定義 id 即可。 ”
這里提供了 240 多個jQuey的插件,實在是太多了!如下:
表單驗證(Form Validation)
jQuery Validation.
Auto Help.
Simple jQuery form validation.
jQuery XAV - form validations.
jQuery AlphaNumeric.
Masked Input.
TypeWatch Plugin.
Text limiter for form fields.
Ajax Username Check with jQuery.
文件上載(File upload)
Ajax File Upload.
jQUploader.
Multiple File Upload plugin.
jQuery File Style.
Styling an input type file.
Progress Bar Plugin.
表單-選取框(Form - Select Box stuff)
jQuery Combobox.
jQuery controlled dependent (or Cascadign) Select List.
Multiple Selects.
Select box manipulation.
Select Combo Plugin.
jQuery - LinkedSelect
Auto-populate multiple select boxes.
Choose Plugin (Select Replacement).
表單基本,輸入框等(Form Basics, Input Fields, Checkboxes etc.)
jQuery Form Plugin.
jQuery-Form.
jLook Nice Forms.
jNice.
Ping Plugin.
Toggle Form Text.
ToggleVal.
jQuery Field Plugin.
jQuery Form’n Field plugin.
jQuery Checkbox manipulation.
jTagging.
jQuery labelcheck.
Overlabel.
3 state radio buttons.
ShiftCheckbox jQuery Plugin.
Watermark Input.
jQuery Checkbox (checkboxes with imags).
jQuery SpinButton Control.
jQuery Ajax Form Builder.
jQuery Focus Fields.
jQuery Time Entry.
時間日期以及顏色選取(Time, Date and Color Picker)
jQuery UI Datepicker.
jQuery date picker plugin.
jQuery Time Picker.
Time Picker.
ClickPick.
TimePicker.
Farbtastic jQuery Color Picker Plugin.
Color Picker by intelliance.fr.
投票(Rating Plugins)
jQuery Star Rating Plugin.
jQuery Star Rater.
Content rater with asp.net, ajax and jQuery.
Half-Star Rating Plugin.
搜索(Search Plugins)
jQuery Suggest.
jQuery Autocomplete.
jQuery Autocomplete Mod.
jQuery Autocomplete by AjaxDaddy.
jQuery Autocomplete Plugin with HTML formatting.
jQuery Autocompleter.
AutoCompleter (Tutorial with PHP&MySQL).
quick Search jQuery Plugin.
文本編輯(Inline Edit & Editors)
jTagEditor.
WYMeditor.
jQuery jFrame.
Jeditable - edit in place plugin for jQuery.
jQuery editable.
jQuery Disable Text Select Plugin.
Edit in Place with Ajax using jQuery.
jQuery Plugin - Another In-Place Editor.
TableEditor.
tEditable - in place table editing for jQuery.
多媒體(Audio, Video, Flash, SVG, etc)
jMedia - accessible multi-media embedding.
JBEdit - Ajax online Video Editor.
jQuery MP3 Plugin.
jQuery Media Plugin.
jQuery Flash Plugin.
Embed QuickTime.
SVG Integration.
圖象類(Photos/Images/Galleries)
ThickBox.
jQuery lightBox plugin.
jQuery Image Strip.
jQuery slideViewer.
jQuery jqGalScroll 2.0.
jQuery - jqGalViewII.
jQuery - jqGalViewIII.
jQuery Photo Slider.
jQuery Thumbs - easily create thumbnails.
jQuery jQIR Image Replacement.
jCarousel Lite.
jQPanView.
jCarousel.
Interface Imagebox.
Image Gallery using jQuery, Interface & Reflactions.
simple jQuery Gallery.
jQuery Gallery Module.
EO Gallery.
jQuery ScrollShow.
jQuery Cycle Plugin.
jQuery Flickr.
jQuery Lazy Load Images Plugin.
Zoomi - Zoomable Thumbnails.
jQuery Crop - crop any image on the fly.
Image Reflection.
Google Map
jQuery Plugin googlemaps.
jMaps jQuery Maps Framework.
jQmaps.
jQuery & Google Maps.
jQuery Maps Interface forr Google and Yahoo maps.
jQuery J Maps - by Tane Piper.
游戲(Games)
Tetris with jQuery.
jQuery Chess.
Mad Libs Word Game.
jQuery Puzzle.
jQuery Solar System (not a game but awesome jQuery Stuff).
表格(Tables, Grids etc.)
UI/Tablesorter.
jQuery ingrid.
jQuery Grid Plugin.
Table Filter - awesome!.
TableEditor.
jQuery Tree Tables.
Expandable “Detail” Table Rows.
Sortable Table ColdFusion Costum Tag with jQuery UI.
jQuery Bubble.
TableSorter.
Scrollable HTML Table.
jQuery column Manager Plugin.
jQuery tableHover Plugin.
jQuery columnHover Plugin.
jQuery Grid.
TableSorter plugin for jQuery.
tEditable - in place table editing for jQuery.
jQuery charToTable Plugin.
jQuery Grid Column Sizing.
jQuery Grid Row Sizing.
統計圖(Charts, Presentation etc.)
jQuery Wizard Plugin .
jQuery Chart Plugin.
Bar Chart.
邊框,圓角,背景(Border, Corners, Background)
jQuery Corner.
jQuery Curvy Corner.
Nifty jQuery Corner.
Transparent Corners.
jQuery Corner Gallery.
Gradient Plugin.
文字、鏈接(Text and Links)
jQuery Spoiler plugin.
Text Highlighting.
Disable Text Select Plugin.
jQuery Newsticker.
Auto line-height Plugin.
Textgrad - a text gradient plugin.
LinkLook - a link thumbnail preview.
pager jQuery Plugin.
shortKeys jQuery Plugin.
jQuery Biggerlink.
jQuery Ajax Link Checker.
Tooltips
jQuery Plugin - Tooltip.
jTip - The jQuery Tool Tip.
clueTip.
BetterTip.
Flash Tooltips using jQuery.
ToolTip.
菜單導航(Menus, Navigations)
jQuery Tabs Plugin - awesome! . [demo nested tabs.]
another jQuery nested Tab Set example (based on jQuery Tabs Plugin).
jQuery idTabs.
jdMenu - Hierarchical Menu Plugin for jQuery.
jQuery SuckerFish Style.
jQuery Plugin Treeview.
treeView Basic.
FastFind Menu.
Sliding Menu.
Lava Lamp jQuery Menu.
jQuery iconDock.
jVariations Control Panel.
ContextMenu plugin.
clickMenu.
CSS Dock Menu.
jQuery Pop-up Menu Tutorial.
Sliding Menu.
對齊,幻燈以及折疊(Accordions, Slide and Toggle stuff)
jQuery Plugin Accordion.
jQuery Accordion Plugin Horizontal Way.
haccordion - a simple horizontal accordion plugin for jQuery.
Horizontal Accordion by portalzine.de.
HoverAccordion.
Accordion Example from fmarcia.info.
jQuery Accordion Example.
jQuery Demo - Expandable Sidebar Menu.
Sliding Panels for jQuery.
jQuery ToggleElements.
Coda Slider.
jCarousel.
Accesible News Slider Plugin.
Showing and Hiding code Examples.
jQuery Easing Plugin.
jQuery Portlets.
AutoScroll.
Innerfade.
拖拽(Drag and Drop)
UI/Draggables.
EasyDrag jQuery Plugin.
jQuery Portlets.
jqDnR - drag, drop resize.
Drag Demos.
XML XSL JSON Feeds
XSLT Plugin.
jQuery Ajax call and result XML parsing.
xmlObjectifier - Converts XML DOM to JSON.
jQuery XSL Transform.
jQuery Taconite - multiple Dom updates.
RSS/ATOM Feed Parser Plugin.
jQuery Google Feed Plugin.
瀏覽器(Browserstuff)
Wresize - IE Resize event Fix Plugin.
jQuery ifixpng.
jQuery pngFix.
Link Scrubber - removes the dotted line onfocus from links.
jQuery Perciformes - the entire suckerfish familly under one roof.
Background Iframe.
QinIE - for proper display of Q tags in IE.
jQuery Accessibility Plugin.
jQuery MouseWheel Plugin.
對話框(Alert, Prompt, Confirm Windows)
jQuery Impromptu.
jQuery Confirm Plugin.
jqModal.
SimpleModal.
CSS
jQuery Style Switcher.
JSS - Javascript StyleSheets.
jQuery Rule - creation/manipulation of CSS Rules.
jPrintArea.
DOM, Ajax and other jQuery plugins
FlyDOM.
jQuery Dimenion Plugin.
jQuery Loggin.
Metadata - extract metadata from classes, attributes, elements.
Super-tiny Client-Side Include Javascript jQuery Plugin.
Undo Made Easy with Ajax.
JHeartbeat - periodically poll the server.
Lazy Load Plugin.
Live Query.
jQuery Timers.
jQuery Share it - display social bookmarking icons.
jQuery serverCookieJar.
jQuery autoSave.
jQuery Puffer.
jQuery iFrame Plugin.
Cookie Plugin for jQuery.
jQuery Spy - awesome plugin.
Effect Delay Trick.
jQuick - a quick tag creator for jQuery.
Metaobjects.
elementReady.
二個多月前中文輸入法
小企鵝輸入法開源項目終止的導火索就是被指責代碼寫得很糟糕。當然這里不是討論小企鵝,而是引出另外一個問題,為什么許多公司把他們的軟件當作寶貝,
閉源、私有的真正理由也許就是避免尷尬。在冠冕堂皇的理由之下掩蓋了真實的理由:隱藏低劣質量的代碼。舉例:Windows,它證明花數十億美元和使用數以千計的程序員確實可以生產一個不錯的軟件。有兩種形式的丑陋代碼,一種是Good ugly code(Windows),它整體上不能算第一流,但運行良好,沒有多少缺陷;另一種就是bad ugly code,則是令人討厭的。
最近西安的華南虎吵得沸沸揚揚的,今天你告我,明天我告你!事情是一件接一件,什么“搜虎隊”,什么“《科學》轉載”,什么“周老漢告網易”,什么“關克Bolg被黑”,現在又是李昌鈺博士介入!
事情越來越好玩了,每周一到周末最大快樂就是把上周有關周老漢的新聞看看,然后笑笑~
今早上華商網一看~嚇我一條“神探李昌鈺或鑒定虎照 結果可能出乎所有人意料 2007-12-01 07:23:06”一切來的都是那么突然~連神探李博士都驚動了~喜歡看犯罪類電視的朋友應該對李昌鈺博士不陌生,他是現在美國警界官職最高的亞裔,著名的犯罪鑒定專家,連他都要關注華南虎事件了~
再看看
“神探”李昌鈺對“華南虎照片”發表意見(圖)
核心提示:李昌鈺表示,照片中的老虎長時間保持靜態不合常理,而照片中的老虎和年畫中的老虎斑紋形狀相同,姿態也很相像。
神探李昌鈺針對第29張照片的虎紋提出了質疑
相關新聞:進入華南虎專題
紅網12月2日報道,今天上午8點左右,正在廣西講學的“神探”李昌鈺對“華南虎照片”發表了初步意見,他表示,照片中的老虎長時間保持靜態不合常理,而照片中的老虎和年畫中的老虎斑紋形狀相同,姿態也很相像。
網易新聞主編林少梅說,網易工作人員昨天趕到廣西南寧,今天上午把照片和年畫帶給李昌鈺鑒定,由于李昌鈺時間安排很緊張,他在看了32張照片以后從物證比對的角度進行分析。“李昌鈺老師對華南虎事件很感興趣,今天早上他說了一下初步的意見。我們會向李老師所在的美國紐海文大學刑事鑒定中心發出正式的委托申請,等他回美國和鑒定中心的數碼照片專家們商議之后,將作出正式的答復”,林少梅說。
根據網易提供的錄音,李昌鈺說,“這些照片都是靜態的,沒有什么移動,照片中很多綠色的樹葉,所以一定是生長的季節,這樣的季節通常樹林里應該有一些蚊子蒼蠅,老虎會一直動驅趕這些昆蟲”。
另外,李昌鈺對照片中的老虎和年畫中的老虎進行了對比,“它的斑紋,開始是兩個小的線條,然后有一個圓圈圈,接著是兩個小線條,這里一個像字母‘Y'的紋,這是很特殊的象征”。李昌鈺指出,年畫虎也有同樣的花紋,“是巧合呢,還是同樣一張,我就不太知道。假如老虎專家告訴你,老虎斑紋是不一樣的,那這兩個就太巧合了。所以,初步觀察,兩個老虎斑紋、形狀同樣,同時姿態很相像。至于照片是不是合成的,要進一步研究”。 (本文來源:紅網 )
聯系李昌鈺、照片鑒定好戲那個都是網易的人玩的,都是因為周老漢為了40萬,告網易!這次慘了吧~網易不好惹的!錢是小事,關鍵是讓網易丟人了~讓我們看看鑒定專家的正式鑒定意見吧~
用Java編寫應用時,有時需要在程序中調用另一個現成的可執行程序或系統命令,這時可以通過組合使用Java提供的Runtime類和Process類的方法實現。下面是一種比較典型的程序模式:
...
Process process = Runtime.getRuntime().exec(".\\p.exe");
process.waitfor( );
...
在上面的程序中,第一行的“.\\p.exe”是要執行的程序名,Runtime.getRuntime()返回當前應用程序的Runtime對象,該對象的exec()方法指示Java虛擬機創建一個子進程執行指定的可執行程序,并返回與該子進程對應的Process對象實例。通過Process可以控制該子進程的執行或獲取該子進程的信息。第二條語句的目的等待子進程完成再往下執行。
但在windows平臺上,如果處理不當,有時并不能得到預期的結果。下面是筆者在實際編程中總結的幾種需要注意的情況:
1、執行DOS的內部命令
如果要執行一條DOS內部命令,有兩種方法。一種方法是把命令解釋器包含在exec()的參數中。例如,執行dir命令,在NT上, 可寫成exec("cmd.exe /c dir"),在windows 95/98下,可寫成“command.exe /c dir”,其中參數“/c”表示命令執行后關閉Dos立即關閉窗口。另一種方法是,把內部命令放在一個批命令my_dir.bat文件中,在Java程序中寫成exec("my_dir.bat")。如果僅僅寫成exec("dir"),Java虛擬機則會報運行時錯誤。前一種方法要保證程序的可移植性,需要在程序中讀取運行的操作系統平臺,以調用不同的命令解釋器。后一種方法則不需要做更多的處理。
2、打開一個不可執行的文件
打開一個不可執行的文件,但該文件存在關聯的應用程序,則可以有兩種方式。 以打開一個word文檔a.doc文件為例,Java中可以有以下兩種寫法:
exec("start .\\a.doc");
exec(" c:\\Program Files\\Microsoft Office\\office\\winword.exe .\\a.doc");
顯然,前一種方法更為簡捷方便。
3、執行一個有標準輸出的DOS可執行程序
在windows平臺上,運行被調用程序的DOS窗口在程序執行完畢后往往并不會自動關閉,從而導致Java應用程序阻塞在waitfor( )。導致該現象的一個可能的原因是,該可執行程序的標準輸出比較多,而運行窗口的標準輸出緩沖區不夠大。解決的辦法是,利用Java提供的Process類提供的方法讓Java虛擬機截獲被調用程序的DOS運行窗口的標準輸出,在waitfor()命令之前讀出窗口的標準輸出緩沖區中的內容。一段典型的程序如下:
...
String ls_1;
Process process = Runtime.getRuntime().exec("cmd /c dir \\windows");
BufferedReader bufferedReader = new BufferedReader( \
new InputStreamReader(process.getInputStream());
while ( (ls_1=bufferedReader.readLine()) != null)
System.out.println(ls_1);
process.waitfor( );
...
以上內容為轉載~下面內容為原創!
今天在做客戶端程序的自動更新,簡單描述一下,就是從服務器上將更新包下載下來,然后在本地解壓縮,最后刪掉~功能很簡單~
但是問題出在使用JAVA的ZIP模塊做文件的解壓縮不是想象的那么簡單,資源需要釋放,一個不小心就沒有辦法刪除掉原有ZIP文件了~資源的占用確實是個大問題,但是好在,客戶端程序更新完是要重啟的,一切都煙消云散了~對于刪除不掉ZIP文件的問題,我也流氓一下~用DEL硬刪除~此處一定要注意!
Process process = Runtime.getRuntime().exec("cmd /c del f:\\aaa.doc");
這樣的調用是沒有問題~
Process process = Runtime.getRuntime().exec("del f:\\aaa.doc");
這樣寫是不可能對的~
記錄一下,警告一下后人!
今天同事在做調用EJB讀取properties文件時報出
java.lang.IllegalArgumentException: Malformed \uxxxx encoding
異常!沒有見過!
這個properties文件中配置了文件夾的真實路徑,但是java的Properties竟然無法讀??!真是郁悶!
g.cn了一下,才發現其中原由,原來java在讀取properties文件是遇到\就會出現
java.lang.IllegalArgumentException: Malformed \uxxxx encoding
異常,問題在這里!
僅僅把里面出現的\轉換為/就可以了!