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
异常,问题在这里!
仅仅把里面出现的\转换为/就可以了!