本发明涉及一种跨平台文档色彩分析与打印联动方法,属于办公自动化系统技术领域。
背景技术:
java语言属于当前编程语言领域排名第一的流行语言,具有跨平台的特色,具有各种功能的相关的库也很多。java语言可利用的库有log4j、slf4j(用于输出日志)、icepdf(用于转换pdf文件)、dom4j(用于处理dom格式文件)、jodconverter、itextpdf(用于处理pdf文件中的中文字符)等。
打印技术使用系统的打印服务,一般的系统打印服务都带有选择打印机、单页打印、选择一定页数打印、单双页打印、整体黑白、彩色等设置。然而除了这些泛用性很高的选项以外,其他的可定制性就很差,难以满足大页数打印的需求。特别是对于需要按一定规律定制的打印页支持很弱,一般只能人工进行筛选处理。
在打印一页两页文档的时候,上述限制造成的影响并不明显,而在处理上十上百甚至上千页的文档时这种不可定制性的缺乏所造成的影响就明显了,比如:一个文档需要区分彩色和黑白页来进行打印,而这些页面的页码是几乎没有数学上的规律的,如果需要人工把这些页数给挑选出来,假设分辨一页需要1秒,记录这个页数需要3秒,滚动一页需要1秒,那分辨50页的这样的文档就需要250秒,也就是4分钟多,核对又需要更多的时间,至少10分钟;而如果发现了页码连续性上的错误,可能又得重新来过。而这只是一份不算多的50页的文档而已,就可能造成至少半小时的损失。不仅浪费了时间,还可能由于出错浪费打印的纸张,实在是得不偿失。
技术实现要素:
本发明要解决的技术问题是日常办公中可能出现的,大批量文档的彩色、黑白页分开打印,然而手工分辨太花时间,需要自动分析的需求。
为了解决上述技术问题,本发明的技术方案是提供一种跨平台文档色彩分析与打印联动方法,适于在计算设备中执行,其特征在于,该方法包括:
首先,检测待打印的文件格式:若文件格式为pdf,则采用icepdf库进行处理,并转换为jpg格式;若文件格式为doc、docx、xls、xlsx,则采用openoffice开源软件进行处理,并均转换为jpg格式;
然后,对jpg格式的文件的rgb信息进行读入,并对色彩行分析,得出是彩色图片还是黑白图片的结果;
最后,联动打印机按照指定的色彩进行打印。
优选地,日志处理采用slf4j库以及log4j库。
优选地,采用java语言编写底层指令。
优选地,采用swing组件进行图形化界面显示。
本发明还提供了一种存贮设备,其特征在于:其中存储有多条指令,所述指令适于由处理器加载并执行;
首先,检测待打印的文件格式:若文件格式为pdf,则采用icepdf库进行处理,并转换为jpg格式;若文件格式为doc、docx、xls、xlsx,则采用openoffice开源软件进行处理,并均转换为jpg格式;
然后,对jpg格式的文件的rgb信息进行读入,并对色彩行分析,得出是彩色图片还是黑白图片的结果;
最后,联动打印机按照指定的色彩进行打印。
优选地,存贮设备中,日志处理采用slf4j库以及log4j库,采用java语言编写底层指令,采用swing组件进行图形化界面显示。
本发明还提供了一种移动终端,包括
处理器,适用实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行;
首先,检测待打印的文件格式:若文件格式为pdf,则采用icepdf库进行处理,并转换为jpg格式;若文件格式为doc、docx、xls、xlsx,则采用openoffice开源软件进行处理,并均转换为jpg格式;
然后,对jpg格式的文件的rgb信息进行读入,并对色彩行分析,得出是彩色图片还是黑白图片的结果;
最后,联动打印机按照指定的色彩进行打印。
优选地,移动终端中,底层指令由java语言编写,日志处理采用slf4j库以及log4j库,图形化界面显示采用swing组件实现。
本发明提供的方法克服了现有技术的不足,采用了java语言,具有跨平台的特点。面对不同的pc操作系统,无论是windows、linux、ios还是unix,只要安装了java虚拟机,就能运行,对要打印的大数量页面文档进行色彩分析并打印,提高了工作效率。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于
本技术:
所附权利要求书所限定的范围。
一种跨平台文档色彩分析与打印联动系统,底层采用了java语言进行编写,运行于java虚拟机上,采用swing组件进行图形化界面显示。
pdf格式的处理采用了icepdf库,检测若文件格式为pdf,则用icepdf进行处理并转换格式为jpg;
doc、docx、xls、xlsx格式的处理采用了openoffice开源软件,并将所有格式转换为jpg格式方便进行色彩分析;
对jpg文件的rgb信息进行读入,并按一定的数据分析方式得出是彩色图片还是黑白图片的结果;
日志处理采用了slf4j库以及log4j库。
对于doc等office文件格式,由于技术限制,几乎是没办法直接通过java进行读取和修改的。但是对图片格式就没有这些限制。所以本实施例中将这些难以处理的格式转换成统一的图片格式,也便于色彩的分析和打印,可以说一举两得。而要转换这些文档就用到了apache开源的openoffice软件,它的体积不大只有100多mb,由于开源,就和java一样也是跨平台的,对各种编程语言的支持又好,所以本实施例选择了它来进行文档处理。试验表明,效果也是的确不错的。
在系统的打印服务不支持打印的按规则分批打印时,可以通过本发明提供的跨平台文档色彩分析与打印联动系统来进行处理,这也是一种“修饰器”的设计模式。
本系统采用了java语言,具有跨平台的特点。面对不同的pc操作系统,无论是windows、linux、ios还是unix,只要安装了java虚拟机,就能运行本系统,对要打印的大数量页面文档进行分析并打印,只需要按几下按钮就能省去原本需要以小时记的时间。也在一定高的概率上节省了由于失误造成的打印设置错误,避免了重新打印以及之前打印纸张的废弃,节约了纸张,也能对环境保护起良好的作用。