PDFBookmark-Exchanger 2020-01 更新: (ver 1.0.2-final):
---- 修正PDF书签指向的页面位置为相对位置,而不再使用绝对位置。

此软件需要操作系统安装有JDK或者JRE方能运行, Oracle的官方下面地址 点这里JDK

文章目录

  • 1.前言
  • 2. PDFBookmark-Exchanger
  • 3.书签的格式
  • 4.操作建议
  • 5.软件下载及使用实例
    • 1.导出书签
    • 2.导入书签

1.前言

PDF文件全称portable document format,就是便携文档格式,是所有平台都支持浏览的文档格式。无论你用什么系统,你的屏幕显示和打印输出就是发布者想要的样子。此即“输出一致”。
在文档打印、论文撰写、信息交流,已经电子书阅读方面,PDF文档使用的越来越普遍。
PDF文件的书签(或者大纲-Outline) 提供了文档的组织结构,阅读文档时非常方便。
然而,很多PDF书籍没有书签,而书签功能又是如此重要,比如:

  • 书签导入:我们经常可以在amazon, JD或者出版社网站上浏览到相应书籍的书签,怎么将这些书签导入相应的PDF文件呢?
  • 书签导出: 从已经有书签的PDF文件中导出书签
  • 书签交换: 同一本书籍的2个不同PDF文件,清晰的文件没有书签,而不清晰的文件则带有书签,怎么方便的在PDF文件之间转移书签呢?

对于上述的三个简单功能,在网上始终未找到软件能较好提供这些功能,因此自己实现了下述软件: PDFBookmark-Exchanger

2. PDFBookmark-Exchanger

软件基于Java进行开发,可以实现跨平台使用。运行软件必须安装有JRE(Java运行时环境)。软件界面如下:

1) Load: 加载PDF文件并导出书签
2) Save: 将书签导入到PDF文件中
3) Open: 打开Text(文本文件)中的书签内容
4) Store: 保存当前书签内容到文本文件中
5)书签页码对应关系设定: 设定书签的页码和实际PDF文件页码的对应关系,默认为1对1

3.书签的格式

欲导入和导出的书签格式规定如下:

  1. 每一行代表一个书签
  2. 空行#字符开头的部分做为注释,被自动忽略
  3. 每行书签的格式为: 【0或者多个缩进】【书签名】【多个空白字符】【页码】
  • 书签缩进: 以Tab键或者连续4个空格键或者中文全角空格作为一个子书签缩进,依次类推
  • 书签名: 不能含有3个及以上空格或者Tab键或者#字符
  • 书签名和页码的分隔: 至少一个Tab键或者连续4个空格或者连续2个全角空格及以上做为分隔标记
  1. 如果书签内容保存到Text(文本文件)中,则文件必须以UTF-8编码存储

4.操作建议

以导入书签到PDF文件中为例。

  1. 首先从网上找到到书签内容, 如果有页码最好,否则需要自己输入页码。
  2. 输入页码:将书签内容拷贝到Excel文件中,每行代表一个书签,然后在另外的列中输入书签对应页码
  3. 将书签及页码拷贝到文本编辑器中,例如: Editplus, Notepad++等,使用这些编辑器提供的列选模式,调整缩进和分隔符合上节中的书签格式
  4. 书签的页面往往从1开始,而实际的PDF文件因为包含书籍封面等信息,真实页面和书签页码之间有偏移,打开PDF文件,看看书签中的页面和对应的实际页码是多少,填入软件中。
  5. 点击”Save”按钮即可导入PDF文件中。

5.软件下载及使用实例

书签缩进: PDFBookmark-Exchanger 链接:https://pan.baidu.com/s/1jIeTsUy 密码: i5un
(下载后,windows环境点击“run.bat”, Linux环境运行 “run.sh ”即可启动软件)·

csdn下载: https://download.csdn.net/download/jhsword/12266856

1.导出书签

load -> open (选择文件) 此时在下面的文本区域显示选中文件的目录。


如果需要将导出的目录存储在文件中,点击右上角的 “store”,选择存储位置,输入文件名,点击 “save” 即可.

2.导入书签


这时显示书签内容,设定书签的页码和实际PDF文件页码的对应关系:

然后点击 save,选择导入书签的pdf文件:

导入成功提示:

打开pdf文件,查看导入成功的书签:

PDF文件的书签批量自动导入和导出 PDFBookmark-Exchanger相关推荐

  1. 给知网没有书签的pdf文件添加书签(利用python解析txt文件内容并为pdf添加目录)

    今天利用tampermonkey的知网下载助手脚本下载pdf格式论文时,发现论文缺少书签,而脚本可以下载一个txt格式的书签(目录),因此打算利用python将txt格式的目录添加到pdf中. txt ...

  2. Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...

  3. 如何给PDF文件添加书签及子书签

    在网上下载的pdf文档经常没有书签目录,这样翻阅起来很不方便.如果添加一个书签目录的话,是不是会方便许多呢?下面我就想大家介绍一下如何给pdf文件添加书签目录. 首先打开想要添加目录的pdf文件,这里 ...

  4. 如何给pdf文件添加书签

    当我们阅读一本pdf书籍或文章时,如果文件的页数较多,我们想要快速查找想要阅读的内容并让页面跳转到该位置需要怎么做呢?其实实现起来非常的简单,我们只需要给pdf文件添加上书签就可以达到这个目的了.接下 ...

  5. python 多个PDF文件合并且可自动添加书签

    需求 几行代码快速合并PDF文件,免去收费烦恼,多个PDF文件合并,每个文件名当做书签,每个文件的首页当做书签页,可快速定位至浏览位置. 给一个文件夹名称,自动遍历文件夹下的所有PDF文件,如需按序合 ...

  6. python合并pdf 加书签_使用Python批量合并PDF文件(带书签功能)

    1 #!/usr/bin/env python3 2 #-*- coding: utf-8 -*- 3 ''' 4 #文件名:pdfmerge.py5 本脚本用来合并pdf文件,输出的pdf文件按输入 ...

  7. 使用python合并pdf文件带书签

    1.需求: 将几本纸质书进行了扫描,可是扫描的每页生成一个pdf文件.需要怎么才能把这些pdf文件合成一个呢?adoba acrobat工具支持,可是收费.我们平时用的都是adoba reader,只 ...

  8. linux如何将文件夹添加到书签,mac给pdf文件添加书签工具

    背景: 通过wps word转pdf,wps虽然有自带书签功能,但实际导出的效果比较坑,满足不了需求.另外通过pdf软件进行书签添加,也是各种麻烦,要一个个添加,如果文件修改了,又得重新来一次,相当浪 ...

  9. Java生成条形码PDF文件【可批量】

    最近公司有个业务,需求是开发一个可以生成条形码PDF文档的小工具.另外,老板还要求能在五一前上线该工具,时间紧,任务重.正好最近ChatGPT正火爆,何不让他帮我实现这个工具呢? 二话不说,打开cha ...

  10. excel中html批量转化为pdf文件,excel怎么批量转换成pdf格式

    时间:2020-02-10来源:百度经验作者:名字是代称阅读:5 Excel一直以来都是作为表格存入数据作用的,同时编辑数据也非常方便.但是若只用来阅读,却并不方便.而pdf格式很方便阅读,所以有人就 ...

最新文章

  1. Latex编译过程中遇到的奇奇怪怪的问题及解决方案
  2. 使用Formik轻松开发更高质量的React表单(二)使用指南
  3. Android --- Android Studio 内无法直接运行 main 方法
  4. 全球及中国一次性造口袋行业发展前景预测及投资价值分析报告2021-2027年版
  5. python getattr_来一点Python面向对象第一级进阶的东西
  6. python绘制帕累托图
  7. cocos2d-x3.0 相对布局(一)
  8. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
  9. 第一批 90 后还有半个月就 30 岁了!那些 30 岁前就成博导的人都怎样了...
  10. CVPR 2021 出自港中文,对抗变换提高对抗样本的可迁移性
  11. r语言列表添加元素_技术贴 | R语言:geom_smooth在散点图中添加多条回归直线
  12. zebradesginer zpl代码_Zebra斑马打印机通过VB编程实现ZPL代码控制打印标签
  13. 急需你的意见:句子迷图文日签投票
  14. 【程序员的自我修养】[动态图文] 超详解函数栈帧
  15. 记录一下Alphapose安装过程
  16. 534 Policy requires SSL错误
  17. 没固定公网 IP 的公司内网实现动态域名解析( 阿里云万网解析 )
  18. 如何查看本地是否安装oracle, 查看安装的Oracle客户端版本
  19. golang时间字符串和时间戳转换
  20. 千里马若有人赏识--不论对错,不为输赢,我就是认真。

热门文章

  1. kubernetes核心组件的运行机制
  2. 2014小米校园招聘笔试(10.13北京)
  3. MySQL之MHA集群的详细教程
  4. 1.2 iostream库简介
  5. y480 linux无线网卡驱动,联想y480无线网卡驱动
  6. 用电子签章实现企业招投标安全高效,流程一体化
  7. javashop B2C开源电商系统源代码
  8. 鲜花销售管理系统jsp全部代码_基于Java的鲜花销售管理系统设计与实现.zip
  9. installanywhere打包过程(openproj版)
  10. js导出excel文件