Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407582
  • 博文数量: 55
  • 博客积分: 2124
  • 博客等级: 大尉
  • 技术积分: 621
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-26 17:39
文章分类
文章存档

2011年(1)

2010年(2)

2009年(32)

2008年(20)

分类:

2009-03-04 23:53:49

一个 PDF 书签导入导出工具

近来在处理一些 PDF 文件时,发现使用 Foxit Reader 程序添加的书签具有默认的阅读宽度设置,有时候这是不必要的。有时候,我们也希望统一处理书签的内容(如批量替换等)。我就做了一个可以导入导出 PDF 书签的工具,可将 PDF 书签导出成 XML 文档。然后可使用 XML 文档编辑器批量修改书签设置及文本后,将 XML 书签文档重新导入 PDF 文档,从而更新 PDF 文档中的书签。

下载程序

此程序已升级新版本,请参见:http://blog.chinaunix.net/u2/67609/showart.php?id=1901763

书签导入导出程序可在此网址下载:http://blogimg.chinaunix.net/blog/upfile2/090316095827.rar

使用须知

  1. 该程序是绿色软件,解压出来后执行 EXE 文件,按界面的提示操作即可(或阅读下面的操作指南)。
  2. 该程序运行时要求计算机上已安装 .NET Framework 2.0 运行环境。
  3. 本程序为免费软件,可自由使用。

操作指南

制作 PDF 书签:还是用 Foxit Reader 吧。免费软件,操作非常方便。
 
制作好 PDF 的书签后,可用本程序导出 PDF 文档中的书签:
  1. 点击“PDF 原始文件”对应的“浏览”按钮,选定需要导出书签的 PDF 文档。
  2. 点击“导出 XML 书签”按钮。
  3. 程序将弹出一个保存对话框,在保存对话框中为导出的 XML 书签文件指定名称。
  4. 点击“确定”按钮关闭保存对话框。
  5. 书签将导出为指定的 XML 文件。同时,书签文件名将出现在“PDF 书签文件”文本框中。

导出书签后,可使用 XML 文件编辑器或文本编辑器编辑其中的内容,以定制自己需要的书签内容。

  • 导出的书签 XML 文件中,每个书签以“Title”元素表示。
  • 书签的文本以“Title”元素的文本表示,如“总论”表示一个文本为“总论”的书签。
  • “Title”元素如具有“Action="Goto"”属性,表示点击书签将跳转到指定的页面。
  • 页面目标在“Page”属性中指定。Page 属性中,第一个数字表示文档中的页数。然后是一个文本字符串,FitH 表示跳转到目标时将使用“适合页面宽度”的查看方式,这样就有可能在跳转后改变文档的放大比例。接着的两个属性是X轴和Y轴位置。如原Page属性为“Page="238 FitH 124.959"”,表示跳转到 238 页,跳转后以“适合页面宽度”方式显示文档,Y轴(纵向)坐标为124.959(页面底端的坐标为0)。
  • 我一般不喜欢在跳转到新页面后改变当前的放大比例的,可将其改用“XYZ”方式指定跳转目标。如上述“Page”属性可改为“Page="238 XYZ 0 124.959"”。表示跳转到第 238 页,Y轴(纵向)坐标为124.959,XYZ 后出现的第一个数字为 X 轴(横向)坐标,坐标为 0 表示显示文档最左端。这样,跳转到第 238 页后就不会更改文档当前的显示放大比例。通常我使用文本编辑器批量替换所有“FitH”为“XYZ null”,成为如“Page="238 XYZ null 124.959"”的形式。
  • 此外,在“Page”属性中使用“XYZ”方式可以精确指定跳转到新页面时的放大率,例如“Page="45 238 XYZ 0 124.959"”,在“33.92”后多了一个“2”,表示放大率改为“200%”。
  • 在书签中还可以“Color”属性指定书签颜色。该属性包含3个值,分别为红、绿和蓝分量。0为最小值,1为最大值。如“Color="0 0 0"”表示黑色,“Color="1 0 0"”表示红色。
  • 如果书签之间有嵌套关系,在 XML 文档中表现为一个“Title”元素嵌套一批“Title”元素。“Title”元素可具有一个“Open”属性,表示书签是否打开。默认是打开的(即显示书签所包含的下级书签)。如果不希望下级书签打开,可将“Open”属性设置为“false”,即“Open="false"”,这样,该书签如包含子书签,则子书签默认不显示出来。
  • 本程序使用 iTextSharp 组件读写 PDF 文档,更详细的信息可参阅 iText 的文档()。

将修改后的书签导入 PDF 文档:

  1. 点击“PDF 原始文件”对应的“浏览”按钮,选定需要导入书签的 PDF 文档。
  2. 点击“PDF 书签文件”对应的“浏览”按钮,选定需要导入的书签文件。
  3. 点击“PDF 输出文件”对应的“浏览”揿纽,选定导入书签后所输出的 PDF 文档。这个程序目前还是测试版,有时候可能会导出损坏了的 PDF 文档,所以输出 PDF 文档与输入的 PDF 文档不能重名。
  4. 点击“导入 PDF 书签”按钮,程序将读取输入 PDF 文件和书签文件,将其合并到一起输出成为指定的 PDF 文档。
阅读(19083) | 评论(5) | 转发(0) |
0

上一篇:新年小记

下一篇:三省、三尸与无咎

给主人留下些什么吧!~~

wmjordan2011-11-01 20:07:06

程序已搬家到 http://pdfpatcher.cnblogs.com

wmjordan2011-11-01 20:06:33

匿名: 额,发现了,原来是page的p没大写
十分感谢你这个程序,要不手动添加目录就实在是太费时间了.....
程序已經搬家到 http://pdfpatcher.cnblogs.com

2011-10-21 23:43:01

额,发现了,原来是page的p没大写
十分感谢你这个程序,要不手动添加目录就实在是太费时间了

2011-10-21 23:39:36

麻烦帮忙看一下,书签导入了,但是实现不了跳转,xml文件是根据另一个pdf导出的修改的
<?xml version="1.0" encoding="utf-8"?>
<Bookmark>
<Title page="31 Fit" Open="false" Action="GoTo" >Chapter 1: Programming Basics and Strings
        <Title page="31 Fit" Action="GoTo" >How Programming Is Different from Using a Computer</Title>
        <Title page="33 Fit&q

chinaunix网友2009-07-21 17:18:26

太厉害啦,也太专业了,我先收藏了。谢谢。