首页  |  信息资讯  |  资源检索  |  浏览精彩论坛 .
设为首页
收藏本站
站点导航
 新手学园 检索方法 国内文献 国外文献 FTP联盟 BT资源 网络资源 计算机技术 读书软件 外语学习
 网络经管 法律之窗 生命科学 教学相长 学术妙笔 读书参考 文学原创 多媒体 书园茶社 茶社转贴
 强国梦 秋爽斋 淡泊草 水清木华 书园旧梦     
您的位置: 首页 >> 信息资讯 >> 专业交流 >> 读书软件 >> 查看内容
说“层”
作者: strnghrs  发布日期: 2007-1-11    查看数:    出自: 网上读书园地


作者:马健
邮箱:stronghorse@tom.com
主页:http://stronghorse.yeah.net
发布日期:2007.01.10
最近更新:2007.02.20

目录
一、PDG中的层
二、PDF中的层
三、DjVu中的层

声明:本文仅为笔记的一部分,最多算备忘录,如果读的时候觉得无头无尾请不必惊讶。

一、PDG中的层

早期V1版PDG文件结构中并没有层的描述字段,因此也没有分层不分层的说法:如果书籍页面上既有文字又有插图,则连文字带插图存储成一个大JPG。如果插图在页面上只占用很少一点面积,这样的存储方式当然很不经济:JPG并不适合存储黑白文字 。而如果能将文字与插图剥离开,文字用超星惯用的CCITT压缩存储,其压缩比要比JPG高很多,显示效果也会好很多。

这种文字与插图相区别的定义,从V2版PDG文件结构开始出现:在主文件头中除主文字层的宽、高、数据长度等,还定义了插图的个数;在主文件头后顺序编列各插图的描述信息,包括:插图左上角点位置、插图高度、插图宽度、插图数据起始位置(相对文件起始位置的偏移量)、插图数据长度(字节数)等。

浏览器在绘制这种PDG时,先读取文字层数据(CCITT或黑白DjVu数据流),在背景上画出文字,然后逐个读取插图数据,读一个画一个。即从底往上,依次为背景(超星允许设置背景图案或背景颜色)层、文字层、第一张插图、第二张插图、……、第n张插图。

PDG所有插图均为矩形,数据流格式为24位JPG或DjVu,偶尔也会将JPG或DjVu数据流封装成一个完整的PDG文件作为插图数据,这样就产生了所谓的“嵌套PDG”:在一个PDG文件里,还包含一个或几个 子PDG,每个子PDG都是一个插图。

理论上PDG文件的插图之间允许出现重叠,重叠时上层插图覆盖下层插图的重叠部分。但是在实际的PDG文件中,尚未见到重叠的情况,感觉超星找到了很好的方法,能够保证插图切割后的总面积最小,没有任何浪费。

二、PDF中的层

PDF中的层稍微复杂一些,我将其区分为“狭义层”和“广义层”。

所谓“狭义层”,指的是在Adobe出版发行的《PDF Reference fifth edition》第4.10节中定义的Optional Content(可选内容)。我称呼它为“狭义层”,是因为在Adobe Acrobat 7.0的界面、帮助里,都用“层(layer)”这个词汇来明确称呼它。后面叙述的“广义层”就没有享受这样的待遇。

用Optional Content定义的层,类似于Photoshop中“层”的概念,事实上Acrobat界面左侧“层”窗口(排在“书签”窗口下面)的操作,也和Photoshop里的层操作差不多:点击眼睛图标,即可显示和隐藏指定的层。在同一个层上可以放置多个对象 (文本、图像、按钮等),隐藏、显示某层时,该层所有对象一起隐藏、显示。判断一个PDF文件是否采用Optional Content来定义层的方法也很简单:用Acrobat打开PDF文件,如果点开“层”窗口能够看到内容,则该PDF肯定包含层,否则不包含。

我的同事在设计PDF表单时,喜欢在表单里用层来定义一些装饰性或提示性的元素,这些元素在打印时会隐藏。不过这几个家伙以前是做网页的,所以我一直怀疑他们是在HTML里用DIV用惯了,转到PDF来还是改不了老习惯:),过一段时间自然会改用更简单的方法。我也曾在国学数典BBS上见 到有人用Adobe InDesign,做了一本用Optional Content定义的多层PDF:一层是扫描图像层,一层是文字层,还有一个附加层上放置了层选择按钮:点击文字层选择按钮,则隐藏图像层、显示文字层;点击图像层按钮则反之。不过可能这种书籍制作要求实在太高,用处又不大,我到现在也只见过这么一本。

通常大家说的“双层PDF”,其实和用Optional Content定义的层一点关系都没有,所以用Acrobat打开以后,点“层”窗口什么也看不到,即这种“双层PDF”的“层”,其实不是Acrobat所认可的“层”,只不过大家都这么说,而且从逻辑上来说确实有点“层”的意思,所以我管这个叫“广义层”。

这种广义的“双层PDF”,底层是扫描图像层,上层是从扫描图像OCR出来的文字层,只不过文字设置为透明(在Foxit PDF Editor的“文本属性”页中,“文本模式”为“没有填充和空心的文本(不可见)”,正常文字应为“填充文本”或其他)。这样通过PDF浏览器阅读的时候,看到的是底层原汁原味的扫描图像,各种公式、图表都和纸上看到的一样,但是“搜索”或用文字选取工具选取时,又可以直接对上层文字进行操作。因此这种PDF能够较好地避免纯扫描版不能检索,纯文字版排公式、表格困难的问题;同时兼有扫描版保持原文版式,纯文字版可以检索、复制/粘贴的优点。Adobe Acrobat 8就把能制作、转换这种双层PDF作为一大卖点加以介绍,虽然它的中文OCR引擎实在不怎么样。

这种双层PDF为了保证用文字选取工具选择文字时能够准确定位,通常要求严格实现“字压图”,即上层透明文字,要与底层图像上对应文字的大小、位置完全一样(当然真正完全一样是不可能的,只能尽量对准)。而版面上文字的间距、大小、字体可能变化多端,所以在生成PDF的时候,通常对每个字的位置进行单独描述,这就导致生成的结果基本上不可再校对、编辑。不信可以用Foxit PDF Editor打开一个生成好的双层PDF,用鼠标一个一个点过去,看是不是一次只能选一个中文字或一个字母、数字?对于这样的东西,我想就算是《大话西游》里的唐僧转世,校对上几页也会疯掉。

当然如果非校对不可,也不是没有办法,而且办法还不止一种。

如果错误不多,可以采用下面的方法:

1、用Acrobat或其他工具,将PDF中的文字信息全部导出成文本文件。
2、用Foxit PDF Editor打开PDF。
3、在文本文件中看到错别字时,在Foxit PDF Editor里选中对应的字进行修改。
4、改后别忘了存盘。

如果看了文本后感觉错误很多,则可以用下面的方法:

1、用Foxit PDF Editor打开PDF,进入需要修改的页面。
2、先按Ctrl+A选择全部对象,然后按住Ctrl键,在页面空白处点一下鼠标左键,将背景图排除在选择之外,以确保选中的都是文字对象。
3、在“文本属性”页中,将“文本模式”从“没有填充和空心的文本(不可见)”改成“填充文本”,然后点“更改”。
4、现在看到文字显示出来了吧?不过缺省文字颜色一般是黑色,看起来费劲,可以保持文字选中状态,进入“填充颜色”页,改变颜色、透明度,然后点“更改”,将文字压缩和背景颜色区别开。
5、现在就可以一个字、一个字地选中、修改了。改完后再按照步骤2选中全部文字,按照步骤3将“文本模式”改回“没有填充和空心的文本(不可见)”,存盘即可。

FreePic2Pdf在将多层PDG转换成PDF时,用的是与PDG浏览器绘制多层PDG时相同的顺序:在一个空白页面上,先放上底层文字层,然后将插图顺次堆叠上去,插图的位置由Pdg2Pic在生成的接口文件时加以描述。通常PDF文件中处理图文混排都用这种模式。

三、DjVu中的层

DjVu中层的含义比较明确,在文件格式规范中有清晰的定义:分为背景层和前景层,但是前景层又可以分解成前景蒙板层和前景层,所以一个标准的多层DjVu其实可以包含三层: 背景层(background layer)、前景层(foreground layer)、前景蒙板层(foreground mask)。在Lizardtech公司出版发行的《Lizardtech DjVu Reference DjVu V3》中,对他们的说明是:

·The background layer is used for encoding the pictures and the paper texture.
·The foreground layer is used for encoding the text and the drawings.
·The main component of the foreground layer is a bi-level image named the foreground mask. The pixel size of the foreground mask is equal to the size of the DjVu image. It contains a black-on-white representation of the text and the drawings.

我自己的经验和理解:

·前景蒙板层:对页面上具有清晰轮廓的对象加以描述,如文字、表格、线框、线条等。
·前景层:为前景蒙板层所描述的轮廓提供填充色。
·背景层:包括背景、底纹、插图等。

在显示DjVu页面的时候,实际象素点的颜色根据蒙板层中对应点的颜色进行选取:如果蒙板层中该点为黑,则该点实际颜色从前景层取,否则从背景层取。

如果希望对DjVu的三层结构进行详细研究,可以用DjVuToy v0.04+,导出DjVu的文件结构和三层图像,与《Lizardtech DjVu Reference DjVu V3》中的说明进行对比。

我个人一直认为,DjVu所吹嘘的清晰度、压缩比,都与它的分层方式有很大关系。

先说清晰度。由于采用模板层对轮廓进行选取,最终显示出来的DjVu图像在文字、线条等轮廓边缘显得非常锐利、清晰,不会出现JPG图像那样的细小碎片(高频杂波),看起来自然舒服。

再说压缩比。对于文字,DjVu在前景蒙板中使用JB2压缩,这种压缩与PDF中的JBIG2相似(在开源项目djvulibre中对二者的渊源有过描述),对于黑白图像,尤其是以字母、数字为主的黑白图像,具有非常高的压缩率。而对于插图、底纹等彩色信息,DjVu通常在背景层中用IW44压缩。IW44与JPEG 2000也颇有渊源(这在djvulibre里也有描述)。

总之,DjVu通过将页面内容分解,针对不同的内容,在不同的层中用不同的算法进行压缩,其还原效果、压缩比自然要比其他只有一层的图像格式,如JPG、JPEG 2000要好。

另外我相信,如果将DjVu的分层技术活用到PDF格式上,也可以减小扫瞄版PDF文件的体积:目前的转换软件在将图文混排的扫瞄页面转换成PDF时,采用的是早期PDG的做法,即将整页作为一个图像存入PDF,这样当然比较缺乏效率。如果能够向后来的PDG学习,将文字区域和插图区域分开,分别采用不同的压缩算法(PDF支持不同的图像对象采用不同的压缩算法),则整个PDF文件的长度可以大大减少。目前只是没有人去研究这种分割的方法,并加以实现。

另外在DjVu中也支持类似“双层PDF”的东西:看到的是一张扫描出来的图像,用鼠标一选则能选中文字,或对文字进行检索。这种“双层DjVu”的文字部分在DjVu文件格式规范中同样没有使用“层(layer)”这个词 加以定义,而是叫做“Text Chunk”。和PDF一样,这种DjVu也要求“字压图”,因此其结果也基本上不可再校对、编辑:不是技术上不可以,是人的精力和精神无法承受。
【论坛浏览】 【我来说两句】 【打印】 【大】 【中】 【小】 【关闭】

 相关评论
作者: yiqihouba 发布日期: 2007-1-11
说得很详细,下载收藏慢慢学习了,谢谢~~
作者: slonecn 发布日期: 2007-1-11

10元听课费还是要交的
作者: l1618 发布日期: 2007-1-11
谢谢!呵呵,学习学习!又长见识了……
作者: zhangyangd 发布日期: 2007-1-11
没钱,捧个人场。学习了
作者: funclub 发布日期: 2007-1-11
学习,学习,再学习。。。
作者: yctyct 发布日期: 2007-1-11
多谢,学习
作者: chaque 发布日期: 2007-1-11
写得好,题目也起的好
作者: krttg 发布日期: 2007-1-11
AUTOCAD中的层,呵呵。
作者: 地火 发布日期: 2007-1-11
理论联系实际,很专业!
作者: wolfs_living 发布日期: 2007-1-11
好文章,收藏
共有评论数 84/每页显示数 10

 我来说两句
请遵守国家法律和互联网法规。
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。
注意:系统启用了静态/缓存功能,您的回复可能不能立即显示。
 热点主题
·【停止销售】SUPPER 3天试用销售贴,特为
·方正的CEB文件已经可以在ADOBE阅读
·在线djvu图书书签的提取-编辑-加挂
·超星文本下载后转为单个pdf文件后用什么软
·ieHttpHeader软件下载!
·专利下载利器GetIPDL
·转帖:手工计算有试读(有封面)ss号的方法
·装了超星3.91,什么超星书都看不到了?
·编写了一个根据BookInfo.dat对文件目录进
·不错的pdf资料管理软件Foxit Library,谁
·超星书图片失真
·【严正申明】本版不欢迎绕过服务商的验证
·pizza 的这个问题
·6XH文件如何阅读?谢谢
·网络嗅探器无论如何也找不到网卡,怎么办?
 最新主题
·方正的CEB文件已经可以在ADOBE阅读
·delphi中控制线程数的问题
·网络嗅探器无论如何也找不到网卡,怎么办?
·Pdf图书书签的建立方法
·我用Pdgsniffer.exe截留下载的文件为何打
·wget的log文件可否有参数只记录未完成下载
·仅1KB的PDG有时是空白页,而这个是什么呢?
·SUPPER3.0备份文件清除器FindFilesV3同步
·在IE中阅读的超星书可以保存PDG吗
·想知道你下载了多少pdg文件吗,自编的文件
·已解决,谢谢各位。
·转帖:手工计算有试读(有封面)ss号的方法
·在flashget中哪儿可以输入自己定义的http
·ieHttpHeader软件下载!
·24小时打造一个破解高手-绿色版
 
 
 
 XML   RSS 2.0   WAP 
 
版权所有  2005  网上读书园地  免责声明  最佳分辨率  1024 X 768
Copyright   ©  http://www.readfree.net  All rights reserved.  Powered by supstie™
鄂ICP备05004310号