首页 > 代码库 > SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
2012-12-21 未来决定...
http://www.ebama.net/thread-107643-1-1.html
含笑 发表于 2012-12-10 13:51 虚拟装载DVD后 DVDdcrypter分割提取VOB dgindex制作工程文件和分轨 Megui+avs压制 mmg封包 具体的教程和软件,TLF小组出过一个打包文件,全在里面了 字幕的话各种情况提取办法不同,图片字幕用subrip来ocr,cc字幕直接用ccextractor提,有必要时再用subtitle workshop调时间轴 含笑 发表于 2012-12-10 15:49 我也是学了没多久的。这么搞是麻烦点,但是比那种傻瓜式软件压出来的效果好。 花上个把小时把TLF的教程阅读并操练一遍,基本就会了。其中相对麻烦一点的是反交错和场序的设置,往往每张DVD都不一样,同一张DVD中的不同片段也不一定一样,每段都要换各种算法一帧一帧地试验效果。 最近出了个Media Coder的软件,似乎比Megui更简单,但是我想借用TLF的MiniSD参数模板来压(因为太具体的参数很复杂,我也没时间去仔细研究),所以还是用久经考验的老办法了。 对于很多国外的在线绘本的网站,可以收集到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文件如下: <ignore_js_op> 2、用SWFTOJPG软件把SWF格式的文件转换为JPG格式的图形文件,这是关键核心的一步。 <ignore_js_op> ①把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点。 对于页数少的书本,建议【指定宽度】和【指定高度】选择同样大小的数值,生成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图片文件,如下图: <ignore_js_op> 4、运行Adobe Acrobat软件,选择【将文件合并为PDF】,选择【添加文件】 <ignore_js_op> <ignore_js_op> 5、添加文件时,看到的JPG图片文件的列表顺序是正确的,但是如果全选,添加后的文件列表顺序是不对的,比如2会在19的后面,3会在29的后面,9会在89的后面,所以这里最好先选择一位数1-9,再选择两位数10-99,再选择三位数100-999,再选择四位数1000-9999,如果有这么多页的话。 <ignore_js_op> <ignore_js_op> <ignore_js_op> 6、点击【合并文件】,合并后产生一个新的PDF文件,可能会有白边,就必须裁切白边,裁切白边可以用Adobe Acrobat自带的功能裁切,也可以用插件来裁切,也可以用其他方法,看自己习惯吧。如果在【指定宽度】和【指定高度】的选择上选定了和实际书本高宽比一样比例的点数,就不会有白边了;或者,如果【指定宽度】和【指定高度】选择一样的数值,刚好实际书本是正方形的,也不会有白边了。对于页数很多的PDF文件,建议裁切白边前,先保存一下文件。 <ignore_js_op> 7、输入书本的文件名,保存文件。 <ignore_js_op> 至此,一本PDF书本就制作完成了,虽然写了有一些文字,其实过程是非常简单的,主要就是第2步,后面的步骤,包括合并JPG文件和裁切白边,其实都是大家早已熟知的操作。 (三)3种方法制作PDF的思路: <ignore_js_op> 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种方法做一个比较:
解释一下(以下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文件。 欢迎大家指正,提供更好的软件或者提出优化的方案。 向一直致力于研究由SWF制作PDF书本的前辈们致敬!向参与讨论和实践的爸妈们致敬! ------------------------------------------------------------------------------------ SWFTOJPG软件 和 用H方法制作的《Pardon That Turkey》的PDF下载链接:
http://pan.baidu.com/share/link?shareid=24987&uk=2399799060 |
SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。