这是一个短的“发布会”。

01 基本介绍

近期开发了一个【PDF合并分割助手】。

它是一个实现pdf快速合并、分割的免费软件。

你拥有以下7种选项设置。

>>合并选项<<

1 保留书签,顶层书签以pdf文件名(不含“.pdf”)构建

2 保留原始书签,顶层书签与源文档相同

3 纯合并内容,丢弃所有源文档书签

4 按照正面顺序,反面顺序交叉合并

5 按照正面顺序,反面逆序交叉合并

>>拆分选项<<

1 默认分割为单页

2 按照指定页码范围分割,页码范围(例:1,2-5)

>>使用技巧<<

小技巧1:在列表区域上,右键可以调整文件先后顺序。

小技巧2:移除文件按钮支持多选文件后进行批量删除。

小技巧3:您可以通过拖拽文件到空白区域以加载文件。

02 软件界面

03 下载地址

软件为绿色版本(压缩包仅8M),已在win10测试没有问题。

下载链接:https://www.123pan.com/s/9Rn9-VjQpH.html

提取码: dyzj

(链接失效可以关注公众号“读研札记”,后台回复“pdf合并”)

04 开发思路提示与彩蛋

主要使用pypdf模块和qpdf开源工具完成。核心难点在于:如何获取书签以及重新编号保证新的pdf到达准确的指向页码位置。

一些可能实现pdf合并的开源工具(版权请自己仔细识别)

1 poppler 

pdfunite 1.pdf 2.pdf 3.pdf 4.pdf all-1234.pdf
结论:无法保留书签

2 xpdf 

结论:没发现怎么合并

3 pdftk (free版免费)

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

结论:无法保留书签,即使通过dump_data获取书签方法也需要另外处理,应该比较麻烦

4 cpdf 个人免费,商业收费

cpdf -merge  1.pdf 2.pdf -o out.pdf
 结论:可以合并书签,合并后的新书签能够指向准确的位置。
cpdf -merge -merge-add-bookmarks 1.pdf 2.pdf -o out.pdf 
结论:可以以带有后缀的文件名作为书签项,但是无法去掉后缀“.pdf”。

5 qpdf (Apache License 2.0 许可,可商业使用)

qpdf 2.pdf --pages 1.pdf . -- out.pdf
结论:仅仅只能保留(前面的那个书签,保留2.pdf) (1在前2在后)

6 pdf补丁丁 

结论:可以实现pdf合并,为封装工具,github也有它的开源。


 

原创软件 | 第3期:PDF合并分割助手V1.0(个人免费)的更多相关文章

  1. 【转】寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater) (v1.0) (

    原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b57.html 寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) ...

  2. [原创]软件质量保证圈QQ群:197915314

    [原创]软件质量保证圈QQ群:197915314 软件质量保证圈QQ群:197915314,讨论软件工程.软件过程改进.软件质量保证等(非测试群)! 欢迎各位同学来,来时请自报家门,名片修改格式:sh ...

  3. PDF合并

    要求:将多个table导出到一个PDF里,然后打印. 问题分析:要求将四个table放一个PDF打印,四个table的列各不相同,第一个是表头,其他三个是列表,列比表头多很多,如果直接生成一个exce ...

  4. 电脑报2014年第43期 pdf高清版

    电脑报2014年第43期 pdf高清版

  5. C#实现多个PDF合并及去除文字水印功能

    实现pdf合并就是使用Spire.Pdf.dll类库的方法,但是注意需要同时引用Spire.Pdf.dll和Spire.License.dll两个类库,且两个类库的版本要一致 String[] fil ...

  6. PHP使用FPDF pdf添加水印中文乱码问题 pdf合并版本问题

    ---恢复内容开始--- require_once('../fpdf/fpdf.php');require_once('../fpdi/fpdi.php'); 使用此插件 pdf 合并 并添加水印 期 ...

  7. pdftk - handy tool for manipulating PDF 免费的pdf合并工具

    Linux pdf合并的工具 安装工具 $ sudo apt-get install pdftk 使用 $ pdftk *.pdf cat output all-in-one.pdf &&am ...

  8. pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签

    初步熟悉 安装 pip install pypdf2 合并并添加书签 #!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # @Time : 2019/1 ...

  9. 极客工具,PDF合并工具

    前言 这两天一番花两天的时间,重新用python和python图形化开发工具tkinter,完善了下PDF合并小工具,终于可以发布了. 工具目前基本功能已经完善,后期如果有反馈可以修复部分bug或完善 ...

  10. [原创软件]Maya语言切换工具

    软件主要功能: 切换Maya语言 软件界面截图: 开发环境及语言: c# .NET Framework 4.0 Visual Studio 2015 更新日志: v1.0(2016.7.20) 发布初 ...

随机推荐

  1. C语言:学生成绩排名----冒泡排序

    题目: /*     输入10个学生成绩.     计算总分以及平均分数.     求出高于等于平均分的人数.     再按降序(由大到小)排序成绩并输出      */ 用到的冒泡算法代码模板: / ...

  2. RediSearch的简单使用与总结

    前言 之前就有考虑过想要研究下RediSearch,号称高性能全文索引的功能,这几天闲来无事调研了一番. RediSearch 介绍 RediSearch 是 Redis Labs 提供的一款强大且高 ...

  3. Python基础篇(流程控制)

    流程控制是程序运行的基础,流程控制决定了程序按照什么样的方式执行. 条件语句 条件语句一般用来判断给定的条件是否成立,根据结果来执行不同的代码,也就是说,有了条件语句,才可以根据不同的情况做不同的事, ...

  4. 基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用

    安装负载均衡metalb 安装metalb kubectl create namespace metallb-system 配置metalb #kubectl create secret generi ...

  5. Base64 java图片工具类

    import org.springframework.util.Assert; import javax.imageio.ImageIO; import java.awt.image.Buffered ...

  6. GROK 表达式

    GROK 表达式 常用表达式 标识:USERNAME 或 USER 正则:[a-zA-Z0-9._-]+ 名称:用户名 描述:由数字.大小写及特殊字符(._-)组成的字符串 例子:1234.Bob.A ...

  7. Vue——Ajax请求的基本使用

    1.get方法发送Ajax请求 // 直接在 URL 上添加参数 ID=12345 axios.get('/user?ID=12345') .then(function (response) { co ...

  8. Vue3.0+typescript+Vite+Pinia+Element-plus搭建vue3框架!

    使用 Vite 快速搭建脚手架 命令行选项直接指定项目名称和想要使用的模板,Vite + Vue 项目,运行(推荐使用yarn) # npm 6.x npm init vite@latest my-v ...

  9. css摩天轮

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  10. ajax传参

          // ajax传参         // ajax传参特点:         //   1,不需要跳转         //   2,ajax传参,都是异步程序         //    ...