LionX 发表于 2012-9-8 20:22:41

SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)

本帖最后由 LionX 于 2016-2-25 15:19 编辑

对于很多国外的在线绘本的网站,可以收集到SWF格式的文件,然后制作PDF格式的绘本,最终实现打印。
对于如何利用SWF文件,制作出高质量的PDF绘本,论坛里主要有两种方法:

第一种方式是【漠子】的方法,我把它叫做【M方法】:
如何用firefox下载FLASH,并制作成PDF文件~案例:培生官网+OXFORD官网
http://www.ebama.net/forum.php?mod=viewthread&tid=24532&fromuid=24025

第二种方法是【jsjyh】的方法,我把它叫做【Y方法】:
国外SWF在线绘本如何制作高质量的PDF文件教程
http://www.ebama.net/forum.php?mod=viewthread&tid=28686&fromuid=24025

这两种方法在2011年8月就已经发布,成为论坛里制作PDF书本的经典方法,许多爸妈都是因此受到启蒙,并经过实践,最终能自己制作PDF书本的。我也是其中的一位受益者,用这些方法制作了许许多多的PDF书本,特别向两位前辈表示衷心的感谢!

我这里要提出的第三种方法,是一种不同于上述两种方法的新方法,我把它叫做【H方法】。这种方法最大的优点是能真正做到批量地把SWF文件转换为JPG文件,继而制作出PDF文件,并且整个过程不会出现异常页面,制作出来的PDF的质量可以自己选择。我在此对这种方法做一个简单的论述,并比较一下三种方法的优缺点、适用场合以及注意事项。

(一)用到的软件
1、核心软件:SWFTOJPG.EXE,大小只有571KB,单文件绿色免安装版本,帖子最后提供下载。
2、Adobe Acrobat软件,我用的版本是Adobe Acrobat X Pro,论坛已有下载链接,本帖不再提供下载。

(二)制作过程
1、这里以已经收集到SWF文件为起点。至于怎样收集SWF文件,M方法和Y方法的链接里已有详细的叙述。这里以《Pardon That Turkey》这本书为例讲述制作的过程,在Y方法中,jsjyh也是以这本书为例论述的,大家最后可以比较一下Y和H方法制作出来的这本书的区别,这本书也在帖子最后提供下载。收集到的《Pardon That Turkey》的SWF文件如下:


2、用SWFTOJPG软件把SWF格式的文件转换为JPG格式的图形文件,这是关键核心的一步。

①把SWF文件全部拷贝到一个文件夹中,这个文件夹只存放这些SWF文件,不要存放其它无关的文件。图中我把SWF文件全部拷贝到TMP文件夹中,并点击【选择FLASH文件夹】选中TMP文件夹。
②点击【选择缩略图文件夹】,选择生成的JPG图片的存放文件夹,图中我把生成的JPG图片也存放在TMP文件夹中,当然也可以选择不同的文件夹。
③核心:选择【指定宽度】和【指定高度】,就是选择生成的JPG图片的点阵数目,这个数值决定了最后生成PDF文件的质量和大小,可以根据自己的需要来选择,这里提供一些数据供大家参考,如果打印机以300DPI的精度来打印的话:
       A4纸:297×210毫米,即11.692×8.267英寸,需要3508×2480点。
       A5纸:210×148毫米,即8.267×5.827英寸,需要2480×1748点。
      实际书本的高宽比和A4纸的高宽比一般不会一样,自己看情况选择点数吧。      
      这里【指定宽度】和【指定高度】的点数也可以随意填写一个数值,一般选择2000点质量已经是很好了,图中例子我选择了3000点(大家尽量不要选3000,太大了)。
      对于页数少的书本,建议【指定宽度】和【指定高度】选择同样大小的数值,生成PDF后一次裁切白边就好,这样简单。
      对于页数非常多的书本,比如有900页,生成PDF后再裁切白边的话,如果机器比较旧,裁切会比较慢,也可以采用下面的方法来选择【指定宽度】和【指定高度】:先把1个SWF文件用SWFTOJPG转换成JPG图片,或者用jsjyh的Y方法来制作1页,裁切好白边,记录好裁切白边后的实际书本的高度和宽度的比例,比如高宽比是1.48,【指定高度】填写3000时,【指定宽度】就填写3000÷1.48=2027,这样用SWFTOJPG软件生成的JPG图片的高宽比就是1.48,和实际书本的高宽比一样,最后生成PDF时就没有白边,也就不用再去裁切白边了。
④文件名前缀,可以把书名写进去,也可以不写,随意吧。
⑤指定帧,不用修改了,就选100吧。
⑥选择SWF文件所在的文件夹后,SWF文件列表就会出现在这个窗口,文件顺序不需要理会。

3、点击【执行操作】,软件界面下方会有一进度条出现,如果文件数量太多,会比较慢,对于比较老的机器要耐心等待。我试过800多页的书本,800多个文件一次转换,也很顺利的完成。最后在指定文件夹生成对应的JPG图片文件,如下图:


4、运行Adobe Acrobat软件,选择【将文件合并为PDF】,选择【添加文件】




5、添加文件时,看到的JPG图片文件的列表顺序是正确的,但是如果全选,添加后的文件列表顺序是不对的,比如2会在19的后面,3会在29的后面,9会在89的后面,所以这里最好先选择一位数1-9,再选择两位数10-99,再选择三位数100-999,再选择四位数1000-9999,如果有这么多页的话。






【注】Adobe Acrobat XI版本,对以上问题已经作出了修正,全选文件之后,单位数的编号1,2,3,4,5,6,7,8,9会自动排在10,11等的前面,没必要像上图那样分段添加文件了。

6、点击【合并文件】,合并后产生一个新的PDF文件,可能会有白边,就必须裁切白边,裁切白边可以用Adobe Acrobat自带的功能裁切,也可以用插件来裁切,也可以用其他方法,看自己习惯吧。如果在【指定宽度】和【指定高度】的选择上选定了和实际书本高宽比一样比例的点数,就不会有白边了;或者,如果【指定宽度】和【指定高度】选择一样的数值,刚好实际书本是正方形的,也不会有白边了。对于页数很多的PDF文件,建议裁切白边前,先保存一下文件。


7、输入书本的文件名,保存文件。


至此,一本PDF书本就制作完成了,虽然写了有一些文字,其实过程是非常简单的,主要就是第2步,后面的步骤,包括合并JPG文件和裁切白边,其实都是大家早已熟知的操作。

(三)3种方法制作PDF的思路:

M方法:打开Acrobat导入所有SWF,利用PDF Printer直接生成最终PDF。思路很简单、很直接、很理想,但实际操作中却困难重重,有“欲速而不达”的感觉。
Y方法:分两步,首先用FlashPlayer(或类似软件)打开一个SWF,利用PDF Printer生成一个PDF,不断循环操作,把所有SWF全部都转换为PDF;然后用Acrobat把所有单个的PDF合并成最终PDF。这种方法卡在第一步,一个一个地把SWF转换为PDF致使效率极低,制作需要极大的耐心,如果这一步能实现批量处理,这种方法将极为完美,因为只有这种方法保留了SWF中文字的矢量信息。
H方法:分两步,首先用SwfToJpg软件把所有SWF转换为对应的JPG;然后用Acrobat把所有JPG合并成最终PDF。

(四)3种方法做一个比较:
比较项目 M方法 Y方法 H方法
1.SWF文字为矢量 点阵 矢量 点阵
2.SWF文字为点阵 点阵 点阵 点阵
3.能否批量转换 有限制 不能 真正的批量转换
4.异常页面(有时) 比例变形 有白框 没有异常
5.PDF质量,大小 一般 好 好
6.PDF质量是否可选 可选余地小 可选余地小 任意可选
7.制作时间长短 长 长 快
8. PDF Printer 需要 需要 不需要
9.电脑性能要求 要求太高 要求小 要求一般
解释一下(以下1-9点说明,对应上表的1-9点):
1. 如果SWF的文字是矢量描述,Y方法制作出来的PDF的文字也是矢量描述的,这是Y方法最具价值的地方,M方法和H方法都无法做到这一点。矢量描述的字体,无论放大多少倍,字体的边缘都是平滑无锯齿的。对于文字是矢量描述的PDF,千万不要分解为JPG图片,再合并为PDF,这样分解再合并的结果,文字的矢量描述就会消失,变成点阵描述了。牛津和培生网站的书本,SWF的文字都是采用矢量描述的(不知有无例外)。
2. 如果SWF的文字没有采用矢量描述,就是说文字也是和图形一样采用点阵描述的,这样的话,即使采用Y方法,制作出来的PDF里的字体也不可能是矢量描述,而只能是点阵描述,对于这种SWF文件,Y方法就没有优势了。加州分级读物的SWF的文字都是采用点阵描述的(好像没有例外)。
3. Y方法的最大缺点就是不能批量转换,只能一个文件一个文件地转换,对于页数多的书本,简直是噩梦哦。M方法说是能批量转换,但是限制太多,导致批量转换的效果大打折扣:一是导入SWF文件时,每个文件都要点一下鼠标(这个问题解决没有啊?),而且每导入一个文件都有停顿;二是导入SWF后,要点“黑色小三角形”,否则质量太差,这一步骤过于占用内存,致使要分批处理,一旦分批处理,将会很麻烦。
4. M方法会产生异常页面,书本比例变形,Y方法则会出现白框,如果一本书产生几页这种异常页面,处理起来非常耗时费力而且困难,甚至难以处理,如果是一本900页的教科书,里面有几页异常页面,那是非常麻烦的事,我在制作Journeys教科书的过程中,为了处理这些异常页面,耗费了大量的时间和精力。H方法,到目前为止,没有发现有异常页面的出现,有待考证吧。
5. M方法制作出来的PDF质量一般,Y方法制作出来的PDF质量很好,如果选择A4纸质量,真的能满足A4面幅的打印要求,加上如果文字是矢量描述的,打印质量会非常好。H方法如果选择高度和宽度的点数达到3508点,也能满足打印A4面幅的要求,其实在实际打印过程中,不需要3508点,打印A4面幅的质量也是很不错的。文件大小方面,如果Y方法和H方法都输出3000多点,一般情况下H方法制作出来的PDF文件还是小一些,文字越多的SWF,Y方法制作出来的PDF越大,比如教科书之类的。M方法似乎还不能输出3000点以上的PDF,文件大小相对较小。
6. M方法和Y方法选择输出质量的选项很少,其实是受限于PDF Printer的功能多少。H方法由于是输入高度和宽度的点数的,因此是任意可选的。
7. Y方法是一个文件一个文件地处理,M方法实际操作中受诸多条件限制很难做到真正的批量处理,制作效率都不高。只有H方法,令人眼前一亮,制作书本的时间大大地缩短。我在制作Journeys学生用书的过程中,一本800多页的书本,用Y方法制作,连续点击鼠标敲打键盘5个多小时,实在是麻木啊,一般制作800多页的书本,都是分开几天或者十几天来完成的,因为实在太枯燥了,很难坚持连续地工作。而用H方法制作这本800多页的课本,只用了10分钟就顺利完成了,而且选择的高度宽度都是3000点的高质量(宽度在裁切后没有3000点了)。
8. M和Y方法都要使用PDF Printer,其本质是利用PDF Printer生成PDF文件,所以使用M和Y方法制作PDF书本前,要先安装PDF Printer,并学会使用它。H方法无需用到PDF Printer。
9. M方法对电脑要求太高了,特别是页数太多的书本,几乎难以完成。Y方法由于是一个文件一个文件地处理,因此对电脑的要求是最低的。H方法对电脑要求不是很高,如果页数很多,转换时可能会要等待一段时间,如果页数实在太多,分开两到三次来转换也是可行的。

总结:
1、一般情况下,H方法能胜任绝大部分SWF制作PDF书本的工作,批量处理、简单快捷、稳定高效。
2、如果SWF的文字是矢量描述,又希望PDF能保留文字的矢量信息,只能选择Y方法,这也是Y方法最具价值的优点。
3、如果SWF的文字是点阵描述,即使Y方法制作的PDF也不能新产生矢量信息,应该选择H方法。
4、对于页数太多的书本,使用M和Y方法都极其辛苦,采用H方法能节省太多太多的时间,而且产生的PDF质量有保证,无异常页面,实属最佳方法。
5、H方法也不是万能的,有些特殊的SWF文件,H方法也处理不了,如加州分级读物带控制按钮的SWF文件。
6、H方法的点数选择,不宜太大,简单的绘本1000点足够了,教材类2000点很好了。

欢迎大家指正,提供更好的软件或者提出优化的方案。
向一直致力于研究由SWF制作PDF书本的前辈们致敬!向参与讨论和实践的爸妈们致敬!

------------------------------------------------------------------------------------------------
SWFTOJPG软件 和 用H方法制作的《Pardon ThatTurkey》的PDF下载链接:
链接:http://pan.baidu.com/s/1dEeEMJ3 密码:ifzj


tjuwf 发表于 2012-9-8 20:29:14

谢谢,楼主厉害

xianyun0403 发表于 2012-9-8 20:31:24

先收藏下,仰望技术强者啊。

妞妈jenny 发表于 2012-9-8 20:37:21

收藏了,慢慢研究下。

foreverbinbin 发表于 2012-9-8 20:40:45

只能仰望!!!收藏了,希望有天大脑开窍能学会那么一点。。。

mangobaby 发表于 2012-9-8 20:56:27

向技术派致敬!!

相视而笑811 发表于 2012-9-8 21:01:41

很仰慕, 先赞一个; 收藏起来,慢慢消化.

liuli207 发表于 2012-9-8 21:29:27

收藏了,谢谢!

funblue 发表于 2012-9-8 21:39:49

真正的鸟枪换炮,我感觉是手动插秧改成机械化了啊,哈哈

babylover.ebama 发表于 2012-9-8 21:45:27

很詳盡的說明, 謝謝分享, 收藏~~

misxy328 发表于 2012-9-8 21:48:53

技术贴,先收藏

applle001 发表于 2012-9-8 21:54:23

又是一强人!留爪学习!谢谢!

欣赏 发表于 2012-9-8 22:15:04

厉害了,像论文一样。

FOOLPOOR 发表于 2012-9-8 23:35:05

厉害了,像论文一样。

zhuhuaxia7 发表于 2012-9-9 07:17:05

非常详细的,简单明了

安子7698 发表于 2012-9-9 08:30:29

条理清楚,叙述流畅!看得明白、过瘾!看了你的贴不光知其然,更知其所以然了。
楼主如果要是做个什么专题论文,那该会有多了得?就这一个小技术,就洋洋洒洒一篇小论文了。

强烈建议这么有才的人士多多发贴,供吾之辈技术盲学习、校仿。谢谢!

860919899 发表于 2012-9-9 08:47:12

真厉害,学习中。谢谢分享。

淼淼的妈妈 发表于 2012-9-9 10:05:21

不错,好方法,终于解决了批量的方法了。

tightrope 发表于 2012-9-9 10:09:46

又多了一门技术啊,幼儿绘本制作,赞赏~~

散步红鱼 发表于 2012-9-9 13:01:20

看到眼晕,留爪

zhoujun6699 发表于 2012-9-9 15:31:42

留个脚印,下回再仔细学习

马大姐 发表于 2012-9-9 18:41:34

好东西.先保存

bamboo8009 发表于 2012-9-9 18:52:32

先收藏一下,再仔细研究。

asd1asd 发表于 2012-9-10 06:26:33

    thanks !

含笑 发表于 2012-9-10 08:54:13

门外汉,先收藏、下载慢慢理解实践

future363 发表于 2012-9-10 11:25:22

谢谢分享,很好的方法,试试看

minniebao 发表于 2012-9-10 12:13:38

好好研究一下~~~谢谢啦,,楼主

lslang 发表于 2012-9-10 15:31:03

好帖。收藏学习。

miyujia 发表于 2012-9-10 19:30:27

你用了FREE赞 字点不到了啊

tinasu 发表于 2012-9-10 21:58:58

我是笨鸟,楼主辛辛苦苦写了这么多。我真怕自己学不会啊。佩服佩服啊。
页: [1] 2 3 4
查看完整版本: SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)