文本PDG转PDF
作者:马健
邮箱:stronghorse_mj@hotmail.com发布:2008.08.03
更新:2008.08.24
补充说明:此文成文较早,当时文本PDG如果不想用官方浏览器SSREADER看,就只能转换成PDF看。现在UnicornViewer已经支持文本PDG,包括文本正文与图像附属页混排。因此如果没有什么特殊需要,很少有人再将文本PDG转换成PDF,都是压成zip包后用UnicornViewer看。
声明:
1、谨以此文献给喜欢折腾的各位热血人士,不喜欢折腾的就不必看了。
2、既然喜欢折腾,就不要怕麻烦。“既当婊子又立牌坊”的好事也许有,但不一定会轮到你我头上。
3、本文欢迎转载,不过转载的时候请注明原作者为strnghrs。
文本PDG的常规转换步骤:
1、下载,解密。
2、用Pdg2Pic解成散页PDF。
3、用Adobe Acrobat
Professional合并成一个PDF。
由于文本PDG通常没有封面、版权等附属页,因此用上述步骤制作的PDF,俗称“裸奔版”,与“折腾”的精髓实在相去甚远。为了给“裸奔版”穿上衣服,还需进行下列操作:
1、下载图像版封面、书名、版权等附属页,并解密。
2、往下载到的文件夹里扔一个名为000001.pdg的文件,别管文件内容是什么,只要是一个没有加密的图像版PDG文件即可,最好是JPG(这样在步骤7中比较好定位),绝对不能用T3类多层PDG。
3、用Pdg2Pic将附属页转换成图像,并生成FreePic2Pdf.itf、FreePic2Pdf.txt、FreePic2Pdf_bkmk.txt。
4、打开前面用文本PDG转换、合并出来的PDF,点“文件->属性”,查看页面宽度,然后按照下列公式折算成FreePic2Pdf中的宽度:
FreePic2Pdf中的宽度=宽度(厘米数)÷2.54×96
例如Acrobat中显示的页面宽度为13.510厘米,则计算出来的宽度即为511。如果在Acrobat里看到的宽度单位是英寸,则上面公式中的÷2.54可以省略,成为:
FreePic2Pdf中的宽度=宽度(英寸数)×96
5、打开FreePic2Pdf.itf,将[Main]段MinWidth的值改成上面计算出来的宽度值,这样转换出来的图像PDF与原文本PDF的页宽相同。
6、将FreePic2Pdf.itf中的段名[TextPage]、[Bkmk]分别改成[TextPage1]、[Bkmk1],这样生成图像版PDF时就不会把书签、说明等带进去。
7、删除前面扔进去的000001.pdg转换出来的图像文件,这通常是最后一个文件,除非有附录页。
8、用FreePic2Pdf将转换出来的图像文件合并成一个PDF,没有书签、文本。
9、用Adobe
Acrobat
Professional将图像、文本版PDF合并成一个。
10、把步骤6中改变的段名再改回来。
11、用FreePic2Pdf挂书签、改页码、加说明。
大功告成。
当然如果有高版本的PdfToy,统一PDF页宽也就是点几下鼠标的事情,而且一次可以统一整个文件夹下的所有PDF文件页宽哦,没有必要像上面说的那样折腾。
文本PDG转PDF的更多相关文章
- 关于文本PDG的字体
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 有不少人在问为什么有些文本PDG在SSREADER里看到的是宋体,在Acobat里看到的是黑体,其实原因 ...
- PDG转PDF注定会文件膨胀、质量下降吗?
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.07.16更新:2006.07.20 事先声明: PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器 ...
- 文本导出到pdf文件
程序中数据导出是经常有的需求,今天学习把文本导出到pdf文件.主要是用QPrinter,QPainter TextEditToPdf::TextEditToPdf(QWidget *parent, Q ...
- 文本导出到pdf文件(使用QPrinter和QPainter和QTextDocument)
程序中数据导出是经常有的需求,今天学习把文本导出到pdf文件.主要是用QPrinter,QPainter TextEditToPdf::TextEditToPdf(QWidget *parent, Q ...
- 文本PDG文件名构成
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 文本PDG的构成规则为:<前缀><起始页号>_<页数>.pdg 前缀 ...
- 转:MVC2表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做;MVC2输出文本;MVC2输出PDF文件
ViewData.ModelState.AddModelError("FormValidator", message); foreach (string field in Requ ...
- PDG科普篇
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2009.09.26 更新历史 2014.11.11补充了文字版PDG的部分内容增加CX PDF等打包格式的相关内容 2009 ...
- PDG转图像、PDF的若干方法
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.05.26更新:2008.08.24 补充说明:此文成文较早,其中对Pdg2Pic.FreePic2Pdf的描述早已 ...
- C# 使用 wkhtmltopdf 把HTML文本或文件转换为PDF
一.简介 之前也记录过一篇关于把 HTML 文本或 HTML 文件转换为 PDF 的博客,只是之前那种方法有些局限性. 后来又了解到 wkhtmltopdf.exe 这个工具,这个工具比起之前的那种方 ...
随机推荐
- RabbitMQ教程总结
[译]RabbitMQ教程一 主要通过Hello Word对RabbitMQ有初步认识 [译]RabbitMQ教程二 工作队列,即一个生产者对多个消费者 循环分发.消息确认.消息持久.公平分发 [译] ...
- Nginx简介及配置介绍
一.什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发 ...
- 把Azure专线从Class模式迁移到ARM模式
前面几篇文章介绍了Azure的ASM模式和ARM模式.很多用户已经在ASM模式下部署了Azure的专线服务,如果部署的应用是ARM模式,或ASM模式和ARM模式都有,就需要把ASM模式的专线迁移到AR ...
- -3dB的理解
-3dB到底是什么?集成运放-3dB带宽又是什么? 以无源高通电路为例,介绍-3dB的意义. 输出与输入只比: Au=Uo/Ui=R/(R+1/j*2*PI*f*C)=1/(1+1/j*2*PI*f* ...
- Java基础--注解Annotation
Annotation是给类,方法或域上加的一种特殊的标记,可以通过反射取到注解的类型和值,从而完成某种特定的操作. 定义注解需要使用元注解,元注解有@Retention和@Target //@Rete ...
- java代码分解质因数
总结: 循环...首位 逻辑要清晰 很简单.首先质因数最小的2.因为1不是质数 然后当输入的数刚好为2时,结束.不用下一步了.否则在循环里不停的输出一个数, 当输入的数比2大时,分能被2整除和不能被2 ...
- HTML 5中的结构元素
1.header:标记头部区域的内容 .footer:标记页脚区域的内容 .section:Web页面中的一块区域 4.article:独立的文章内容区域 5.aside:相关侧边内容或者引文区域 6 ...
- DCloud-流应用:杂项
ylbtech-DCloud-流应用:杂项 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回 ...
- Oracle 静默安装oracle client
静默安装oracle clint比较简单,修改instantclient.crsp文件的几个位置即可 [root@localhost ~]# vi /etc/oralnstloc inventory_ ...
- 应用HTMLTestRunner整合测试报告
为了便于测试脚本的维护,以及更多测试用例的管理,于是根据上次学习的HTMLTestRunner生成的测试报告,今天将对其进行整理.我们之前使用 TestSuite 只是在一个.py 文件里添加多个测试 ...