设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[系统工具] FreePic2Pdf V4.07 中文绿色版_将图像文件合并、转换成PDF文件软件

[复制链接]
跳转到指定楼层
楼主
发表于 2017-9-6 10:20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FreePic2Pdf.rar (2.58 MB, 下载次数: 128)


FreePic2Pdf:将图像文件(包括TIFF、JPG、PNG、GIF、BMP)合并、转换成PDF文件的软件:
对有损压缩的JPG文件及采用JPEG/OJPEG算法压缩的TIFF文件,直接将原始数据流嵌入PDF文件,避免因为重新压缩而造成图像质量下降;对无损压缩的图像文件,黑白图像解码后压缩为G4,其它解码后压缩成ZIP数据流嵌入PDF文件。
支持多页TIFF和多帧(动画)GIF,每页或每帧算一幅图像。
可以指定生成的PDF文件的页面大小(除A4、B5等,还支持国内常用的32开、16开、大32开)及页边距。如果不指定页面的纸张大小,可以指定页面的固定宽度(长度随图像大小伸缩),避免连续阅读时因为页面宽度变来变去而影响阅读。
软件基于开源代码实现,运行时不需要任何第三方软件或控件的支持。当然如果要浏览制作出来的PDF文件,必须安装Adobe PDF Reader等PDF阅读软件

FreePic2Pdf: A freeware to convert image (TIFF, JPG, JP2, PNG, GIF and BMP) files into PDF.

作者:马健
邮箱:stronghorse_mj@hotmail.com
主页:老马的原创空间

FAQ
使用说明
    一、软件安装/删除
    二、软件使用
        图像转PDF
&nbs>

p;      更改PDF
        PDF中的特殊目标
附录A 鸣谢
附录B 接口文件格式说明
    一、接口文件简介
    二、接口文件格式
    三、接口文件示例
附录C 版本更新记录
FAQ

Q:FreePic2Pdf是什么?
A:这是一个将图像文件(包括TIFF、JPG、JP2/J2K/JPC、PNG、GIF、BMP)合并、转换成PDF文件的软件。纯免费,并具有下列特色:

对有损/无损压缩jpeg 2000(jp2/j2k/jpc)文件,或有损压缩JPG文件及采用JPEG/OJPEG算法压缩的TIFF文件,直接将原始数据流嵌入PDF文件,避免因为重新压缩而造成图像质量下降。
对其它无损压缩图像文件,黑白图像解码后压缩为JBig2(有损/无损)或CCITT G4,其它解码后压缩成ZIP数据流嵌入PDF文件。虽然解码/压缩需要消耗一些时间,但是在多数情况下可以减小PDF文件长度。
对于黑白图像,可以指定背景是否透明。如果透明,在PDF Reader中阅读时可以根据需要自行设置背景色(我习惯设为灰色),以免白底黑字看着太累。
支持多页TIFF和多帧(动画)GIF,每页或每帧算一幅图像。
可以指定生成的PDF文件的页面大小(除A4、B5等,还支持国内常用的32开、16开、大32开)及页边距,这种指定不会造成对图像数据流的重新采样或压缩,只影响PDF中描述图像显示大小的数据, 避免因为重新采样或压缩而造成图像质量下降。
如果不指定页面的纸张大小,可以指定页面的固定宽度(长度随图像大小伸缩),保证连续阅读时不会因为页面宽度变来变去而影响阅读。
可以选择需要转换的文件,也可以指定需要转换的文件夹;可以指定文件排序方式(按字母顺序、按末尾数字顺序、按超星顺序);可以将所有图像文件合并到一个PDF文件,也可以每个图像文件分别转换成一个PDF文件。
支持通过接口自动生成多级书签、分段页码、添加文本页、设置PDF的Document Properties,支持Unicode字符。
接口文件可以用于新生成的PDF,也可以用于已有的PDF,包括往已有的PDF上加书签、从已有的PDF中抽取书签。
生成的PDF文件中只包含必要的信息,因此在PDF质量不变的情况下,生成的PDF废话最少。
在转换的同时,可以通过OCR生成可检索、可复制的隐藏文本,合成双层PDF,并提供对自身所生成的双层PDF进行校对所需的辅助功能。
支持批量转换。
软件基于开源代码实现,运行时不需要任何第三方软件或控件的支持。当然如果要浏览制作出来的PDF文件,您的机器上必须安装Adobe PDF Reader或其他PDF阅读软件。

总之, 在缺省情况下,FreePic2Pdf考虑的优先顺序为:图像质量、生成速度、PDF文件大小;通过设置可以改变为:PDF文件大小、图像质量、生成速度。

Q:现在已经有N多图像转PDF软件,为什么还要开发FreePic2Pdf?
A:在开发FreePic2Pdf前,我接触到的图像转PDF软件不下10种,包括收费的和免费的。这些软件从原理上可以分为两类:

基于虚拟打印原理。最著名的大概要算Adobe Acrobat Professional。
直接将图像嵌入PDF文件。如verypdf公司出品的Image2Pdf、adultpdf公司的TIFF2PDF等。

基于虚拟打印原理的软件开发门槛稍高一些,所以多为收费软件,通用性较好,一般除图像文件外还能将Word等格式转换成PDF。但是在转换图像文件时,通常需要对图像重新采样、压缩,从而造成图像质量下降、PDF文件膨胀等问题。

直接将图像嵌入PDF文件的软件实现相对简单,所以收费、免费的都有。但是为了追求高压缩比,也经常会将彩色图像重新压缩成JPG数据流。而且大多数软件对TIFF格式的支持都很烂(可以理解,TIFF格式实在是太包罗万象了),偏偏我经常需要和TIFF文件打交道。所以最终还是下定决心,以libtiff组织提供的tiff2pdf.c为基础写了一个图像转PDF引擎,实现我自己的要求:

对TIFF文件的高度支持,尤其是国内各扫描外包公司提供的非标准OJPEG压缩的TIFF文件。我相信象我这样有机会接触如此数量非标准TIFF文件的人不会太多。
对有损压缩数据不再重新压缩,以免质量损失;对于无损压缩数据则压缩成G4或ZIP以减小文件长度。
将基于虚拟打印原理实现的软件优点借鉴过来,包括指定纸张类型、页边距、图像自动放大等,以获取较好的阅读效果。
支持JBig2压缩。收费软件支持它的有几个,免费软件大概这是第一个。

对于其它转换工具的比较,可以参阅我写的《图像转PDF的问题、方法及题外话》一文。

Q:FreePic2Pdf收费吗?
A:FreePic2Pdf是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件付任何费用,最多是在BBS上看到我发帖子灌水时(我的ID一般是strnghrs),进去捧个人场,作为友情回报;或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用FreePic2Pdf的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。

Q:如果觉得FreePic2Pdf生成的PDF文件尺寸还是太大,怎么办?
A:办法包括:
1、用Photoshop、ACDSEE、ComicEnhancer Pro等,先缩小图像尺寸,再转成PDF。
2、对于彩色图像,可以在参数选择中,对“彩色/灰度”压缩算法选择JPEG或JPEG 2000,并设置较低的质量系数或压缩比。
3、对于灰度图像,可以先用ComicEnhancer Pro试试看能不能通过减色的方法减小文件长度,不行就压缩成JPEG或JPEG 2000,并且降低质量系数。
4、对于黑白图像,可以选用JBig2无损或有损压缩。

Q:有损JBig2适用于哪些环境?
A:有损JBig2适用于以字母文字为主的黑白图像,对于以中文文字或图形为主的黑白图像,建议使用无损JBig2,理由如下:

对于字母文字,在一页上字母重复的概率比较大,用有损JBig2可以大幅压缩文件尺寸,而有损压缩造成的损伤对字母阅读影响不大。
对于中文文字,在一页上重复的概率比较小,有损JBig2压缩的空间不大,而有损算法本身可能会对中文造成损伤,影响阅读效果。
对于不能分割的图像,使用有损JBig2根本没有意义,只会造成图像损失。

另外考虑到对于中文来说建立全局符号表实在没有多大实际意义,所以在选择有损JBig2压缩时,没有生成PDF标准中的JBIG2Globals。

需要注意的是,JBig2算法比传统的CCITT G4算法压缩比更高、制作出来的PDF文件更小,但是先进的东西也有一个毛病:不是所有PDF浏览器都能看的,用Acrobat Reader 7是一点问题没有,其他早期版本,或非Adobe出品的Reader就不敢保证了。所以如果要保证PDF文件的最大兼容性,请将黑白图像压缩算法设置为CCITT G4。

Q:FreePic2Pdf生成的页码有什么用?
A:在阅读PDF文件时,可以用页码快速定位页面。如在目录页中,看到感兴趣的某个标题在正文第18页。这时,在PDF浏览器下方的页码框输入18,再按回车,就跳到了正文的第18页了。
页码只能通过接口文件定义。

Q:双层PDF是什么,有什么用?
A:双层PDF的“双层”,指的是“图像层+隐藏文字层”,即在扫描图像上,再蒙一层不可见的隐藏文字,这样在阅读的时候,看到的是与原书完全一样的扫描图像,但是同时又可以对隐藏文字进行搜索、复制。
双层PDF的文字靠OCR生成,本软件所用的OCR引擎是微软Office 2003/2007自带的MODI(Microsoft Office Document Imaging)。MODI的安装及多语言支持见我网站上的相关文章。
OCR结果不能保证100%准确性,其结果与图像分辨率、图像质量密切相关。图像分辨率越高、越是黑白分明,OCR结果就越好。如果图像分辨率低于300 DPI,建议就别OCR了,以免结果太过搞笑。

使用说明

一、软件安装/删除

本软件安装非常简单:创建一个目录,用WinZip将下载下来的ZIP包解压缩到该目录即可。

本软件的删除也很简单:直接删除从ZIP包中解压缩出来的所有文件及运行过程中生成的文件即可。

ZIP包中包括下列文件:

FreePic2Pdf.exe。这是软件的主程序。
FreePic2Pdf.htm。本帮助文件。

如果您下载到的ZIP包中还包括其它文件,毫无疑问不是我放进去的,有广告或木马之嫌疑,请立即删除。

另外程序运行过程中还会生成以下文件:

FreePic2Pdf.ini。这个是参数保存文件,第一次更改参数后生成。退出FreePic2Pdf,删除此文件,再重启FreePic2Pdf,即可恢复缺省参数。
FreePic2Pdf_log.txt。这个是错误记录文件,在转换过程中出现错误时自动生成,没有错误则自动删除以前的错误记录。

二、软件使用

图像转PDF

如果是从图像文件生成新的PDF,鼠标双击FreePic2Pdf.exe启动软件后,按照软件界面上标注的1、2、3、4的顺序执行:

1、选择需要转换的图像文件
在这一步如果选择“转换选定的文件”,则可以一次转换一个目录下的几个文件,或转换多个目录下的文件。点击“选择源文件”按钮后,可以选择文件(按住Ctrl或Shift键点击文件可多选),所选文件排列在列表中,可以通过工具栏提供的按钮进行排序、顺序调整、删除等操作 ,双击文件列表将调用系统缺省图像浏览器显示所选图像。如果“自动清空”选项被选中,每次点击“选择源文件”按钮,都会清除列表中的原有内容,如果需要一次转换多个目录中的文件,需要将这个选项点掉,然后逐次选择文件。每次选择文件后,均按“自动排序”选项指定的排序方法对列表中的文件进行排序,选“无”则不进行自动排序。
如果选择“转换指定文件夹中的文件”,则点击“选择源文件夹”按钮选择文件夹。转换时按照“转换文件”选项对源文件夹中的文件进行筛选,然后按照“文件排序”选项指定的顺序对筛选出来的文件进行排序。
也可以先在资源管理器中选择需要转换的文件或文件夹,然后拖到FreePic2Pdf界面中。如果拖过来的是文件夹,则自动选择“转换指定文件夹中的文件”,否则选择“转换选定的文件”。
对于“转换指定文件夹中的文件”,则为批量转换,即自动将周游选定文件夹下的所有子文件夹,每个子文件夹转换成一个PDF,PDF文件与子文件夹同名,因此在这种情况下就不需要再手工选择转换结果。

2、选择转换出来的PDF文件的存放位置
在这一步如果选择“全部存入一个PDF文件”,则将全部图像文件合并到点击“选择PDF文件”按钮所选的PDF文件。
如果选择“每个图像转换成一个PDF文件,存放到文件夹”,则将转换出来的PDF文件存放到指定文件夹。
如果“使用固定文件/文件夹”选项被选中,则系统会自动记忆上次使用过的PDF文件和文件夹,否则每次点击“选择源文件夹”按钮,都会自动生成PDF文件和文件夹。

3、设置转换参数

纸张大小(纸型、方向、页边距):基本和Word一样:生成的PDF文件每页一图,自动居中、大图自动缩小。比较特殊的是“纸型”如果选“图像大小”,则生成的PDF每一页大小都按照图像大小进行设置(每页一图),如果图像大小不统一,则生成的PDF每一页的大小也不统一;如果选“固定宽度”,则PDF每一页的宽度固定,长度根据图像大小自动伸缩。一般来说,如果生成的PDF面向打印,建议选择一个合适的纸型;如果面向屏幕浏览,建议选择“固定宽度”或“图像大小”。如果“自动放大小图”选项被选中,则当图像 尺寸小于版心尺寸时,自动放大图像以适合版心,否则保持原样。 如果图像本身有大片白底,设置页边距后在PDF文件中可能看不大出来,这时可以在PDF Reader中将缺省背景色设置为灰色,即可清楚看出页边距的范围。
PDF文件初始视图:这个和在Acrobat的“文档属性”中的设置是一样的,指定在打开PDF文件时,如何展现文档页面。
原始图像文件的DPI:在计算图像在PDF中的大小时,先用图像象素尺寸除以该DPI值,转换成英寸数,再将英寸数乘以72转换成PDF中的逻辑尺寸。 核心提示:DPI值仅仅影响图像在PDF中的初始显示尺寸,对图像数据本身没有影响。
“当前屏幕DPI”通过Windows API自动获取,在我的17"显示器设置为1024*768时为96。
如果手工设置“固定DPI”,则在PDF中看到的图像大小和DPI值成反比,即DPI越大图像越小。
对于扫描产生的TIFF文件,通常在文件中会说明扫描时的DPI值,如果选择“优先使用图像扫描DPI”,则会自动尝试从图像文件(包括TIFF、BMP、PNG、GIF、JFIF格式的JPG,不包括JP2和J2K)中提取DPI值,代替手工设置的DPI。
黑白TIFF设置为透明:如果选中(缺省为选中),所有单色图像的背景设置为透明,在PDF Reader中阅读时可以根据需要自行设置背景色(我习惯设为嫩绿色),以免白底黑字看着太累。如果未选中,则背景色为白色。
透明GIF、PNG保持透明:如果选中(缺省为选中),在转换PNG、GIF时,如果原图是调色板图像,并且带透明背景,则转出来的PDF页也有透明效果 ,否则背景色为白色。另外此选项还支持alpha通道透明的PNG、BMP,但不支持多色透明。
启用接口文件:如果此选项选中(缺省为选中),则转换时自动读取源文件夹下的接口文件(文件名固定为FreePic2Pdf.itf),从中获取最小图片宽度、多层图像信息 、文本页、书签等。此接口文件通常由Pdg2Pic生成。 如果“前言页面前缀”、“目录页码前缀”为空,则分别用大写英文字母、罗马数字表示封面页、目录页,否则用前缀+数字表示。
如果原始图像文件是用Pdg2Pic从PDG转换出来的,建议选择此选项,否则不仅将丢失多层PDG文件的图层信息,而且将失去很多PDG独有的东西,包括分段页码、书签、bookinfo等。
除JPEG、JPEG 2000外的图像文件的压缩算法:

黑白图像:可以选择JBig2无损、JBig2有损、CCITT G4。通常JBig2有损压缩的压缩比最大,速度最慢;CCITT G4则压缩比最小,速度最快;JBig2无损介于二者之间。
彩色/灰度图像:如果选择尺寸最小、速度最快、TIFF ZIP或PNG ZIP,则在将图形文件转换成PDF时,JPEG、JPEG 2000数据流直接嵌入PDF文件,其它图像文件全部解码后采用ZIP压缩,但是在压缩前使用TIFF或PNG进行预处理,最终的压缩比可能不同。建议选择缺省的“速度最快”,以加快速度,当然也可以选择“尺寸最小”,让系统自动选择压缩比最大的处理方法,但这要以时间为代价。 如果选择了JPEG或JPEG 2000,则对于所有彩色、灰度图像,均解码后重新按照指定的质量系数或压缩比压缩成JPEG或JPEG 2000,然后再存入PDF。
换言之,选择JPEG或JPEG 2000就是选择有损转换,适用于为了缩小PDF文件长度可以不顾一切的场合。选择其他选项则是无损转换,适用于质量高于一切的场合。

友情提示:转换参数对转换出来的PDF文件的阅读效果影响很大,可能需要反复调整、转换几次,才能获得满意的效果。

如果想通过OCR生成双层PDF,则还需选择下列选项:

生成双层PDF:如果此选项被选中,则转换过程中启动OCR,生成隐藏文字,否则只转换图像,不管文字。由于需要时间,MODI的安装也不是电脑白痴随随便便就能搞定的,因此此选项缺省未选中,以免麻烦。
在选中“生成双层PDF”后,下列选项才能生效:
OCR语言:一次只能选择一种语言,注意所选项必须与所识别的文字相匹配,例如想识别繁体字,就一定要选择“繁体中文”,否则识别出来的结果多半会很搞笑。 各语种MODI的安装参见我写的《用MODI OCR 21种语言》。
合并文本行:如果选中,则转换出来的PDF文件中的隐藏文本以行为单位,文件长度较小,但是字的位置不一定准确。如果未选,则以字(CJK)或词(非CJK)为单位,字的位置比较准确,文件长度略大。
CJK版式:中、日、韩文字都有横排和竖排之分,本软件在一定程度上可以自动识别,如果对识别结果不满意,可以手工选择是横排还是竖排。此选项对OCR准确性没有影响,仅对隐藏文字采用的字体有影响。

4、开始转换
开始将源文件转换成PDF文件。转换过程中点“中止”按钮可以中断转换过程。
转换过程中如果出现错误,在转换结束后会报告并询问是否查看错误记录。
如果是将所有源文件合并成一个PDF文件,转换结束后点“打开PDF文件”按钮可以打开该文件,当然前提条件是在您的机器上已经安装了Adobe PDF Reader或Adobe Acrobat Professional。

转换完成后点击窗口右上角的“×”按钮即可退出程序。

双层PDF完全基于OCR技术,目前的OCR引擎不可能达到100%的准确率,如果想对生成的双层PDF进行人工校对,可以点击“校对”按钮,进入“PDF校对工具”界面,利用其中提供的显示、隐藏双层PDF中的文本、删除扫描图像等 工具,辅助完成PDF校对过程。通常的校对过程为:

显示PDF中的隐藏文本,可以设置文字显示颜色、底图透明度。
文字显示出来后,就可以用Foxit PDF Editor、Foxit Phantom对文本进行编辑,包括增加、删除、改变位置、改变显示比例等。推荐使用的编辑工具是Foxit Phantom v2.2.4,更高的版本没有意义,更低的版本则不可靠。
编辑完成后,点“隐藏文字”页签,把编辑过的文字再次隐藏起来。
如果对校对结果很有信心,也不想再被大量的图像占据存储空间,可以用“删除图像”功能把原始扫描图像干净、彻底地从PDF中删除。注意删除图像是物理删除,即删除掉的图像再也找不回来,因此请慎重使用此功能。

注意在使用前请仔细阅读界面中显示的注意事项,以免后悔。具体细节详见我写的《校对双层PDF中的隐藏文本》。

更改PDF

1、往PDF挂书签

如果PDF已经存在,都是希望能够对PDF进行修改,包括加书签、页码等,则可以按如下步骤操作:

创建一个与PDF文件同名的文件夹,在里面按照接口文件要求创建接口文件、书签文件、需要添加的文本文件。通常这一步是由Pdg2Pic自动完成,现在需要手动,或在Pdg2Pic生成的基础上进行修改。
接口准备好以后,运行FreePic2Pdf,点击“更改PDF”按钮,进入“更改PDF”界面。
在“更改PDF”界面中,按照界面上标示的1、2、3步骤进行操作即可。

注意:

FreePic2Pdf对PDF的修改是“增量更新”(incremental updates),即PDF文件中被更改、替换的内容还存在于PDF文件中,只是失去了作用,因此反复更改几次以后,PDF文件长度会增加。这时用Adobe Acrobat Professional打开PDF,选“Advanced->PDF Optimizer”菜单,对PDF进行优化即可去除无用的信息,减小文件长度。需要注意的是,在Acrobat的“PDF Optimizer”对话框中,务必将“Image Setting”中的所有选项设置为Off,以免图像质量受损。

“点击书签后页面缩放”选项只对页码书签有效,对采用特殊目标的书签项无效。

2、从PDF取书签

此功能将PDF的书签提取出来,生成符合接口文件规范的接口文件、书签文件。如果想对PDF的书签进行更改,可以先用此功能提取书签,更改后再用上一个功能挂回去。

取书签的操作按界面上标示的1、2、3步骤操作即可。需要注意的是,如果原先的PDF文件不是用本软件生成的,或原PDF文件中没有设置数字页码,可能需要手工设置“基准页”。对“基准页”的解释见附录B 接口文件格式说明的[Bkmk]段部分。

如果选择了“名称转页码”选项(缺省不选中),则在提取出来的书签文件中,“已命名的目标”(Named Destinations)一律转换成页码,否则不转。

在挂书签时,对于所有采用“已命名的目标”的书签项,“点击书签后页面缩放”选项均无效,如果想使此选项有效,必须在提取书签时选择“名称转页码”选项,将命名目标转换成页码。

如果想一次导入、导出指定文件夹中所有PDF的书签,则在步骤1中选择文件夹即可。在这种情况下,每个PDF文件的接口文件和书签文件存放在一个单独的文件夹,文件夹名称与PDF文件名同名。

PDF中的特殊目标

PDF的书签(Outline)除了指向页码外,还允许指向某个名称、动作,甚至某个外部文件。在本软件中,采用某些特殊字符加以区别:

对于“已命名的目标”(Named Destinations),直接显示名称,但是名称不能以数字开头,否则必须在数字前加字符“#”。
对于“已命名的动作”(Named Action),动作名称前面加字符“!”。
对于外部PDF文件,文件名前面加字符“^”,如果还需要指定页码,则在文件名后加TAB,再加页码。

附录A 鸣谢

本软件的GIF、BMP图像文件解码采用了Davide Pizzolato的CxImage;JPEG采用了Independent JPEG Group(独立JPEG小组)发布的JPEG LIB源代码 ;Jpeg 2000解码采用了kakadusoftware提供的kakadu源代码、编码采用了Michael D. Adams发布的JasPer源代码;PNG采用了libpng组织提供的libpng源代码;TIFF采用了libtiff组织提供的libtiff源代码;zlib采用了ASM版(其实只有两个文件是ASM的)编/解码速度会比非ASM版快一点;JBig2编码采用了Adam Langley提供的jbig2enc(无内存漏洞版),其中边缘检测使用了Leptonica源代码。
PDF生成部分以libtiff提供的tiff2pdf.c为基础,并参考了PDFlib GmbH的开源项目PDFLib Lite、Michael Still的开源项目Panda的实现。PDF文件解析部分采用了xpdf的源代码。
在此对以上组织和个人表示深切的谢意!

附录B 接口文件格式说明

一、接口文件简介

接口文件为其它软件(目前主要是Pdg2Pic)提供接口,通过它可以控制FreePic2Pdf的一些行为,包括:

定义多层页面的层次关系。
统一页面宽度。
定义多段页码的起始范围。
定义文本字体。
定义添加到PDF文件尾部的文本信息。
定义多级书签。

用户可以手工对接口文件进行编辑。为了压制一本好书,通常需要反复编辑、制作,在这个过程中建议先将“黑白图像”的压缩算法设置成“CCITT G4”,以加快对黑白页面的处理速度;在最终定稿后再设置为“JBig2无损”制作一遍,以获取最佳压缩比。

二、接口文件格式

接口文件是一个INI格式的文本文件,可以用FreePic2Pdf内置的编辑器编辑,也可以用任何文本编辑器(如Windows下的“记事本”)编辑。接口文件的文件名固定为FreePic2Pdf.itf,存放在源图像文件夹下,只有选择“转换选定文件夹中的文件”时才有效。 接口文件可以采用ANSI编码,也可以采用Unicode编码,Unicode编码文件必须以FF FE开头。

如果觉得对接口文件格式理解有困难,最简单的办法就是找一本带目录的PDG书,用Pdg2Pic转换一下,然后对照看Pdg2Pic生成的接口文件。

接口文件按段存放,段与段之间用空行分隔,各段的含义如下:

1、[Images]段

该段定义多层页面的层信息。多层页面是指:在PDF中一个页面由几张图片构成,一张是底图(通常是黑白文字图),其余是插图,插图浮现在底图上。

对于每一个多层页面,需要用以下项表示:

文件名=插图数
文件名_三位编号=left,top,width,height

其中“文件名”表示图像文件的主文件名,left、top、width、height分别是底图(编号为0)和插图(从1开始编号)的左上角坐标、宽度、长度,单位为象素。

多层图像的原始图像文件统一命名为:文件名.三位编号

2、[Font]段

说明文本页中使用的字体。由于种种原因,FreePic2Pdf只支持Acrobat为PDF提供的内建字体,不支持外部字体,如TrueType Font。

该段包括下列字段:

Language=字体语言,允许的值为:Default、Latin1、GBK、BIG5、JAP、KOR
FontSize=字号,单位为磅。
Margin=页边距,单位为英寸,浮点数。

FreePic2Pdf将按照Language指定的语言,选择合适的内建字体。此值同样也限定了ANSI编码文本文件的代码页。各值的含义为:

Default:获取当前系统代码页(非Unicode程序所用语言的代码页),如果不是936、950、932、949中的任何一个,则采用1252。
Latin1:代码页1252,西欧字符,包括英、德、意、法等语言,字体采用Helvetica。
GBK:代码页936,GBK字符,包括简体、繁体、日语,字体采用STSong-Light-Acro。
BIG5:代码页950,Big5编码繁体字符,字体采用MHei-Medium-Acro。
JAP:代码页932,JIS编码日文,字体采用KozMin-Regular。
KOR:代码页949,韩语,字体采用HYGothic-Medium。

理论上说,GBK编码可以兼容英文字符,但是如果对纯英文文本文件选择了GBK编码,则生成的PDF在阅读时必须安装亚洲语言支持(即含有STSong-Light-Acro字体),才能正常显示。

3、[TextPage]段

FreePic2Pdf的目的是将图像压成PDF,但是如果PDF中只包含图像信息,将不能用PDF Reader进行搜索,不便于资料的再利用,因此可以写一个简短的小文本文件,说明书籍的名称、关键字等(如果图像是用Pdg2Pic从PDG转过来的,会自动使用BookInfo.dat),在制作PDF时作为文本页自动添加到PDF文件尾。

该段包含如下字段:

Files=需要添加的文本文件数。
Fn=文本文件的文件名。n从1开始编号。

文本文件必须与接口文件在同一个文件夹下。如果制作成PDF后觉得字太小,可以手工增加[Font]段FontSize字段的指,然后重新制作。

文本文件可以是ANSI编码,也可以是Unicode编码,Unicode编码文件必须以FF FE开头。

文本文件的语言由[Font]段的Language项指定。如果Language项与文件实际使用的语言不符,出来的可能是乱码。

4、[Bkmk]段

该段说明是否需要在PDF中制作书签,及书签文件名。该段包含下列字段:

File:书签文件名。固定为FreePic2Pdf_bkmk.txt。
AddAsText:为1时将把书签文件作为文本页添加到PDF尾部,0不添加。
ShowBkmk:为1时打开PDF文件即显示书签,0不显示。
ShowAll:为1时展开PDF文件中的所有书签,0只显示顶级书签。
BasePage:书签基准页码。作用见后面叙述,此值必须大于等于1。此值为绝对页码:从PDF文件的第一页(绝对页码为1)开始连续编排。

书签文件是一个标准Windows文本文件,文件名固定为FreePic2Pdf_bkmk.txt,可以用任何文本编辑器(如Windows下的“记事本”)打开、编辑。 书签文件允许采用ANSI或Unicode编码,Unicode编码文件必须以FF FE开头。

在将书签添加到PDF时,FreePic2Pdf先检查书签项文字,如果不含特殊字符(内码大于127的字符),则写入书签项的ANSI码,否则写入Unicode码。在写入Unicode码时,如果书签文件是ANSI编码的, 则按照[Font]段中Language项指定的语言进行转换,未指定则按照当前系统缺省代码页(非Unicode程序的代码页)进行转换。

如果需要将书签文件添加到文件尾,则书签文件的语言由[Font]段的Language项指定。如果Language项与文件实际使用的语言不符,出来的可能是乱码。

书签文件必须与接口文件在同一个文件夹下。书签文件中每一行包含如下内容:

0个或多个TAB字符:用缩进表示书签级别。
书签标题:显示在PDF书签上的文字。
分隔TAB字符:分隔“书签标题”和“页面文件名”。
书签对应页码:可以是正整数或负整数,0视为无效。从接口文件中“书签基本页码”(BasePage)字段规定的页码值开始算,基准页码及其之后的页码为正数,之前的页码为负数。即如果书签对应的页面就是基准页面,则书签对应页码为1;如果书签对应的页面是基准页面的后一页,则书签对应页码为2;如果书签对应的页面是基准页面的前一页,则书签对应页码为-1。

用书签基准页码对书签页码进行调节,可以方便手工录入书签:在录入的时候,只需对照实体书的目录页录入书签标题,书签对应页码直接照书上目录对应页码录入;然后在接口文件中将书签基准页码设置为正文第一页的绝对页码即可。

“书签对应页码”部分如果是一个数字(整数或负数),则表示是页码;如果是一个带非数字字符的字符串,则表示Named Destinations,即Acrobat中所称的“已命名的目标”,支持的格式见这里。

下面是一个从图像PDG文件生成的书签文件的片断,此书签为单级书签(书签标题前面没有TAB字符) ,注意正文页之前的页码为负数,正文页之后的为正数(BasePage=6):

封面页 -5 书名页 -4 版权页 -3 目录页 -2 1. 感恩的民众 1 2. 兄弟俩 13 3. 约翰·德·维特的学生 24 4. 凶手们 36 5. 郁金香迷和他的邻居 48 6. 一个郁金香培植者的仇恨 58 7. 幸运的人交上了恶运 67 8. 侵入 80

下面是一个从文本PDG文件生成的书签文件的片断,此书签为多级书签(注意书签标题前面的TAB字符构成的缩进表示出了书签的级别关系) ,注意正文页之前的页码为负数,正文页之后的为正数(BasePage=9):

封面页 -8 前言页 -7 目录页 -2 第一章 三星堆文明的发现与探索 1 一、惊世之发现 2 二、探索者之路 9 三、研究之现状 43 第二章 三星堆文明的基础——宝墩文化 58 一、宝墩文化的发现与认识 59 二、宝墩文化的年代及其变迁 67 三、宝墩文化的成就及其对三星堆文化的影响 74 四、宝墩时期的社会——文明的孕育时期 82

由于采用缩进表示书签级别,因此很容易用UltraEdit、EditPlus等能够记忆缩进位置的文本编辑器进行编辑,也可以采用专门的编辑软件——PdgCntEditor进行编辑。

5、[Info]段

该段定义PDF文件的Document Properties,包括如下字段:

Title=PDF文件标题。
Author=PDF文件作者。
Subject=PDF文件主题。
Keywords=PDF文件关键字。

通常Pdg2Pic用BookInfo.dat中的书名、作者、参考文件格式、主题词字段填充Title、Author、Subject、Keywords。当然不是所有下载工具生成的BookInfo.dat中都有这些字段。

6、[Main]段

该段是个杂烩,包括下列字段:

MinWidth=页面的最小宽度,单位为象素。如果页面宽度不统一,做出来的PDF会很难看,所以用这个参数统一页宽。通常Pdg2Pic是用PDG文件的最大页宽来填这个值。 在转换成PDF的时候,实际页宽根据此值,按照“参数设置”中的“固定DPI”值进行计算。
ContentsPage=目录页的起始页码。在这个页码之前的页编码为大写英文字母,该页及其之后的页编码为小写罗马字母。
TextPage=设置正文的起始页码。从该页起编码为阿拉伯数字。

ContentsPage、TextPage共同构成PDF中的多段(其实是三段)页码,其值必须是绝对页码:从PDF文件的第一页(绝对页码为1)开始连续编排。

注意:如果“参数设置”中“前言页面前缀”、“目录页码前缀”均为空,则上述两段页面用大写英文字母和罗马数字,否则用前缀+数字。如将“目录页码前缀”设置为c,则PDF中目录页就是c1、c2,……。

三、接口文件示例

下面是一个有效接口文件的内容,供第三方软件开发人员参考:

[Images]
00000003_001=208,837,1336,528
00000003_000=0,0,1778,2688
00000003=1
00000082_001=320,666,1096,1058
00000082_000=0,0,1770,2683
00000082=1

[Font]
Language=GBK
FontSize=28
Margin=2.0

[TextPage]
Files=1
F1=FreePic2Pdf.txt

[Bkmk]
File=FreePic2Pdf_bkmk.txt
AddAsText=1
ShowBkmk=1
ShowAll=1
BasePage=22

[Info]
Title=民间性巫术
Author=宋北麟著
Subject=宋北麟著.民间性巫术.团结出版社,2005.
Keywords=巫术 研究 CHINA 古代

[Main]
MinWidth=1778
ContentsPage=16
TextPage=22

版本更新记录

4.07
错误修正:在Win 10下以管理员权限运行后,从资源管理器不能拖拽打开文件。而不以管理员权限运行,则在Win 10下OCR内容为空。

Version 4.06
新增功能:在参数设置中,“彩色/灰度”压缩算法允许选择JPEG和JPEG 2000
功能增强:RGBA TIFF自动转换成透明背景图像
功能增强:OCR前的二值化算法从八叉树改成Otus
错误修正:8bit CMYK TIFF转换出来的PDF有错误。顺便支持16bit CMYK TIFF
错误修正:某些采用PackBits压缩算法并且带白边或黑边的TIFF图像转换后会错位
错误修正:批量提取PDF书签时,所有书签的基准页码均与第一本书的基准页码相同

4.05
错误修正:生成的某些双层PDF在Acrobat中不能搜索字符串。

4.04更新增强
增强对TIFF文件的容错性。

版本 4.03
继续与CMYK色彩空间的JPG做斗争。

>
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-6 14:30 , Processed in 0.203636 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表