很长一段时间,我很烦恼你需要使用特殊软件从平板扫描仪创建多页PDF文档。因为“扫描仪”是一个含糊不清的词(这真的让搜索变得困难!)让我澄清一下:我的意思是,例如,HP F4280打印机/扫描仪设备光学“扫描”纸质文档并创建数字表示的过程。它,通常最终为.jpg或.tif文件。
问题是我知道没有跨平台的程序,并且能够从平板扫描仪创建多页扫描。为此,软件必须一次存储一个扫描页面,并询问用户是否要扫描另一页面。您不能依赖驱动程序来处理多页扫描,因为驱动程序只对表单进纸扫描程序执行此操作,这些扫描程序将“吸入”一堆纸而不会暂停,并在将数据交付给驱动程序框架之前将数据合并。 p>
因此,我开始创建这样一个计划。在低级别,我想支持TWAIN和SANE接口,在Windows XP或更高版本,Mac OS X和流行的Linux 2.6发行版中。 2008年或以后的年份。
以下是我设想的方法。首先,我需要一个提供统一API的库,无论它是在后端使用TWAIN还是SANE。 API必须能够提供扫描数据的压缩或其他位的字节数组。应展示TWAIN和SANE之间共享的一些属性:例如,DPI,纸张大小和颜色/灰度/艺术线条。然后应该可以指定显式,提示或查询从成功扫描返回的字节数组的结果图像格式。
我并不特别关心编程环境:我熟悉所有流行的命令式/ OO语言。我更喜欢Java或C#之类的东西,但C或C ++也可以正常工作。
一旦掌握了这样的库,我就可以构建一个只需要根据需要调用例程的GUI,并使用几个可用的PDF渲染库中的一个来创建输出。我不坚持“编译一次,随处运行”,但我坚持“写一次,随处编译”至少。当然,因为TWAIN和SANE是互斥平台上可用的不同API,所以必须在某些时候使用#ifdefs或其他区分平台的方法来确定使用哪种API。
我打算将我的程序和我直接链接的任何库都认定为自由软件(根据FSF),但我对编程环境的唯一要求是它在Windows XP或更高版本,Mac OS上等效X和Linux 2.6。
我一直在谷歌上搜索这么一个库,但是我甚至找不到专有的库,更不用说免费的软件了。如果有人找到了这样的宝石,请给我一个链接 - 否则,任何有关我的申请入门的建议将不胜感激。如有必要,我将自己开发上述库,并将其作为GNU LGPL下的单独项目发布。为了应用程序的缘故,我更喜欢用Qt4 / C ++,.NET和GTK#或Java / Swing编写它,以实现最大的跨平台兼容性。