Anda di halaman 1dari 99

qwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjkl
zxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
制作版面还原的
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
文本 PDF 的方法
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
第一版

xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmrtyuiopasdf
ghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
目 录

前言 ..........................................................................................................1 
第 1 章 工具 ..........................................................................................3 
第 1 节 硬件...................................................................................3 
§1.1.1 计算机.........................................................................3 
§1.1.2 显示器.........................................................................3 
§1.1.3 扫描仪.........................................................................4 
第 2 节 非字体软件.......................................................................4 
§1.2.1 全部非字体软件列表 .................................................4 
§1.2.2 重要软件的安装、设置及说明 .................................5 
第 3 节 字体软件.........................................................................14 
§1.3.1 字体管理...................................................................14 
§1.3.2 最佳正文宋体...........................................................14 
§1.3.3 字体配套使用...........................................................16 
第 2 章 素材 ........................................................................................18 
第 1 节 纸质书.............................................................................18 
§2.1.1 扫描设定...................................................................19 
§2.1.2 扫描...........................................................................20 
§2.1.3 扫后处理...................................................................20 
第 2 节 扫描件.............................................................................22 
§2.2.1 去色及生成临时pdf .................................................23 
§2.2.2 去黑边、去污、去页码、对齐版心 .......................26 
§2.2.3 纠偏...........................................................................26 
§2.2.4 识别...........................................................................27 
§2.2.5 处理文本...................................................................29 
§2.2.6 处理黑白图...............................................................31 
§2.2.7 处理彩图...................................................................32 
§2.2.8 处理封面封底...........................................................33 
第 3 节 各种外来素材.................................................................37 
§2.3.1 PDF格式 ...................................................................37 
§2.3.2 PDG格式...................................................................38 
§2.3.3 WORD格式 ..............................................................38 
§2.3.4 EXE格式 ...................................................................39 
§2.3.5 CHM格式..................................................................39 
§2.3.6 HTML及XML格式...................................................39 
第 3 章 方法 ........................................................................................40 
第 1 节 排版.................................................................................40 
§3.1.1 制版...........................................................................40 
§3.1.2 排版...........................................................................43 
第 2 节 校对.................................................................................44 
§3.2.1 自动校对...................................................................44 
§3.2.2 朗读校对...................................................................44 
第 3 节 处理PDF .........................................................................45 
§3.3.1 生成pdf .....................................................................45 
§3.3.2 查看pdf .....................................................................46 
§3.3.3 修整pdf .....................................................................46 
第 4 节 工程文件备份及目录组织 .............................................47 
§3.4.1 工程文件备份...........................................................47 
§3.4.2 目录组织...................................................................48 
第 4 章 技巧 ........................................................................................50 
第 1 节 word使用技巧 ................................................................50 
●需要熟练掌握的快捷键 .....................................................50 
●自定义宏及其VBA代码 ....................................................55 
●其它Word使用技巧 ............................................................62 
第 2 节 处理特殊格式.................................................................62 
●分栏及分栏线.....................................................................62 
●表格及列表.........................................................................63 
●图片 ....................................................................................64 
●批注 ....................................................................................64 
●脚注 ....................................................................................65 
●带圈数字.............................................................................66 
●跨行括号.............................................................................67 
●行首全角标点压缩.............................................................68 
●带逗号连续数字.................................................................68 
●数学公式.............................................................................69 
●化学公式.............................................................................69 
●难字 ....................................................................................69 
●外语 ....................................................................................71 
●其他特殊格式.....................................................................71 
第 3 节 双层PDF .........................................................................73 
第 5 章 附录 ........................................................................................74 
第1节 MarkDot说明及源代码 ..................................................74 
第 2 节 把PDF还原成纸质书 .....................................................90 
第 3 节 管理PDF电子书 .............................................................92 
前 言

电子书的格式种类繁多,但最理想的当属版面还原的文本
PDF。所谓版面还原的文本 PDF,其中的文本是相对于图像而言
的,图像 PDF 是纸质书扫描件的封装,可以很好的反映纸质书
的原貌,但由于是图像集合,其中的文字不能复制、粘贴、查找
和朗读,而文本 PDF 则没有这个缺点,但文本 PDF 在制作时,
往往不考虑原书版面,引用书中内容时就无法注明出处。版面还
原指电子书的版面和纸质书相同,即:电子书的开本、页码、字
体、每页行数、每行字数等都和纸质书相同。版面还原的文本
PDF 结合了图像 PDF 和文本 PDF 的优点,又克服了两者的缺
点,既可以最大限度地还原纸质书的原貌,以便在引用时注明出
处,又可以方便地查找、复制和朗读其中的文本,所以说它是最
理想的电子书格式。

由于要做到版面还原,所以必须要有纸质书。如果没有纸质
书,就无从知道原书的版面情况,因而也就无法做到版面还原
了。外来扫描件往往是不可靠的,没有纸质书做比较,你无从知
道它在内容上是否完整,在顺序上是否正确。得到纸质书的途径
有:
一、自己现有的藏书。
二、向亲友或公共图书馆借阅。
三、从网络购买等,网络购书的地址有:

1
1、 博 库 书 城( http://www.bookuu.com/Club/login.jsp?url=)

一般的新书都可以从这个网站买到。
2、孔夫子旧书网(http://www.kongfz.com/index.php),这是
全球最大的中文旧书网站。
3、淘宝网(http://www.taobao.com/),不论新书旧书,都可
以去这个网站淘一下。

另外,由于制作版面还原的文本 PDF 费时费力,所以制作


前要慎重选择书目,以免浪费精力。笔者经常在做好一本书后,
发现此书没有什么价值或突然对它失去了兴趣。纸质书不可胜
数,但真正有价值的却是有限的:有些书很快会过时,如一些软
件使用的书;有些书根本没有什么价值,如一些宗教方面的书。
笔者的选书原则如下:
一、对专业或工作有帮助的书。这样既能整理资料,又能促
进学业,还能使自己受到的职业训练保存下来。
二、对爱好有帮助的书。兴趣是最好的动力。
三、时间价值长的书。如文史类,很长时间都不会过时,一
些古典文学著作或史籍历经千年也还有人阅读。

制作版面还原的文本 PDF 的过程,简单的说,就是利用制


作工具对素材进行加工,最后生成 PDF 文档的过程。本书就是
根据这个过程来安排章节的:第一章工具篇,介绍制作 PDF 所
需的各种软、硬件;第二章素材篇,介绍各种素材的处理方法,
即如何把素材分割成可供排版使用的文本、插图和表格等;第三
章方法篇,介绍具体的制作方法;第四章技巧篇,介绍制作技
巧;第五章附录,介绍和一些相关的其它方面的专题。

2
第1章 工具

工具可分为硬件和软件。软件又可分为非字体软件和字体软
件二大类。

第1节 硬件

硬件主要包括计算机、显示器、扫描仪。

§1.1.1 计算机

由于需要处理长文档,制作版面还原的 PDF 对计算机的要


求很高。笔者的目前的配置是:Celeron 2G CPU,512M 内存,
64M 显存的 GeForce FX 5200 显卡,在制作中经常感到速度缓
慢,这可能是制作版面还原的 PDF 所需的最低配置了。

§1.1.2 显示器

要想在电脑上较舒适的阅读 PDF 文件,以及在制作 PDF 时


有较高的工作效率,显示器必须为液晶;分辨率不能小于 1280
×1024;屏幕应能旋转,对于不能旋转的显示器,可以加配一个

3
多功能支架。

§1.1.3 扫描仪

对于个人电子书制作者来说,纸质书源一般不能拆解,因
此,能够方便的扫描成册资料的零边距扫描仪是最实用的选择。
笔者使用的是方正 Z700。

第2节 非字体软件

§1.2.1 全部非字体软件列表

制作版面还原的 PDF 需要的全部非字体软件列表如下:

名称 版本 用途 说明

ACDSee 5.0 管理图像

Adobe Acrobat 8.1.2 制作PDF 8.1.X以上的版本Word2007中可用。

Adobe Reader 8.1.2 查看PDF

BabelPad 1.9.3 输入难字 无需安装,直接运行

Better File Rename 4.5 重命名文件

CtrlN 1.03 处理exe素材 无需安装,直接运行

Font Fitting Room 2.6.1.4 管理字体 英文版加汉化补丁

FreePic2Pdf 1.08 图像转PDF 无需安装,直接运行

ImageProcess 20031127 纠偏 无需安装,直接运行

InterPhonic 2.2 朗读PDF

4
IrfanView 3.99 转换图像格式 无需安装,直接运行

MarkDot 1.0 压缩标点 无需安装,直接运行

MathType 6.0a 输入数学公式

miniKillEBook 1.05 处理exe素材 无需安装,直接运行

notepad 5.1 处理文本文件 即Windows XP自带的记事本

PageFilter 060101 对版心,去黑边 无需安装,直接运行

PDF Password Recovery 2.2.0 PDF解密

PDG2Pic 1.12 处理PDG素材 无需安装,直接运行

Photoshop CS2 处理图像

SmartDraw 6.51 输入化学公式

SSReader 3.73 PDG阅读器

TextPad 4.7.3 处理文本文件 英文版加汉化补丁

TxtEasy! 1.5.5 合并txt文件 无需安装,直接运行

word 2007 排版 2007支持otf字体,2003不支持。

汉王文本王 7600 OCR软件

文本整理器 3.0 处理文本文件 即TextEditor

海峰五笔 9.4 汉字输入 配套超大字集支持包

上述软件安装时全部安装到系统盘的 Program Files 目录。

§1.2.2 重要软件的安装、设置及说明

1.2.2.1 Word

5
1.2.2.2 Adobe Acrobat
用于生成、修整 PDF 文件,首次使用需做如下设置:
一、设置首选项:
1、去除“文档”中的“另存为优化快速 Web 查看”。
2、把“页面显示→默认布局和缩放”中的“页面布局”设
置成“单页”;“缩放类型”设置成“适合页面”。
3、把“页面显示→分辨率”设置成“使用系统设置”。
4、 把 “ 页 面 显 示 → 渲 染 → 平 滑 文 本 ” 设 置 成 “ 用 于 显 示
器”。
二、设置菜单栏:
1、在“视图→页面显示”中勾选“双联时显示封面”。
2、在“视图→工具栏”中去除“任务”栏。
3、 右 击 工 具 栏 中 的 空 白 处 , 在 弹 出 菜 单 中 点 击 “ 更 多 工
具”,把“选择工具”、“手形工具”、“上一视图”、“下一视图”、
“双联”工具添加到工具栏。
三、设置 PDFMaker:
启动 Word,点击菜单项的“Acrobat→首选项”,弹出如下
对话框:

6
1、“设置”标签设置如下:
A、把“转换设置”设置成“高质量打印”。
B、按“高级设置”按钮,设置“一般”选项如下图:

7
C、设置“图像”选项如下图:

8
对于图像压缩,有损压缩是不能考虑的,因为纸质书一经扫
描,清晰度即下降很多,如果再有损压缩,清晰度就更差了。在
无 损 压 缩 中 , jpeg2000 的 压 缩 率 比 zip 高 , 同 一 幅 图 像 ,
jpeg2000 的体积大约是 zip 的 60%左右。
D、其它选项不用更改。点击确定保存设置后,如下图:

2、“安全性”标签不用设置。
3、“Word”标签设置如下图:

9
不勾选“启用高级标签处理”,如果勾选,生成的 PDF 中如
有批注,朗读时会先朗读批注,再朗读正文,但在绝大多数情况
下,批注是不需要朗读的。如果文档中有批注,上图的注释部分
会变成:

10
点击黄色的标签,把它改为白色,这样生成的 PDF 中的标
签标记就是透明度为 30%的白色图标,黄色标签太刺眼了。
4、“书签”标签设置如下图:

11
注意,在转换前还要根据纸质书实际情况设定转换成书签的
标题级数。一般参照纸质书目录级数。

1.2.2.3 Adobe Reader


用于查看 PDF,和同类软件相比,该软件清晰度最高、功
能最全、对中文兼容性最好、和 Windows 语音引擎、屏幕翻译
软件的结合度也最好。
其设置参阅 Adobe Acrobat 的前二步。但在“首选项→辅助
工具”要增加自定义颜色,默认的白底黑字长时间阅读很刺眼。
需要特别指出的是:一旦使用了自定义的背景和前景色,
PDF 中的黑白图就应使用白色透明,以使白色背景和浏览器背
景一致。背景和前景色的颜色组合可以有很多,但总可分为两
类:前景深背景浅或前景浅背景深。前景浅背景深是不合适的,
这是因为:黑白图在更改颜色时,只能更改一种颜色,要么黑色
改变、白色不变;要么白色改变、黑色不变。其中黑色改变、白
色不变是无意义的,因为我们的目的是使白色变得和背景色一
致,即白色部分要改变,而白色部分颜色改变,黑色部分就不能
变了。为和黑白图一致,只能采用前景为黑色,背景为浅色的配
色方案。以下的背景效果较好:
浅蓝,RGB 为 227、242、249;
明黄,RGB 为 255、255、237;
替换文档颜色时还应勾选“仅更改黑色文本或线状图的颜
色 ” 和 “ 更 改 线 状 图 和 文 本 的 颜 色 ”, 否 则 , 数 学 公 式 中 的 符
号,如根号等的前景色不会改变。

1.2.2.4 InterPhonic
用于朗读 PDF 文件。文本 PDF 的主要优势就是可以自动朗

12
读,自动朗读可以加深对文意的理解,也可减轻用眼疲劳。若干
年前,由于中文语音引擎质量的低劣,用电脑自动朗读 pdf 对耳
朵是一种折磨。现在,自从科大讯飞推出 InterPhonic 系列后,
这个问题已经解决,其发音效果和真人发音相比,除多音字的识
别有所欠缺外,其它方面有过之而无不及。目前这个系列已出到
5.0,但在网上只能下载到 2.2 版本,下面介绍如何安装使用这
个语音引擎。
InterPhonic2.2 包括 Runtime Desktop 和 VocLib 16K(Amr)两
个文 件夹 。 前者 是语 音 引擎 ,后 者 是语 音库 。 先打开 Runtime
Desktop 文件夹运行 Runtime(Desktop)_Chinese (PRC).msi 安装语
音 引 擎 , 再 打 开 VocLib 16K(Amr) 文 件 夹 运 行
16kVocLib_Chinese (PRC).msi 安装语音库。
安装完成后,进入“开始→所有程序→科大迅飞→
InterPhonic CE Ver2.2 →TTS SDK→SAPI5.0→iFly SAPI5.0 注册
工具”,在弹出的“讯飞 SAPI 接口注册工具 1.1 版”对话框中,
点 击 右 侧 的 浏 览 按 钮 , 找 到 iFlyTTS.dll 文 件 的 路 径 ( 默 认 为
C:\Program Files\iFly Info Tek\InterPhonic C&E
Ver2.2\Bin\iFlyTTS.dll),然后点击“注册”按钮。
以上步骤完成后,打开控制面板的语音选项,找到
iFlyCathy_InterPhonic_CN10, 将 其 设 置 成 默 认 语 音 , 并 设 置 语
音速度。一般将语速设置在“正常”和“快”之间。点击“确
定”退出。

13
这样就可以在 Adobe Reader 菜单的“视图→朗读”中启用
科大语音库进行朗读了。

第3节 字体软件

§1.3.1 字体管理

纸质书的版面情况复杂,要想模仿各种情况,字体自然多多
益善,因此,平时要注意收集各种字体。这些字体可用“字体试
衣间”统一管理。

§1.3.2 最佳正文宋体

我们制作 PDF 的电子书,主要是用来在电脑上阅读的,因


此,屏幕阅读效果的好坏,是制作时需要考虑的首要问题。不同
的显示器、阅读软件、同一阅读软件的不同版本以及不同的字体

14
等等许多因素,都会影响屏幕阅读效果。其中显示器、阅读软件
前面已经谈过了,这里谈一下正文字体。
一本书的字体种类繁多,但总可分为正文字体和非正文字
体。不同书的正文字体也不尽相同,有宋体、扁宋体、黑体、仿
宋体、楷体等,但用的最多的是宋体。由于纸质书的分辨率很
高,这些不同的正文字体都可以收到很好的阅读效果,但制作成
电子书后,不同的正文宋体在显示器上的显示效果差别很大。因
此有必要把正文宋体统一成屏幕浏览效果较好的一种。
经过大量测试,笔者发现下列组合屏幕阅读效果最好:阅读
软件:Adobe Reader;版本 8.1.2;平滑设置:显示器;正文宋
体:AdobeSongStd-Light。此时的显示效果和 windows 中的点阵
宋体差别不大,已经达到可以接受的效果。其它软件及字体组合
和这个组合相比,阅读效果差别明显。
上面的组合中要注意两点:一、Adobe reader 的平滑设置要
设成显示器,即使是液晶显示器也这样设置;二、Adobe reader
的版本为 8.1.2,不能是 7.0 或 9.0,7.0 的平滑设置没有“用于
显 示 器 ” 或 “ 用 于 手 提 电 脑 /液 晶 屏 ” 的 选 项 , AdobeSongStd-
Light 字 体 偏 细 偏 淡 , 9.0 的 文 本 平 滑 引 擎 和 8.x 不 同 ,
AdobeSongStd-Light 字体在 9.0 中的阅读效果比 8.x 稍差,但和
其它组合比,效果也是明显占优的。
正确使用 AdobeSongStd-Light,还需要注意以下几点:
一、AdobeSongStd-Light 是一种 otf 字体,word2003 不能正
常显示,需使用 word2007。
二、该字体的 10 磅字和纸质书的 5 号铅字大小相同,而 5
号字约等于 10.5 磅,比纸质书的 5 号铅字大。因此,如果纸质
书是 5 号铅字,电子书字体大小应为 10 磅而不是 5 号。
三、此字体加粗后可用作标宋,缩放值小于 100%时可用作

15
长宋,大于 100%时可用作扁宋。

§1.3.3 字体配套使用

确定正文字体后,还要确定和其配合的其它西文字体和中文
字体。
一、西文正文字体:
可以参考纸质书的实际字体加以设置,一般为 Times New
Roman,在字体平滑设为“液晶显示器”时,Times New Roman
和 AdobeSongStd-Light 反差强烈,两者并不匹配,但设为“显
示 器 ” 时 , 两 者 趋 于 一 致 , 如 前 述 , 查 看 PDF 时 平 滑 要 设为
“显示器”,所以,西文可以使用 Times New Roman。
二、中文缺字:
AdobeSongStd-Light 是一种 GBK 字体,字符数约为 3 万左
右,大多数情况下是够用的,如遇缺字,可用方正超大字符集。
和方正超大字符集配合使用时,方正超大字符集字体位置要提升
一些,这样,两者基线才相同。
日文汉字及一些符号缺字可 Kozuka Mincho Pro L,即小塚
明 朝 体 , 此 字 体 来 自 于 Adobe Font Folio 11 光 盘 , 符 号 比
AdobeSongStd-Light 要多,由于编码问题,不能用作正文字体,
但用作符号字体则没有问题。此字体优点在于和 AdobeSongStd-
Light 风格比较接近,平滑文本时,两者浓淡一致。
三、非正文字体:
1、黑体 使用 AdobeHeitiStd-Regular,和微软雅黑一样,
这个字体的标点符号比较怪异,但和其它黑体相比,其清晰度是
最好的。
2、仿宋体 使用 AdobeFangsongStd-Regular。如仿宋体位

16
于标题,根据纸质书版式决定是否加粗。
3、楷体 使用 AdobeKaitiStd-Regular。如楷体位于标题,
根据纸质书版式决定是否加粗。

17
第2章 素材

素 材 泛 指 用 于 制 作 PDF 的 材 料 。 可 分 为 纸 质 书 和 非 纸 质
书。非纸质书又可分为扫描件和非扫描件。扫描件包括 PDG、
图像 PDF 等;非扫描件包括 Word、CHM、EXE、HTML、文本
PDF 等。素材的分类和形式可归纳如下:

⎧⎪纸质书 文本
素材 ⎨ ⎧⎪ 扫描件 ⎫⎪
非纸质书 ⎨ ⎬表格
⎩⎪ ⎩⎪非扫描件 ⎭⎪
插图

不难看出,纸质书是整个制作流程的起点。其它素材,归根
结底,都是从纸质书来的。有了纸质书,既可以用扫描仪对外来
素材的残缺部分进行补扫,也可以在没有任何外来素材的情况下
制作电子书。
在确定书目并得到纸质书后,就可以上网查找外来素材,以
节约素材处理时间。搜索要仔细,不要怕费时间。最好的结果是
扫描件和文本材料都有,只有扫描件或只有文本材料,也是可以
的。如果什么都没有,就只有自己扫描纸质书了。

第1节 纸质书

对于纸质书,要用扫描仪扫描成图像(这里以方正 Z700 为

18
例进行论述,其它型号可以参看)。扫描前先要进行扫描设定;
设定好后开始扫描;扫描结束后,还要整理一下扫出来的文件。
各步骤分述如下:

§2.1.1 扫描设定

一、不论纸质书的色彩是彩色、灰阶还是文字,为方便识前
处理,一律使用彩色扫描。
二、把分辨率设为 300dpi:
分辨率的单位是每英寸多少像素点。虽然从理论上说,扫描
分辨率越高,图像会越细致,识别率也就会越高,但实际情况并
非如此。提高分辨率会带来几方面的问题:一是图像尺寸急剧增
大;二是扫描时间急剧增大;三是背景噪点增加,识别率反而降
低。根据实际经验,300dpi 是最合适的。
三、把输出文件格式设为 bmp 格式,旋转设为无旋转。
四、设置保存位置、文件名前缀:
双封、插页存放于 scan 目录下的 cover 子目录,前缀为 c;
奇数页存放于 odd 子目录,前缀为 o;偶数页存放于 even 子目
录,前缀为 e。
设置完成后的界面如下图:

19
§2.1.2 扫描

一、扫描封面、封底:
由于封面、封底扫描时摆放位置不同,每次扫描前都要先预
览一下,并调整扫描区域。
二、扫描全彩插页:先奇数、再偶数。
三、扫描奇数页,扫描时包括空白页。
四、扫描偶数页。

§2.1.3 扫后处理

一、观察奇数页及偶数页的页码是否一致,如不一致,说明

20
有缺页,找出缺页并补扫。
二、旋转偶数页:
1、启动 IrfanView,点击菜单“文件→批量转换/重命名”。
2、在弹出的窗口中找到偶数页所在目录,按“全部添加”,
把文件夹中的图像文件全部添加到左侧的输入文件框。
3、按“用作输出文件夹”,自动设置输出目录;
4、把“工作方式”设置为“批量转换”。
5、把“输出格式”设置为 bmp。
6、勾选“使用高级选项”,并设置高级选项如下:

7、按“开始”执行转换。
三、用 Better File Rename 把奇数页命名为起始值为 1,步
幅值为 2,填充数为 6 的编号列表。

21
四、用 Better File Rename 把偶数页命名为起始值为 2,步
幅值为 2,填充数为 6 的编号列表。
五、把 cover、odd、even 目录中的全部文件移动到 scan 目
录,并删除这三个子目录。
六、删除 scan 目录中不占页码的空页
七、按超星风格重命名 scan 目录中的文件:
封 面 命 名 为 cov001, … ; 扉 页 为 bok001,… ; 版 权 页 为
leg001,…;前言为 fow001,…;目录为!00001,…;正文为
000001,…;封底为 bac001,…,附录为 att001,…。

第2节 扫描件

扫描件包括按上述方法扫描出来的自扫描件,也包括从各种
外来素材中得到的影印件,对于这些图像文件,要进行如下处
理:

22
§2.2.1 去色及生成临时pdf

一、把 scan 目录中的彩色图、灰度图移动到 temp 目录。


二、去色:
1、仔细翻阅纸质书,如果浓淡不均,选择较淡的页面,复
制到 temp 目录,如果浓淡较均匀,选择包括插图并且字体字号
变化较大的页面,复制到 temp 目录。
2、用 photoshop 打开 temp 目录中的临时图像,将显示比例
设为 100%,执行“去色”、“阀值”操作,阀值一般按默认值即
可。
3、在动作面板中把去色动作的阀值修改为刚才的阀值,并
关闭图像。如找不到去色动作,则先要建立这个动作,步骤为:
A、点击“窗口→动作”,打开动作面板。
B、 打 开 temp 目 录 中 的 临 时 图 像 , 单 击 动 作 面 板 下 方 的
[创建新动作]按钮,弹出如下对话框:

在此对话框的“名称”栏中输入“去色”,然后单击[记录]关
闭对话框。
C、执行前述的“去色”、“阀值”操作,存储图像后单击动
作面板下方的“停止”按钮停止记录。
D、关闭临时图像文件,然后到 temp 目录中删除此文件。
4、用去色动作把 scan 目录中的彩色文件转换为黑白文件:
点击“文件→自动→批处理”,弹出如下的批处理对话框:

23
在此对话框中设置各个参数:
A、在“动作”下拉菜单中选“去色”。
B、在“源”下拉菜单中选“文件夹”。
C、单击[选取]按钮在弹出的对话框中选择待处理的图片
所在的文件夹,单击[确定]。
D、在“目标”下拉菜单中选“存储并关闭”。
E、在“错误”下拉菜单中选“将错误记录到文件”。单击
[存储为]设置一个文本文件。
然后单击[确定]开始批处理,批处理结束后关闭
photoshop。
5、用 IrfanView 把 scan 中的 bmp 文件转换成二值 tif 文
件:
A、点击“文件→批量转换/重命名”;

24
B、在弹出的窗口中找到 scan 目录,按[全部添加],把文
件夹中的图像文件全部添加到左侧的输入文件框;
C、按[用作输出文件夹],自动设置输出目录;
D、把“工作方式”设置为“批量转换”;
E、把“输出格式”设置为 tif;
F、单击[选项],设置 tif 保存选项如下:

G、勾选“使用高级选项”,并设置高级选项如下:

H、按[开始]执行转换。
四、生成临时 pdf:
1、把移动到 temp 目录的彩色图、灰度图移回 scan 目录。

25
2、用 FreePic2Pdf 把 scan 目录下的图像文件转换成一个供
校 对 用 的 临 时 pdf 文 件 , 存 放 于 word 目 录 , 文 件 名 如
00000000_temp。转换时 FreePic2Pdf 的参数设置如下:

3、把 scan 目录中需要识别的页面复制到 otiff 目录。

§2.2.2 去黑边、去污、去页码、对齐版心

用 PageFilter 打开 otiff 目录中的图像,对这些图像进行去黑


边、去污、去页码、对齐版心的处理。具体方法见 PageFilter 的
帮助文件。注意:PageFilter 及后面的 ImageProcess 软件运行前
先要删除工程目录中的非数字后缀,否则程序无法使用,完成操
作后再恢复。处理时页面按奇偶排列。

§2.2.3 纠偏

用 ImageProcess 打开 otiff 目录中的图像,对这些图像进行


纠偏处理。注意:此程序极不稳定,除[倾斜校正]外,其余按

26
钮均不可用。

§2.2.4 识别

识别指用识别软件将扫描件分割成文本、插图和表格的过
程。其中识别出来的文本和插图在排版前要进行预处理,表格不
用预处理,直接用浏览器打开 html 文件即可使用。识别操作步
骤如下:
一、屏幕右旋 90 度。
二、启动汉王文本王。
三、在“查看→工具栏”菜单中取消“识别设置栏”、“扫描
路径设置栏”、“工具栏按钮文字”。
四、用汉王文本王打开 otiff 目录下的全部图像,使工作界
面如下图:

27
28
五、对所有图像进行自动版面分析。
六、逐幅查看自动版面分析的结果,如有错误,则修正。查
看时记下边缘或其它部位模糊的页面,以及有衬图的页面。注
意:数学公式要设为图像;对于有衬图的页面,要优先识别图
像,文字可以在排版前补充识别。
七、对所有图像进行自动识别。
八、校对前面记下的模糊页面。
九、把识别结果以 txt 格式批量导出到 txt 目录。
十、把识别结果以 html 格式批量导出到 html 目录。
十一、关闭汉王文本王并恢复屏幕旋转。

§2.2.5 处理文本

步骤如下:
一、合并文本:
1、用 acdsee 或 Better File Rename 把 txt 目录中需要合并的
文本文件按顺序重命名好。
2、用 TxtEasy!把需要合并的多个文本文件合并为一个文本
文件。
3、用 Windows XP 的记事本打开合并后的文本文件,存一
下盘,然后关闭。
二、用 textpad 修整文本:
1、设置分页标记:将“回车符+半角空格+回车符”替换成
“pppp+回车符”。
2、查看删除表格行、每行首尾的多余字符。
3、处理空格:
A、把空格统一成半角:将一个全角空格替换成两个半角空

29
格。
B、删除行末的空格:将“半角空格+回车符”替换成回车
符。
C、将“回车符+一个半角空格”替换成“回车符+四个半角
空格”。
D、将“回车符+五个半角空格”替换成“回车符+四个半角
空格”。
E、将“回车符+四个半角空格”替换成“回车符+二个全角
空格”。
F、将二个半角空格替换成一个全角空格。
4、处理破折号:
A、将两个“--”替换成一个“—”。
B、将两个“——”替换成“zzzz”。
C 、 将 一 个 “ — ” 替 换 成 “ ~ ”: 朗 读 时 ,“ ~ ” 会 读 成
“至”,而“—”不发声。
D、将“zzzz”替换成“——”。
E、查找“一一”,看其是否和“——”相混。
三、用文本整理器修整文本:
1、 把 半 角 标 点 转 换 成 全 角 标 点 , 五 种 标 点 加 左 右 半 角 括
号。
2、把全角字母、数字转换成半角。
四、用 word 修整文本,以 windows 默认编码打开:
1、设置正确的数字“1”和字母“l”。
A、查找字母“l”+任意数字。
B、查找任意数字+字母“l”。
2、设置正确的数字“0”和字母“o”。
A、查找字母“o”+任意数字。

30
B、查找任意数字+字母“o”。
C、查找数字“0”+任意字母。
D、查找任意字母+数字“0”。
3、查找“数字+一”,看它是否和“—”混淆,如混淆,替
换成“~”。
4、处理“.”号(全角下圆点):
A、查找“数字+.”,看它是否和半角小数点混淆。
B、 查 找 单 独 的 “ .”, 看 它 是 否 和 句 号 、 半 角 小 数 点 等 混
淆。
5、把“数字+全角逗号+数字”替换成“数字+半角逗号+数
字”。
五、用 MarkDot 标记压缩标点。注意,处理前先用 textpad
删除空行。
六、用 textpad 删除不需要的回车符:
1、将“回车符+两个全角空格”替换成“zzzz+两个全角空
格”。
2、删除全部回车符。
3、将“pppp”替换成“回车符+pppp”。
4、将“zzzz”替换成回车符。

§2.2.6 处理黑白图

一、在 html 目录中查找全部 gif 文件,并把找到的文件复制


到 insets 目录。
二、用 Acdsee 和 Photoshop 参照纸质书对 insets 目录中的
gif 文件进行去污处理,Acdsee 的窗口背景应设为白色,这样有
利于发现边缘的噪点,具体去污步骤如下:

31
A、用 acdsee 打开需要处理的图像。
B、按 ctrl+e 启动 photoshop 打开图像(需保证在首选项勾
选“缩放时调整窗口大小”)。
C、放大到 100%,用直径 20 的橡皮工具(E)擦除较大的
杂点。
D、放大到 200%,用直径 5 的笔刷工具(B)擦除较小的杂
点。
E、按 ctrl+s 保存,并转到 acdsee 观察效果是否可以接受,
如是,则转入下一幅图像,如否,则转到 photoshop 再修改。
三、用 IrfanView 把 insets 目录中的 gif 文件转换成压缩方
法为 CCITT4、分辨率为 300dpi 的 tif 文件,并删除原 gif 文件。
四、用 Photoshop 把 insets 目录中的 tif 文件转换为白色透明
的 eps 文件:
由于 insets 目录下的文件数量不定,需要为此操作设置一个
批处理动作。设置动作的具体步骤如前述。在调用此动作时,要
把目标文件夹设为 insets 目录,并勾选“覆盖动作中的存储为部
分”。

§2.2.7 处理彩图

彩图包括灰度和彩色二种。大部分彩图是矩形的,也有非矩
形的,如椭圆形的照片等。
◆矩形彩图的处理步骤如下:
一、把 scan 中的彩图复制到 temp 目录。
二、用 photoshop 逐个打开 temp 目录中的图像。
三、用裁剪工具扣出插图。
四、如果是灰度图,则去色(ctrl+shift+u),转灰度。

32
五、另存(ctrl+shift+s)到 insets 目录,灰度图存为 8 位
bmp,彩色图为 24 位,文件名如 ATT001BMP0。
六、全部完成后清空 temp 目录。
◆非矩形彩图的处理步骤如下:
一、前三步同矩形彩图。
二、把背景部分转成透明色。
三、如果是灰度图,则去色(ctrl+shift+u),转灰度。
三、另存为 psd 格式。
四、用 IrfanView 把 psd 转换为白色透明的 png 格式。
五、全部完成后另存 png 到 insets 目录并清空 temp 目录。

§2.2.8 处理封面封底

按图案复杂程度,可将双封分为简单、复杂和复合三种情
况。简单是指背景和前景可以比较容易的分离开来;复杂是指背
景和前景难以分离;复合是指一幅双封可分为若干区域,分别由
简单或复杂组合而成。
◆开始处理前,先要建立双封的模板文件,具体方法为:
启动 photoshop,新建一个 300dpi 的 8 位 RGB 图像文件,
宽度和长度根据纸质书的开本确定:
一、32 开为 13cm×18.41cm,文件名为 cov32.psd。
二、大 32 开为 14cm×20.3cm,文件名为 cov32 大.psd。
建 好 后 把 背 景 层 命 名 为 T_00 , 并 保 存 到 封 面 模 板 目 录 :
eBook Workshop\Temptele\cover。
◆处理简单的双封:
以下步骤以封面为例,封底只需把文件名中的 cov 改为 bac
即可。

33
一、把封面模板目录中相应开本的 psd 文件复制到 cover 目
录,并重命名为 cov001.psd。
二、用 photoshop 打开 cover 目录中的 cov001.psd 和 scan 目
录中的 cov001.bmp。
三、把 cov001.bmp 复制到 cov001.psd,形成一个新图层,
命名此图层为 T_01,完成后关闭 cov001.bmp。
四、处理背景:选中 T_01,按 ctrl++放大,用吸管工具在
背景较深浅较平均处取色,选中 T_00,用油漆桶工具为 T_00 涂
色。
五、处理图案:选中 T_01,按 ctrl+-缩小,用选框工具选中
图案部分,复制到新图层 T_02。隐藏 T_01,用魔棒工具选择
T_02 的背景,删除背景。显示 T_00,选择 T_02,用选框工具+
删除键及橡皮擦工具删除背景部分的杂点。
六、处理文字:用文字工具参照 T_01 上的字体、字号、间
距添加文字图层。
七、隐藏 T_01 并显示其它图层,保存 psd。另存为 24 色
bmp。
◆处理复杂的双封:
5、把 cov001.bmp 复制到 cov001.psd,形成一个新图层,命
名 此 图 层 为 T_01 , 然 后 隐 藏 背 景 图 层 T_00 并 关 闭
cov001.bmp。
二、修整原图:
1、缩放 T_01 图层,使其边界和画布一致。
2、如果边界缺像素,把边界附近的色块复制到边界处,并
在色块边缘作柔化处理。
3、如果有标签,把标签边缘的色块复制到标签处,并对色
块边缘作柔化处理。

34
4、去污、去折痕等。
5、对不清楚的细节做色块复制处理,如文字部分缺失的笔
画等。
6、保存 cov001.psd,并另存一个备份到 temp 目录。
三、删除 10 磅左右的小字,如果有的话。
四、处理印刷网格:
1、把图像大小从 300dpi 缩减到 225dpi。
2、把图像大小从 225dpi 缩减到 150dpi。
3、对图层做一次智能锐化,设置值根据模糊程度而定,一
般来说,设置值不宜过大。下面是一个示例:

五、处理白色背景:
1、用魔棒选择并删除 T_01 中的白色背景。
2、解决隐藏 T_00,把 T_00 设为全白。
3、用橡皮工具删除 T_01 中的剩余杂点。
4、为 T_00 添加杂色,设置如下图:

35
六、清晰化:
1、复制 T_01 为 T_02。
2、用魔棒选择并删除 T_02 中的背景色,再用橡皮工具删
除剩余杂点。
3、按 CTRL+F,对 T_02 再做一次智能锐化。
4 、 将 T_02 的 混 合 模 式 改 为 “ 柔 光 ”, 不 透 明 度 改 为
“70%”。
5、复制 T_02 为 T_03。
6、按 CTRL+F,对 T_03 再做一次智能锐化。
7、将 T_03 的不透明度改为“50%”。
8、观察最终效果,如不满意,返回第七步,修改锐化设置
后重新进行。
七、处理小字,思路是生成一个 600dpi 的透明的 eps 文
件,使用时覆盖在 150dpi 的背景图像上,具体步骤如下:
1、打开 temp 目录中的 cov001.psd。
2、用文字工具输入相同的小字,字体平滑为无。
3、把 cov001.psd 以 cov002.psd 的文件名另存到 cover 目

36
录。
4、删除其它非文字图层。
5、裁剪图像,仅保留文字部分,然后把图像增大到
600dpi。
6 、 存 盘 , 并 另 存 为 bmp , 关 闭 cov002.psd 但 不 退 出
photoshop。
7、用 IrfanView 把 cov002.bmp 转换成分辨率为 600dpi 的 2
色 tif 图像。
8、用 photoshop 把 cov002.tif 转换成白色透明的 eps 文件。

第3节 各种外来素材

§2.3.1 PDF格式

PDF 包括图像 PDF 及文本 PDF,图像 PDF 又包括清晰版和


非清晰版。PDF 格式的处理方法如下:
一、如果 PDF 文件有加密,则用 PDF Password Recovery 解
密。
二、用 acrobat 打开 PDF 文件。
三、如果是图像 PDF,则单击菜单“文件→导出→图像→
TIFF”,在弹出的对话框中选择存放路径为 scan 目录,转换分辨
率为 118.11 像素/厘米,即 300dpi,即使是非清晰版也要这样设
置。
四、如果是文本 PDF,则单击菜单“文件→导存为→纯文
本”,选择存放路径为 txt 目录。
五、补扫封面、封底、插图页等。如果是清晰版图像

37
PDF,黑白插图可以直接利用。补扫的具体方法参看本节有关部
分。
六 、 处 理 scan 目 录 中 的 图 像 , 具 体 方 法 参 看 本 节 有 关部
分。
七、处理 txt 目录中的文本,具体方法参看本节有关部分。

§2.3.2 PDG格式

PDG 格式的处理方法如下:
一、用 PDG2Pic 将 PDG 转换成 tif 或 jpg 格式,存放路径为
scan 目录。
二、补扫封面、封底、插图页等。如果是清晰版 PDG,黑
白插图可以直接利用。补扫的具体方法参看本节有关部分。
三 、 处 理 scan 目 录 中 的 图 像 , 具 体 方 法 参 看 本 节 有 关部
分。

§2.3.3 WORD格式

外来 WORD 格式一般只能利用其中的文本部分,封面、封
底、插图等其它部分需要补扫。具体处理方法如下:
一、用 WORD2007 逐个打开 WORD 文档,并另存为纯文
本,存放路径为 txt 目录。
二、补扫封面、封底、插图页等,具体方法参看本节有关部
分。
三 、 处 理 scan 目 录 中 的 图 像 , 具 体 方 法 参 看 本 节 有 关部
分。
四、处理 txt 目录中的文本,具体方法参看本节有关部分。

38
§2.3.4 EXE格式

exe 格式是集成浏览器的 html 格式,一般只能利用其中的文


本部分。具体处理方法如下:
一、用 miniKillEBook 提取 exe 格式中的文本,存放路径为
txt 目录:
先 运 行 exe 电 子 书 , 再 运 行 miniKillEBook , 把
miniKillEBook 中的靶子图标拖动到 exe 电子书显示网页的窗口
上再松开,miniKillEBook 就会自动提取其中的文本。
二、补扫封面、封底、插图页等,具体方法参看本节有关部
分。
三 、 处 理 scan 目 录 中 的 图 像 , 具 体 方 法 参 看 本 节 有 关部
分。
四、处理 txt 目录中的文本,具体方法参看本节有关部分。

§2.3.5 CHM格式

§2.3.6 HTML及XML格式

39
第3章 方法

第1节 排版

§3.1.1 制版

制版是指模仿纸质书的版面建立一个 word 文档。步骤如


下:
一、新建文档:
1、启动 word,新建一个空白文档,然后用 word 打开 txt 目
录中的文本文件,将其中的文本复制到空白 Word 文档,完成后
关闭文本文件。
2、设置文档属性中的作者和标题,并将文档以 2003 格式另
存到 word 目录。
注意:必须是 2003 格式而不是默认的 2007 格式,2007 格
式插入 eps 图像后,生成的 PDF 中的 eps 图像变成一个黑色方
块,而 2003 则没有这个问题。
二、页面设置:
1、根据纸质书的开本设置纸张大小。
2、初步设置页边距:
A、先确定装订线:用直尺量出纸质书的版心宽度,再量出
右边距,用纸张宽度减去纸质书版心宽度,再减去右边距宽度×

40
2,得到的数字即为装订线宽度。
B、再根据量出的右边距确定左右边距,左右边距相等。
C、再确定上下边距:量出纸质书的上、下边距,以此数值
作为电子书的上、下边距。
3、根据纸质书的实际情况设置页眉页脚、及其距边界的距
离。
三、设置正文字体、字号、字间距等:
1、确定正文字体。关于正文字体的讨论见上述。
2、确定正文字号:
A、将一幅 300dpi 的纸质书扫描件插入 Word 文档。
B、设置图片格式:大小 100%、衬于文字下方、水平垂直
页面居中。
C、把图片移动到相应文字的下面。
D、调整正文字号,使其和扫描件大小相同。
3、确定正文字间距:
A、修改正文样式,不勾选“字体—字符间距”选项卡中的
“ 为 字 体 调 整 字 间 距 ”、“ 如 果 定 义 了 文 档 网 络 , 则 对 齐 到 网
络”。
注意:这一点很重要,如果勾选了,标点压缩就可能出问
题。
B、选择右边有空格的一行字符,并把扫描件移到下面。
C、按 0.05 磅的步长加宽字间距,直到这行字符的长度和扫
描件相同,记下此时的字间距值,然后恢复正常,再将此值设置
成正文样式的字间距的加宽值。
4、根据纸质书的每行字数和每页行数设置文档网络,并记
下行跨度的磅数。
四、设置正文段落格式:

41
1、 将 正 文 行 距 设 为 固 定 值 , 设 置 值 为 上 面 记 下 的 行 跨 度
值。
注意:正文行距必须设为固定值,这样可以避免因加着重
点、插入域或公式后行距自动增大等现象。另外要注意的是:
A、文字加着重点后,如果行距过小,着重点可能无法正确
显示,但在生成的 PDF 中,显示是正确的。加着重点的 PDF 中
会自动嵌入 SimSun 字体。
B、和正文不同,图像和标题的行距要设为单倍行距,否则
无法正常显示和排版。
2,两端对齐,无左右缩进、特殊格式,勾选文档网络。
3,设置中文版式:按中文习惯控制首尾字符;不允许西文
在单词中间换行;不允许标点溢出边距;视纸质书实际情况决定
是否调整中文和英文及数字的间距;点击[选项],设置字距调
整只用于西文、字符间距不压缩。
五、根据纸质书的页码分布情况对 Word 文档分节。
六、从下往上为各节设置页眉页脚。
1、如果是首页不同、奇偶页不同的复杂的页眉页脚,首页
可能是奇数,也可能是偶数。为保险起见,可将页码的段落缩进
格式设为左右相同,如左右各 1 字符等。这样,无论首页奇偶,
它外侧的缩进距离都相同。
2、注意页眉页脚的段落格式,其行距一般和正文不同,需
要单独设置。
3、页眉页脚中不能出现标题域。如果包含标题域,生成的
pdf 在 标 题 域 前 会 带 上 标 签 记 号 , 这 应 该 是 pdfmaker 的 一 个
bug。
七、自动替换
1、将“pppp”替换成“手动分页符”。

42
2、将“$$x$$”压缩一定的数值,并删除“$$”。字体、字
号、版心宽度、每行字数不同,有效的压缩值也不同,压缩值需
要测试后才能确定。
3、将“##x##”压缩一定的数值,并删除“##”。
制版完成后,即可进入校对阶段,校对分排版校对、自动校
对、朗读校对三步。

§3.1.2 排版

具体做法为:
将光标移到每页的开头,然后按住光标键向右移动,边移边
校,每遇到标点就停一下,看看标点是否正确、是否需要压缩。
通过压缩标点,使每行内容和纸质书一致。如遇到特殊格式,则
停下来,设置相应的样式,设置方法和设置正文样式相同,也就
是把扫描件衬在下面进行比对。
校对时需要注意:
一、先处理文字,再处理图像。这样做和同时处理文字图像
相比,速度更快。
二、压缩标点是最常用的操作,为加快速度,可以为各种压
缩值及定位到标点设置快捷方式(详见有关章节)。
三、各级标题样式一般按在书中出现的先后顺序分别设置。
和正文不同,标题不能设为固定行距,而应设为单倍行距,
对齐网络。标题如果和正文一样设成固定行距,就可能出现会显
示错误。
大部分标题或文间标题中间都有空格,这些空格可以用若干
个全角/半角空格,也可以通过加宽字间距实现。加宽字间距的
方法较好,这样做有几个好处:一,不影响朗读。二,标题转换

43
成 PDF 书签后中间没有空格,不用手工修正。对 10 磅字来说,
字间距加宽 5 磅约为一个字符,加宽 2.5 磅约为半个字符。标题
的最后一个字的字间距不需要加宽,否则,标题居中时就不是正
中,会把加宽的部分也考虑进去。

第2节 校对

§3.2.1 自动校对

具体步骤如下:
一、把 word 文档的全部内容复制粘贴到记事本。
二、把记事本内容复制到黑马校对窗口,然后不存盘退出。
三、用黑马校对软件自动校对。
四、查看自动校对结果,发现错误返回 word 修改。
五、完成后不存盘退出黑马软件。

§3.2.2 朗读校对

具体步骤如下:
一、把自动校对好的 Word 文档转换为临时的带标签 PDF
文件。
二、用 Adobe Reader 配合 InterPhonic 语音引擎朗读 PDF 文
件,在朗读的同时参照纸质书进行校对,同时注意版式。如发现
错误,马上返回 Word 修改。

44
第3节 处理PDF

全部校对工作完成后,就可以用 Adobe Acrobat 将 word 文


档转换成 PDF 文档,并对 PDF 文档进行必要的修整。

§3.3.1 生成pdf

一、导入制作好的封面、封底图片,制作封面、封底。
二、根据纸质书制作扉页:
如果扉页应用了特殊字体,即前述“字体的配套使用”一节
中没有提到的字体,为节约字体开销,可以把扉页处理成全幅图
片,分辨率和插图相同,都为 300dpi。
三、根据纸质书制作版权页。
四、根据标题自动生成目录
五、加盖藏书章:
藏书章一般盖于扉页,如扉页无处加盖,可考虑扉页后的版
权页或其它页面。藏书章应盖在页面的空白处,位置不能影响阅
读视线,并且要和原来的文字取得视觉上的平衡。藏书章一般由
实体章转换而来,否则无法张显个性。由于 PDF 浏览器的页面
背景可以修改,为美观起见,应将藏书章制作成透明的 PNG 格
式,即红色的前景和透明的背景,如下图所示,这样,不论背景
颜色如何,都不会影响图章效果。藏书章不能盖于其它透明背景
之上,如透明的 eps 等,否则会出现页面模糊现象。
六、把 Word 文档转换为 PDF 文件,存放于 word 目录。

45
§3.3.2 查看pdf

一、用 adobe reader 打开生成的 PDF 文件,查看文件的页数


和 word 文档是否相同,如不同,则修改后返回上节。
造成页数不同的原因有:如果 Word 文档的某行有域代码,
PDF Maker 在转换时会在域前加标签,加标签会引起版面的轻微
变动,如果这一行的宽度和版心宽度相等并且没有压缩余地的
话,这种轻微变动就会导致版面混乱,从而使 PDF 文档的页数
大于 Word 文档的页数。
二、用 adobe reader 打开 word 目录中的临时图像 pdf 文
件,并和生成的文本 PDF 垂直平铺排列,逐页查看两个 PDF 文
件,观察每页版式是否相同,如有不同,先在纸上记下不同处所
在的页码和内容,再返回 word 修改,比对完成后重新生成 PDF
文件。
三、再次比对,观察记录的不同之处是否一致,如一致,则
进入下节,如不一致,再返回 word 修改,直到正确为止。

§3.3.3 修整pdf

一、裁剪页面:
用 pdfmaker 将 Word 文件转换成 pdf 时,页面的大小可能会
发生轻微变化,如,32 开本在 word 中的大小是 13×18.4 厘
米,生成的 pdf 是 13.016×18.413,比 word 大 0.016 和 0.013。
这样,这就导致 word 文件中表现正常的封面,在 pdf 中,页面
的上面和右面各有一条白线。要解决这个问题,需用 acrobat 中
的裁剪工具在右边减少 0.016,上边减少 0.013。裁剪不会增加
pdf 文件的存储空间。而大 32 开本在 Word 中是 14×20.3,生成

46
的 pdf 是 13.968×20.282,反而比 Word 小了,自然就用不着裁
剪。
另外,如果各节页面大小不一,即有插页的情况,pdfmaker
会自动按普通页的比例放大插页,这时也需要对插页进行裁剪。
二、编排页码:
页码分正文前、正文、正文后、不占页插页,共四个页码
区。正文前使用 i,ii,iii,…格式;正文使用 1,2,3,…格
式 ; 正 文 后 使 用 a, b, c, … 格 式 ; 不 占 页 插 页 使 用 I, II,
III,…格式。
三、组织书签:
1、删除书签标题中不必要的空格和脚注标志。
2、删除不必要的次级标题。转换时,书签的级数取决于文
档标题级数,但有些次级标题在目录中是没有的,需要根据目录
的实际情况加以修改。
四、设置文档属性并另存文档:
在初始视图标签中把“页面布局”和“放大率”设置为默
认,标题栏显示标题。

第4节 工程文件备份及目录组织

§3.4.1 工程文件备份

全部工作完成后,需要对工程文件作如下处理:
一、把修整好的 pdf 复制到 eBook Library 目录中的本年子
目录。
二、删除 html、txt、otiff、temp、scan 目录。

47
三、删除 insets 目录中的黑白 tif 文件
四、删除各目录中的 Thumbs.db 文件。
五、将工程文件压缩成一个 RAR 文件并删除原目录。
六、把压缩文件剪切到 eBook Projects 目录中。

§3.4.2 目录组织

前面提到的目录并不是杂乱无章的,而是一个完整的目录体
系。目录体系是工艺流程的核心,标准和良好的目录体系,可以
使一切工作井井有条。和制作版面还原的文本 PDF 有关的全部
目录有:
eBook Temptele,存放模板文件,下设以下子目录:
vba:
cover:
eBook Projects:存放制作完成的工程文件备份,积累到一
定程度后,可制成刻录盘存档,并删除原文件以节约硬盘空间。
eBook Library:存放制作完成的 PDF 电子书,是成品库。
eBook Workshop:存放立项的工程文件,工程文件目录命名
格式形如“00000001_××××”。前面的 8 位数字是序号,后面
的××××是书名,中间加一个下划线。工程文件目录下再设以
下子目录:
temp:存放外来素材等临时文件;
tif:存放待识别图像文件;
ocr:存放供识别的 tif 或 jpg 文件以及识别软件产生的
文件;
txt:存放供校排的文本素材;

48
html:存放按网页形式保存的识别结果;
word : 存 放 供 校 排 用 的 Word 文 档 以 及 最 终 生 成 的
PDF;
cover : 存 放 封 面 封 底 扉 页 版 权 页 的 扫 描 件 、 PSD 、
BMP 文件。
insets:存放处理好后和插图;
sacn:存放自扫描件,以下可再设 cover 存放封面、封
底、插页,odd 存放奇数页,even 存放偶数页。

49
第4章 技巧

第1节 word使用技巧

●需要熟练掌握的快捷键

★标准快捷键
为加快排版速度,必须熟练使用以下标准快捷键:
◆设置字符、段落格式
应用样式:Ctrl+Shift+S
字体菜单:Ctrl+D
应用上标格式:Ctrl+Shift++(加号)
应用下标格式:Ctrl++(加号)
段落菜单:Alt+O+P
分散对齐 Ctrl+Shift+J
应用标题样式:Ctrl+Alt+1、2、3
◆复制和粘贴
复制:Ctrl+C
剪切:Ctrl+X
粘贴:Ctrl+V
复制格式:Ctrl+Shift+C
粘贴格式:Ctrl+Shift+V

50
◆查找、替换和定位
查找文字、格式和特殊项:Ctrl+F
替换文字、特殊格式和特殊项:Ctrl+H
定位至页或其它位置(表格、域等):Ctrl+G
在关闭“查找和替换”窗口之后重复查找:Alt+Ctrl+Y
◆撤消和恢复操作
撤消操作:Ctrl+Z
恢复或重复操作:Ctrl+Y
◆用于处理域的快捷键
插入空域:Ctrl+F9
在选定的域代码及其结果间进行切换:Shift+F9
在所有的域代码及其结果间进行切换:Alt+F9
定位至下一域:F11
定位至前一域:Shift+F11

★自定义快捷键
除了熟练使用标准快捷键外,还需要熟练使用以下自定义快
捷键:
◆设置字符、段落格式
字符间距压缩到 1 磅:Ctrl+1
字符间距压缩到 2 磅:Ctrl+2
字符间距压缩到 3 磅:Ctrl+3
字符间距压缩到 4 磅:Ctrl+4
字符间距压缩到 1.5 磅:Alt+1
字符间距压缩到 2.5 磅:Alt+2
选定部分西文字符间距加宽到 0.5 磅:Ctrl+Shift+5
所选内容字符间距加宽 0.1 磅:Ctrl++(加号)

51
所选内容字符间距压缩 0.1 磅:Ctrl+-(减号),
在段前添加 0.25 行间距:Ctrl+Shift+1
在段后添加 0.25 行间距:Ctrl+Shift+1
在光标右侧自动分页:Ctrl+P
清除选定部分全部格式:Ctrl+Q
◆复制和粘贴
只粘贴文本:Ctrl+Alt+V
◆查找、替换和定位
光标移到本页首行的末尾:Ctrl+PageUP
定位到下一个标点:Ctrl+→
定位到上一个标点:Ctrl+←

★自定义快捷键的VBA代码
上面列举的自定义快捷键的 VBA 代码如下:
◆字符间距压缩,以压缩 2 磅为例:

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=

wdExtend

With Selection.Font

.Spacing = -2

End With

Selection.MoveRight Unit:=wdCharacter, Count:=1

◆选定部分西文字符间距加宽到 0.5 磅:

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

52
Selection.Find.Replacement.Font.Spacing = 0.5

With Selection.Find

.Text = "^$"

.Replacement.Text = "^&"

.Forward = True

.Wrap = wdFindAsk

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchByte = True

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

◆所选内容字符间距加宽或压缩 0.1 磅,以加宽为例,压缩


只需把加号改为减号即可。注意:所选内容间距一致时,上述代
码才有效。

With Selection.Font

.Spacing = Selection.Font.Spacing + 0.1

End With

◆在段前段后添加 0.25 行间距,以段前为例,段后只需将


LineUnitBefore 改为 LineUnitAfter 即可。

53
With Selection.ParagraphFormat

.LineUnitBefore = .LineUnitBefore + 0.25

End With

◆在光标右侧自动分页:Ctrl+P

Selection.TypeParagraph

With Selection.ParagraphFormat

.PageBreakBefore = True

End With

Selection.MoveUp Unit:=wdLine, Count:=1

Selection.EndKey Unit:=wdLine

◆清除选定部分全部格式:Ctrl+Q

Selection.ClearFormatting

◆只粘贴文本:Ctrl+Alt+V

Selection.PasteSpecial Link:=False, DataType:=20, Placeme

nt:=wdInLine, DisplayAsIcon:=False

◆光标移到本页首行的末尾:Ctrl+PageUP

Selection.MoveUp unit:=wdWindow

Selection.EndKey Unit:=wdLine

54
◆定位到下一个标点,上一个标点只需将代码中的 .Forward
= True 改成 .Forward = False , 并删除 Selection.MoveRight

Unit:=wdCharacter, Count:=1 即可。

Selection.Find.ClearFormatting

Selection.MoveRight Unit:=wdCharacter, Count:=1

With Selection.Find

.Text = "[,;。:、?《》()〔〕〈〉" & ChrW(8220) & ChrW

(8221) & "]"

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = True

End With

Selection.Find.Execute

Selection.MoveLeft Unit:=wdCharacter, Count:=1

●自定义宏及其VBA代码

除自定义快捷键外,还可为一些常用操作设置一些非键盘
宏,如:

55
★自动分节

' 使用前在需要分节的地方插入 zzzz 标记

Dim FindChar As String, Fcount As Integer, I As Integer

FindChar = "zzzz"

With ActiveDocument.Content.Find

Do While .Execute(findtext:=FindChar) = True

Fcount = Fcount + 1

Loop

End With

For I = 1 To Fcount

Selection.Find.ClearFormatting

With Selection.Find

.Text = "zzzz"

.Replacement.Text = "zzzz^&"

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = True

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute

Selection.Delete Unit:=wdCharacter, Count:=1

56
Selection.MoveUp Unit:=wdLine, Count:=1

Selection.HomeKey Unit:=wdLine

Selection.EndKey Unit:=wdLine

Selection.InsertBreak Type:=wdSectionBreakNextPage

Selection.Delete Unit:=wdCharacter, Count:=1

Next

MsgBox ("共发现并处理了" & Fcount & "个章节。")

★为尾注设置交叉连接
尾注引用和尾注一般位于不同的页面,为方面阅读,可在二
者之间设置交叉连接,宏代码分三段:
一、检查注释是否一一对应:

Dim FindChar As String, Fcount As Integer, I As Integer, L

As Integer

Selection.HomeKey Unit:=wdStory, Extend:=wdMove

For L = 1 To 9999

FindChar = "〔" + CStr(L) + "〕"

I = 1

Fcount = 0

With ActiveDocument.Content.Find

Do While .Execute(findtext:=FindChar) = True

Fcount = Fcount + 1

Loop

End With

If Fcount = 0 Then

MsgBox ("检查完毕,没有发现异常情况。")

57
Exit Sub

End If

If Fcount Mod 2 > 0 Then

MsgBox (FindChar + "的个数为奇数,请检查文档!")

Exit Sub

End If

Selection.HomeKey Unit:=wdStory, Extend:=wdMove

Next

二、为注释设置书签

Dim FindChar As String, Fcount As Integer, I As Integer, L

As Integer

For L = 1 To 9999

FindChar = "〔" + CStr(L) + "〕"

I = 1

Fcount = 0

With ActiveDocument.Content.Find

Do While .Execute(findtext:=FindChar) = True

Fcount = Fcount + 1

Loop

End With

If Fcount = 0 Then

MsgBox ("没有发现注释" + FindChar + "!")

Exit Sub

End If

For I = 1 To Fcount

58
With Selection.Find

.Text = FindChar

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute

With ActiveDocument.Bookmarks

.Add Range:=Selection.Range, Name:="a" + CStr

(L) + "b" + CStr(I)

.DefaultSorting = wdSortByName

.ShowHidden = True

End With

Selection.MoveRight

Next

Next

三、为注释设置交叉连接

Dim FindChar As String, Fcount As Integer, I As Integer, L

59
As Integer

For L = 1 To 9999

FindChar = "〔" + CStr(L) + "〕"

I = 1

Fcount = 0

With ActiveDocument.Content.Find

Do While .Execute(findtext:=FindChar) = True

Fcount = Fcount + 1

Loop

End With

If Fcount = 0 Then

MsgBox ("没有发现注释" + FindChar + "!")

Exit Sub

End If

Selection.HomeKey Unit:=wdStory, Extend:=wdMove

For I = 1 To Fcount

With Selection.Find

.Text = FindChar

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchWildcards = False

.MatchSoundsLike = False

60
.MatchAllWordForms = False

End With

Selection.Find.Execute

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Ra

nge, Address:="", SubAddress:="a" + CStr(L) + "b" + CStr(I

+ 1), ScreenTip:="", TextToDisplay:=""

Selection.MoveRight

I = I + 1

With Selection.Find

.Text = FindChar

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Ra

nge, Address:="", SubAddress:="a" + CStr(L) + "b" + CStr(I

- 1), ScreenTip:="", TextToDisplay:=""

Selection.MoveRight

Next

61
Next

使用上述代码为尾注设置连接后,会出现如下问题:
一、如果尾注引用位于首行首字,该段的段落缩进不可用。
解决办法是另起一段,再按需要设置段落格式。
二、如果两行内有二个尾注引用,只有前面一个尾注引用的
连接有效。
三、如果三行内有三个尾注引用,只有中间一个尾注引用的
连接有效。

●其它Word使用技巧

1、word 的默认模板 Normal.dotm,位于 C:\Documents and


Settings\Administrator\Application Data\Microsoft\Templates 目
录。
2、通过“查找→特殊格式→域”可以找到主文档或注释中
的域代码,但无法找到域值,所以要查找域,先按 Alt+F9 显示
所有域的域代码,查找完成后再按 Alt+F9 隐藏域代码。
3、使用 Word 的自动项目编号会莫名其妙地增加非嵌入字
体。所以不要使用自动项目编号。

第2节 处理特殊格式

●分栏及分栏线

文档网络包括文档的栏数。自动设置分栏线的方法是:“格

62
式”→“分栏”,选 2 栏后再勾选分隔线即可。但这样做不能为
分隔线设置格式,如粗细、颜色等,如需要设置格式,可以用绘
图工具直接在页面上画一条直线。

●表格及列表

★框线
粗框线 1 磅,细框线 0.75 磅。大于或小于这个数字都是不
适合的。

★环绕文字
如果直接设置表格的环绕属性,则无法微调位置,只能选择
对齐某一边距。表格设置成环绕文字时,先插入一个文本框,再
把表格放在文本框内。注意,表题也置于单元格内,否则会先读
表格再读表题。

★特殊表头
◆跨行表头
步 兵 及 骑 兵 及
野战炮兵 乘骑炮兵
对于上述二行文字,如不作特殊处理,朗读时会读成“步兵
及→骑兵及→野战炮兵→乘骑炮兵”,用如下的域代码处理后,
朗读时就会读成正确的“步兵及→野战炮兵→骑兵及→乘骑炮
兵”了。
域 代 码 : { eq \a\ac\co2(\a\ac( 步 兵 及 , 野 战 炮
兵) ,\a\ac(骑 兵 及,乘骑炮兵))}。
即一个大数列内嵌二个小数列。

63
◆分行竖排表头

每头鲸日
现有数量

在南极摄
最大体 长

最大体重

原有数量
(万头)

食磷虾数

食 天 数
(米)

(吨)

(头)

(吨)
最高猎捕数
(头)

蓝 鲸 30.5 160 20 2,000 4 120 29,4000(1930 年)


抹香鲸 18.3 60

对于上述表头,可把“最大体长”和“(米)”分别置于二个
单 元 格 内 , 文 字 方 向 设 为 竖 排 , 下 面 的 “ 30.5” 合 并 二 个 单 元
格,这样处理可保证朗读顺序的正确。

●图片

对于带有图注的围绕图片,可先插入一个文本框,再在文本
框中插入图片和图注。文本框要设置成相对于页面的绝对位置,
这样在朗读时,先读正文,再读文本框中的图注。
图注的分隔尽量使用段落左右缩进,而不使用回车符,以免
影响朗读分词。
不规则图片周围的文字,也尽量使用段落左右缩进,而不使
用文本框,以免影响朗读顺序。
在插入封面、封底或其它全页图片时,环绕要设成水平右对
齐,垂直下对齐。

●批注

批注一般在校读时加入。批注可以用来指正原书错误或加入
新的注释。要想在生成的 PDF 文件中自动嵌入 word 批注,除了
按第 1 章第 2 节的有关内容正确设置 PDFMaker 外,还应在“审

64
阅”选项卡上的“跟踪”组中,单击“显示标记”旁边的箭头,
选择“显示标记的最终状态”。这样,在生成 PDF 中,批注覆盖
在括号内的第一个字符上。

●脚注

如果使用 Word 的插入脚注功能,转换后的 PDF 朗读时第


一个脚注的朗读顺序是对的,从第二个开始,每页都是先读脚
注,再读正文。为避免这种情况,不应使用 Word 的插入脚注功
能,而要把脚注当做普通文本处理,脚注分隔符可以通过半角空
格加删除线实现,下面就是这样的二个示例:

∗ 这 是 存 在 着 另 一 个 “世 界 ”的 例 子 。 但 是 ,这 个 世 界 从 来 也 看 不 见 ,也 从 来
不能用任何普通的方法被感觉到。

∗ 杜特将军对法国革命并无好感,不过由于他非常热爱其专业才没有辞职,
一直服务到 1793 年底,后被一个军事法庭定为 贵族政治论者而 判处死刑,1794 年
2 月 22 日在里昂被推上断头台斩 决。

上例的脚注分隔线和脚注文本可以分别设置段落间距,以期
最大限度的模仿纸质书,和正文一样,段落间距要设成固定值。
如果脚注和正文前有空白,可以通过设置最后一段的段后间
距实现。
如果脚注引用为“*”的话,字体可设置成 Symbol,提升 3
磅,AdobeSongStd-Light 的星号太不显眼了。
如果书籍脚注引用很多,如古文类等,可将脚注引用的字体
设置成 Kozuka Mincho Pro L,这样,阅读时就不会发声了。

65
●带圈数字

带圈字符一般用作数标,格式众多,我遇到并解决的情况
有:
一、如全书使用不大于 10 的宋体风格的阳文数字:
直接使用正文字体,一般为 AdobeSongStd-Light。
二、如全书使用大于 10 但小于 50 的宋体风格的阳文数字:
全部数字统一使用 Kozuka Mincho Pro L 字体,大于 10 的数
字用 word 的插入符号功能输入(以下同)。字例如下:
①②③④⑤⑥⑦⑧⑨⑩
⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳

三、如全书使用不大于 20 的宋体风格的阴文数字:
和上面相同,全部数字统一使用 Kozuka Mincho Pro L 字
体,字例如下:
❶❷❸❹❺❻❼❽

㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉

66
●跨行括号

⎧⎪内容1
内容= ⎨ 内容2,000
⎪⎩内容3
上面即是跨行括号的一个示例,域代码如下:
{eq 内容=\b\lc\{(\s(内容 1,内容\l(2,000),内容 3))}
其中:
\b 是括号开关,可用参数有:
\lc\*(左括号使用字符*);
\rc\*(右括号使用字符*);
\bc\*(左右括号都使用字符*)。
\s 是上下标开关,可用参数有:
\upn(文字上移 n 磅,默认为 2);
\don(文字下移 n 磅,默认为 2);
\ain(行距上部添加 n 磅);
\din(行距下部添加 n 磅)。
\l 是列表开关,把多个元素指定为一个元素,如果直接输入
2,000,由于其中的半角逗号是域代码的分隔符,域会报错,加 l
后,就把 2,000 视为一个元素。
上面域所在段落的段落格式为单倍行距,对齐网络。此时内
容 1,内容 2,内容 3 的行距是不能调整的。要调整行距,域代
码(为简化只用两项,其余可类推)要改写为:
{ eq 内容=\b\lc\{(\s\up5(内容 1)\d\ba26()\s\do5(内容 2))}。
排版效果如下:
⎧ 内容1
内容= ⎨ 内容2

67
其中:
\d 是位移开关,控制下一个字符的位置。可用参数有:
\fon(右移 n 磅);
\ban(左移 n 磅);
\li(为移出来的空格添加下划线)。
域所在段落的段落格式根据纸质书实际情况设置,可对齐网
络,也可不对齐网络。

●行首全角标点压缩

出于版面还原的考虑,有时需要对位于首行的全角左括号等
进 行 压 缩 。 具 体 方 法 是 : 在 左 括 号 前 另 起 一 段 ; 插 入 域 “ {eq
\d\ba3()(永恒之火}”,注意花括号内除需要压缩的左括号外,
还要包括文字,直到下一个标点为止。这样处理,转换成 PDF
后版面和朗读顺序不会错乱。引号、书名号等也可用同样方式压
缩。

●带逗号连续数字

连续几个带半角逗名的数字,如:12,000 3,560 2,000。


朗读引擎只能识别第一个数字,后面几个数字识别不正确,去除
中间逗号后,则朗读正确。如:12000 3560 2000,但出于版
面还原的考虑,中间的逗句往往不宜去除,这时,把数字间的分
隔符设置成一个或多个字体为 Kozuka Mincho Pro L 的全角空格
后,朗读引擎就能正确识别了。

68
●数学公式

word2007 的公式编辑器比 2003 的功能更为强大,它生成的


公式是文本而不是图像,因而清晰度更高,但是用 2007 打开
2003 格式时,公式编辑器不可用。解决的办法是安装 MathType
6.0a,MathType 6.0a 和 word2007 的结合度很好,正确安装后即
在菜单栏出现 MathType 选项卡。用 MathType 6.0a 在 word2007
中输入的公式和 word2007 自带的公式编辑器一样,是文本而不
是图片。用 MathType 6.0a 输入公式前,先要设置公式的字体、
字号:字体除特殊数学符号及希腊字母使用 Symbol 字体外,其
它和正文字体相同;字号和纸质书相同,一般参照正文字号。字
体字号一旦设置,可另存为设置文件,以便复用。
用 MathType 6.0a 输入的公式实际上是一个域,它可以和其
它域嵌套使用。
当公式中有全角中文字时,万能五笔不可用,用微软拼音可
以正常输入。

●化学公式

使用 SmartDraw 6.51 版本输入,7.x 版本也可用,但 2007


以上版本不可用,这些版本转换成 PDF 后公式是图片,而低版
本反而是文字。

●难字

对于难字,可以用海峰五笔输入,该输入法可以输入全部七
万多 UNICODE 汉字(包括 CJK、CJK-ExtA、CJK-ExtB、CJK-

69
ExtC),输入后如无法显示,则清除格式后即可正确显示,然后
观察其字体,如果是正文字体或方正超大字体集,则没有什么问
题,如果是其它字体,则删除。这是因为,这些字体虽能正常显
示,但在转换成 PDF 时,Acrobat 会出错,实际上是无用的。 
对于无用或无法输入的汉字,如果其能由几个可输入部件拼
接而成,则可通过设置字体格式或域代码加以处理,如:
对于笔画简单的左右结构字,可在 Word 中根据实际情况调
整 字 体 缩 放 和 间 距 实 现 , 如 “ 豆斗 ” 字 , 左 边 的 “ 豆 ” 缩 放 为
50%,间距为紧缩 0.5 磅,位置为标准,右边的“斗”缩放为
50%,间距和位置为标准。又如“ 饣弟 ”字,左边的“饣”缩放为
66%,间距为紧缩 1.4 磅,位置为提升 1 磅,右边的“弟”缩放
为 70%,间距为加宽 0.25 磅,位置为标准。
如果其无法由几个可输入部件拼接而成,则用“■”字代
替,然后在修整 PDF 时加入该字的图片附件注释。图片附件注
释 外 观 设 为 曲 别 针 , 不 透 明 度 为 0%, 位 置 位 于 125%大 小 时
“■”字的左上角,如下图,然后锁定。

如果不明确拆分方法,可以用 BabelPad 通过部首或拼音法


输入,软件界面如下图所示:

70
一般首先在当前正文字体中查找。如果找不到,再使用方正
超大字体集(包括 65531 个字符),如果再找不到,就按上面所
述内容处理。

●外语

希 腊 文 : 根 据 unicode 表 输 入 , 字 体 使 用 Palatino
Linotype。
日 文 汉 字 : 可 以 用 BabelPad 通 过 部 首 或 拼 音 在 Kozuka
Mincho Pro L 字体中查找。

●其他特殊格式

★减号充当半角破折号:
位置需提升 1 磅,否则和周围汉字的基线不一致。

★特殊字符位于首行前半部分:
诸如 ä、ö 等朗读引擎无法识别的字符位于首行前半部分

71
时,整页内容朗读时都会变成乱码。修正的办法是:
一、剪切特殊字符。
二、在特殊字符所在的位置插入一个半角字符。
三、插入一个简单文本框,把特殊字符粘贴到文本框内。
四、把文本框设置成无线条色、无填充色、浮于文字上方。
五、把文本框移动到半角字符的上面,并设置其底线和间距
与周围字符相同。

⎪ 100 2 31 ⎪
●形如 ⎪ 200 65 33 ⎪ 的排版
⎪ 10 25 96 ⎪
域 代 码 : {eq
\b\bc\|(\a\ac\con3\hs5(100,2,31,200,65,33,10,25,96))}
\a 是数列开关,可用参数有:\al(左对齐);\ac(居中);
\ar(右对齐);\con(元素排成 n 列);\vsn(行间增加 n 磅);
\hsn(列间增加 n 磅)。

二、按栏输入页码页数
我们的文档经常会被分栏显示,比如在制作试卷的时候。而
此时,我们又希望显示页码的时候能分栏显示,也就是每一栏能

72
作为一页。这时候,也是 Word 域大显身手的时候。

将鼠标定位于第一栏页脚的页码编辑区,先输入“第页,共
页”文字。将鼠标定位于“第”和“页”之间,连续两次按下
“Ctrl+F9”快捷键插入两个空域(两对花括号)。在域符号中输
入代码“{={Page}*2-1}”。用同样的方法在“共”和“页”之间
也插入两个域符号,编辑代码 “{={NumPages}*2}”。

至于偶数栏的页码编辑,与奇数栏的编辑方法是一样的,只
是其页码的域代码为“{={Page}*2}”,其它的是一样的。编辑完
成后,按下“Alt+F9”快捷键,就可以看到效果了,如图 2 所
示。

第3节 双层PDF

73
第5章 附录

第1节 MarkDot说明及源代码

MarkDot 是笔者用 vb6 写的一个小工具,用于在 ocr 后的文


本文件中标记出需要压缩的句号、分号、逗号、冒句、顿号、问
号 6 种标点符号。压缩值较大者用“$$x$$”标记,其中的“x”
是标点,压缩值较小者为“##x##”。程序使用了 access97 数据
库,数据表设计如下:

程序界面如下:

74
选中“压缩小于标准字数的行”,会压缩小于标准字数的行
中的除句号外的其它 5 种标点。
选中“压缩行末标点”,会压缩等于标准字数的行中的行末
标点。
主要实现思路是,把每行字数通过和标准字数相比较(行标
差),如较大,并符合以下三条标准之一者,就标记出来。
规则一:标点数等于 2 倍行标差,压缩全部 6 种标点。
规则二:标点数减句号数等于 2 倍行标差,压缩除句号外的
5 种标点。
规则三:标点数减句号数等于 3 倍行标差,压缩除句号外的
5 种标点。
由于是 1.0 版本,所以程序较粗糙,没有考虑引号、括号、
书名号等左右标点,更没有考虑左右标点和单标点的配合情况,
现将源代码放出,供参考。

Private Sub Command1_Click()

If CommonDialog1.FileName = "" Then

MsgBox ("文件名不能为空!")

Exit Sub

End If

If Text3.Text = "" Then

MsgBox ("标准行数不能为空!")

Exit Sub

End If

Dim str1 As String

75
Dim str2 As String

Dim str3 As String

Dim n1 As Long

Dim n2 As Long

Dim n4 As Long

Dim db As Database

Dim rs As Recordset

Dim v_sqlstr As String

Open CommonDialog1.FileName For Input As #1

StatusBar1.Panels(1).Text = "正在统计文本文件行数……"

n1 = 0

Do While Not EOF(1)

Line Input #1, str1

n1 = n1 + 1

Loop

Close #1

Set db = OpenDatabase(App.Path + "\db.mdb")

Set rs = db.OpenRecordset("sheet1")

Open CommonDialog1.FileName For Input As #1

StatusBar1.Panels(1).Text = "正在导入文本文件……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n1

For n2 = 1 To n1

Line Input #1, str1

76
rs.AddNew

rs!hanghao = n2

If str1 <> "" Then rs!neirong = str1

rs.Update

ProgressBar1.Value = n2

Next n2

Close #1

rs.MoveFirst

StatusBar1.Panels(1).Text = "正在统计每行字数……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n1

For n2 = 1 To n1

rs.Edit

n3 = Len(rs!neirong)

If n3 <> "" Then rs!zishu = n3 Else rs!zishu = 0

rs.Update

rs.MoveNext

ProgressBar1.Value = n2

Next n2

rs.MoveFirst

StatusBar1.Panels(1).Text = "正在统计句号数……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n1

77
For n2 = 1 To n1

rs.Edit

rs!juhao = SNumber(rs!neirong, "。")

rs.Update

rs.MoveNext

ProgressBar1.Value = n2

Next n2

rs.MoveFirst

StatusBar1.Panels(1).Text = "正在统计其它标点数……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n1

For n2 = 1 To n1

rs.Edit

rs!biaodian = SNumber(rs!neirong, ",") + SNumber(r

s!neirong, ";") + SNumber(rs!neirong, ":") + SNumber(rs!

neirong, "、") + SNumber(rs!neirong, "?") + rs!juhao

rs.Update

rs.MoveNext

ProgressBar1.Value = n2

Next n2

If Check4.Value = 1 Then

rs.MoveFirst

StatusBar1.Panels(1).Text = "正在标记行末标点……"

ProgressBar1.Value = 0

78
ProgressBar1.Min = 0

ProgressBar1.Max = n1

str2 = ",;:、?。"

For n2 = 1 To n1

rs.Edit

If InStr(str2, Right(rs!neirong, 1)) > 0 Then r

s!hangwei = 1 Else rs!hangwei = 0

rs.Update

rs.MoveNext

ProgressBar1.Value = n2

Next n2

End If

rs.Close

Set rs = Nothing

str3 = Text3.Text

v_sqlstr = "select * from [sheet1] where [zishu]> " + s

tr3 + " and [biaodian]>0 " '包括标点并且字数大于标准字数的记录

Set rs = db.OpenRecordset(v_sqlstr)

If rs.EOF <> True Then '如果记录集非空

rs.MoveLast '以下 7 行统计记录数

rs.MoveFirst

n4 = 0

Do While rs.EOF() <> True

n4 = n4 + 1

rs.MoveNext

Loop

79
rs.MoveFirst

StatusBar1.Panels(1).Text = "正在压缩长行标点……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n4

For n2 = 1 To n4

Select Case rs!biaodian

Case 2 * (rs!zishu - Text3.Text) '规则一:标点

数等于 2 倍行标差,压缩全部 6 种标点。

If InStr(rs!neirong, ",") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ",

", "$$,$$")

rs.Update

End If

If InStr(rs!neirong, ";") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ";

", "$$;$$")

rs.Update

End If

If InStr(rs!neirong, ":") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ":

", "$$:$$")

rs.Update

End If

80
If InStr(rs!neirong, "、") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "、

", "$$、$$")

rs.Update

End If

If InStr(rs!neirong, "?") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "?

", "$$?$$")

rs.Update

End If

If InStr(rs!neirong, "。") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "。

", "$$。$$")

rs.Update

End If

Case 2 * (rs!zishu - Text3.Text) + rs!juhao '

规则二:标点数减句号数等于 2 倍行标差,压缩除句号外的 5 种标点。

If InStr(rs!neirong, ",") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ",

", "$$,$$")

rs.Update

End If

If InStr(rs!neirong, ";") > 0 Then

81
rs.Edit

rs!neirong = Replace(rs!neirong, ";

", "$$;$$")

rs.Update

End If

If InStr(rs!neirong, ":") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ":

", "$$:$$")

rs.Update

End If

If InStr(rs!neirong, "、") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "、

", "$$、$$")

rs.Update

End If

If InStr(rs!neirong, "?") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "?

", "$$?$$")

rs.Update

End If

Case 3 * (rs!zishu - Text3.Text) + rs!juhao '

规则三:标点数减句号数等于 3 倍行标差,压缩除句号外的 5 种标点。

If InStr(rs!neirong, ",") > 0 Then

rs.Edit

82
rs!neirong = Replace(rs!neirong, ",

", "##,##")

rs.Update

End If

If InStr(rs!neirong, ";") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ";

", "##;##")

rs.Update

End If

If InStr(rs!neirong, ":") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ":

", "##:##")

rs.Update

End If

If InStr(rs!neirong, "、") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "、

", "##、##")

rs.Update

End If

If InStr(rs!neirong, "?") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "?

", "##?##")

rs.Update

83
End If

End Select

rs.MoveNext

ProgressBar1.Value = n4

Next n2

rs.Close

Set rs = Nothing

End If

If Check4.Value = 1 Then

str3 = Text3.Text

v_sqlstr = "select * from [sheet1] where [zishu]= "

+ str3 + " and [hangwei]>0 " '字数等于标准字数并且行末有标点的

记录

Set rs = db.OpenRecordset(v_sqlstr)

If rs.EOF <> True Then '如果记录集非空

rs.MoveLast '以下 7 行统计记录数

rs.MoveFirst

n4 = 0

Do While rs.EOF() <> True

n4 = n4 + 1

rs.MoveNext

Loop

rs.MoveFirst

StatusBar1.Panels(1).Text = "正在压缩行末标点……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

84
ProgressBar1.Max = n4

For n2 = 1 To n4

rs.Edit

rs!neirong = Left(rs!neirong, Text3.Text -

1) + "$$" + Right(rs!neirong, 1) + "$$"

rs.Update

rs.MoveNext

ProgressBar1.Value = n4

Next n2

End If

End If

If Check3.Value = 1 Then

str3 = Text3.Text

v_sqlstr = "select * from [sheet1] where [zishu]< "

+ str3 + " and [biaodian]>0 " '包括标点并且字数小于标准字数的

记录

Set rs = db.OpenRecordset(v_sqlstr)

If rs.EOF <> True Then '如果记录集非空

rs.MoveLast '以下 7 行统计记录数

rs.MoveFirst

n4 = 0

Do While rs.EOF() <> True

n4 = n4 + 1

rs.MoveNext

Loop

rs.MoveFirst

85
StatusBar1.Panels(1).Text = "正在压缩短行标点……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n4

For n2 = 1 To n4

If InStr(rs!neirong, ",") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ",", "

$$,$$")

rs.Update

End If

If InStr(rs!neirong, ";") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ";", "

$$;$$")

rs.Update

End If

If InStr(rs!neirong, ":") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, ":", "

$$:$$")

rs.Update

End If

If InStr(rs!neirong, "、") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "、", "

$$、$$")

86
rs.Update

End If

If InStr(rs!neirong, "?") > 0 Then

rs.Edit

rs!neirong = Replace(rs!neirong, "?", "

$$?$$")

rs.Update

End If

rs.MoveNext

ProgressBar1.Value = n4

Next n2

End If

rs.Close

Set rs = Nothing

End If

v_sqlstr = "select [neirong] from [sheet1]"

Set rs = db.OpenRecordset(v_sqlstr)

rs.MoveLast

rs.MoveFirst

If Dir(Left(CommonDialog1.FileName, Len(CommonDialog1.

FileName) - 4) + "_marked.txt") <> "" Then

Kill Left(CommonDialog1.FileName, Len(CommonDialog

1.FileName) - 4) + "_marked.txt"

End If

Open Left(CommonDialog1.FileName, Len(CommonDialog1.Fi

leName) - 4) + "_marked.txt" For Output As #1

87
StatusBar1.Panels(1).Text = "正在写入文本文件……"

ProgressBar1.Value = 0

ProgressBar1.Min = 0

ProgressBar1.Max = n1

For n2 = 1 To n1

Print #1, rs!neirong

rs.MoveNext

ProgressBar1.Value = n2

Next n2

Close #1

ProgressBar1.Value = 0

StatusBar1.Panels(1).Text = "标点压缩完成!"

rs.Close

Set rs = Nothing

db.Close

Set db = Nothing

End Sub

Private Sub Command2_Click()

CommonDialog1.FileName = ""

CommonDialog1.Filter = "文本文件(*.txt)|*.txt"

CommonDialog1.ShowOpen

Text1.Text = CommonDialog1.FileName

88
End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Command4_Click()

MsgBox ("标点压缩工具,由 BigLu 开发。")

End Sub

Private Sub Form_Load()

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase(App.Path + "\db.mdb")

Set rs = db.OpenRecordset("sheet1")

db.Execute "delete * from [sheet1]"

rs.Close

Set rs = Nothing

db.Close

Set db = Nothing

DBEngine.CompactDatabase App.Path + "\db.mdb", App.Pat

h + "\xxx.mdb", dbLangChineseSimplified

89
Kill App.Path + "\db.mdb"

Name App.Path + "\xxx.mdb" As App.Path + "\db.mdb"

End Sub

其中 SNumber 用于统计一个字符串在另一个字符串中出现
的次数,是一个功能函数。代码如下:

Public Function SNumber(StrInfo As String, StrTemp As Stri

ng) As Long

'StrInfo 总字符

'StrTemp 字符串

If StrInfo <> "" And Len(StrInfo) > Len(StrTemp) Then

SNumber = (Len(StrInfo) - Len(Replace(StrInfo, StrTem

p, "")))

Else

SNumber = 0

End If

End Function

第2节 把PDF还原成纸质书

打印、裁剪、装订
打印:

90
如何 PDF 的开本和打印纸一样,问题就容易了,
如何约二倍,可使用 Adobe Reader 的双面小册子打印,

91
第3节 管理PDF电子书

92
qwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjkl
zxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmrtyuiopasdf
ghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfg

Anda mungkin juga menyukai