强大的桌面用 PDF 重排工具:K2pdfopt 简明教程
用 Kindle 阅读 PDF 一直以来都遭到小伙伴们的无限吐槽,在那 Kindle 还能越狱的时代,我们有 Koreader 之类优秀的 Kindle 第三方插件实现 PDF 文档的实时重排,但是随着 Kindle 固件版本升级的频率加快,越狱已经跟不上进度了,所以 Koreader 等第三方插件也失去了着力点。好在现在有了 K2pdfopt,这是一款可以直接在桌面环境下运行的软件,桌面系统比 Kindle 的性能强劲,在重排 PDF 的时候更快速,也从根本上脱离了越狱的限制。
目录
一、K2pdfopt 的重排效果
二、下载软件 K2pdfopt
三、Windows GUI 版本操作步骤
四、命令行版本操作步骤
1、Windows 系统
2、Mac OS X 系统
3、Linux 系统
五、其它

K2pdfopt 是一个开源软件。可以优化 PDF/DJVU 文件以适配移动阅读设备(比如 Kindle)以及智能手机。它能很好的处理有多栏内容的 PDF/DJVU 文件以及重排甚至是扫描版 PDF 文件的文本。它也能被当作一个标准的 PDF 操作工具,如复制、裁切、调整尺寸、ORC识别。它能生成原生或位图形式的 PDF,带有可选的 OCR 层。支持 Windows、Mac OS X、Linux 系统,其中 Windows 系统集成了一个带界面的版本。
一、K2pdfopt 的重排效果
| 示例类型 | 原始文件 | 为 Kindle 优化 (默认设置) |
为智能手机优化 (-odpi 250) |
| 四栏内容: | ![]() |
![]() (must use -col 4) |
![]() (must use -col 4) |
| 扫描内容: | ![]() |
![]() |
![]() |
| 两栏内容: | ![]() |
![]() |
![]() |
| 一栏内容: | ![]() |
![]() |
![]() |
二、下载软件 K2pdfopt
K2pdfopt 支持 Windows、Mac OS X、Linux 系统,请下载适用于自己系统的版本:
软件下载页面:https://bookfere.com/tools#K2pdfopt | 官方下载页面
*注意:在使用 K2pdfopt 时,请避免路径、文件名出现中文字符。
三、Windows 版 带GUI 版本操作步骤

仅有 Windows 版 K2pdfopt 集成了带界面的 GUI 版本,使用方法也很简单:
1)点击“ADD FILE”或直接通过鼠标将 PDF 文档导入到“File list”。支持导入多个 PDF 文档。
2)在“Env. var”栏填写转换后文档的输出路径。留空代表输出转换后的文档到源文件所在目录。
3)在“Additional opions”栏填写“-ws -1”。据网友经验,填写此项可改善排版。
4)选择设备“Device”。每一种设备的尺寸和 DPI 是不同的,请根据你的设备选择。
5)选择转换模式“Conversion Mode”,一般使用默认“default”即可。可在左侧面板微调参数。
6)设置好后可点击右下角的“Preview”预览效果。最后点击“Convert All Files”进行开始转换。
官方使用引导视频(英文):优酷视频
四、命令行版本操作步骤
K2pdfopt 在 Windows、Mac OS X、Linux 系统中均有命令行版本。
1、Windows 系统:

Windows 版 K2pdfopt 默认是打开 GUI 版本的。如果想要在 Windows 下使用命令行版本的 K2pdfopt,需要进行以下操作:
1、在可执行文件“K2pdfopt.exe”上点击鼠标右键,在弹出的菜单中选择“创建快捷方式”。
2、在创建的快捷方式上点击鼠标右键,在弹出的菜单中选择“属性”,在弹出的对话框中,在“目标”栏中的路径后面添加“ -gui-”(注意要有空格),点击“确定”。
3、双击修改后的快捷方式运行命令行模式的 K2pdfopt。
4、可根据提示填写参数。比如“-ws -1”,回车确认(使用默认设置可忽略此步)。
5、把 PDF 文档拖放到命令提示符上(或输入 PDF 路径),回车确认。然后再次回车开始转换。
6、最后生成名称类似“file_k2opt.pdf”的最终文档。
2、Mac OS X 系统:

1、下载 K2pdfopt 到桌面;
2、打开“终端”,输入 cd ~/desktop;
3、接着输入 chmod 755 k2pdfopt,按回车键将 K2pdfopt 变成可执行文件;
4、双击运行 K2pdfopt;
4、可根据提示填写参数。比如“-ws -1”,回车确认(使用默认设置可忽略此步);
6、然后把 PDF 文档拖放到命令提示符上,点击回车确认。然后再次点回车开始转换;
7、最后生成名称类似“file_k2opt.pdf”的最终文档。
3、Linux 系统:
在 Linux 系统中,需要将下载的 k2pdfopt 文件移动到你自己的路径,并将其修改为可执行,然后再通过终端运行它。具体步骤请打开一个终端然后参照下面的命令依次输入:
$ cd ~/Downloads/ #这里的“/Downloads/”是指下载 K2pdfopt 所在的路径
$ sudo mv k2pdfopt /usr/bin #这里的路径可以按照你的喜好设置
$ chmod +x /usr/bin/k2pdfopt #将 k2pdfopt 变成可执行文件
$ cd /my/pdf/folder #定位到 PDF 文档所在目录
$ k2pdfopt myfile.pdf #开始转换 PDF 文档
你可以创建一个脚本。具体操作请移步这里。
强大的桌面用 PDF 重排工具:K2pdfopt 简明教程的更多相关文章
- 【重磅开源】Hawk-数据抓取工具:简明教程
Hawk-数据抓取工具:简明教程 标签(空格分隔): Hawk Hawk: Advanced Crawler& ETL tool written in C#/WPF 1.软件介绍 HAWK是一 ...
- 【开源】Hawk-数据抓取工具:简明教程
1.软件介绍 HAWK是一种数据采集和清洗工具,依据GPL协议开源,能够灵活,有效地采集来自网页,数据库,文件, 并通过可视化地拖拽, 快速地进行生成,过滤,转换等操作.其功能最适合的领域,是爬虫和数 ...
- 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档.使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了.浏览器兼容性: IE 10, Firefo ...
- Aspose 强大的服务器端 excel word ppt pdf 处理工具
Aspose 强大的服务器端 excel word ppt pdf 处理工具 http://www.aspose.com/java/word-component.aspx
- jsPDF – 基于 HTML5 的强大 PDF 生成工具
jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档. 使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了. 米扑科技项目用到了HHTML5生成PD ...
- 功能强大的PDF实用工具
PDF实用工具(PDFTool)是北京博信施科技有限有限公司研制开发的一款专门提供对PDF文件进行编辑.加工的处理软件.本软件具有对PDF文件进行分割.结合.加密.解密.添加水印.设定有效期限等多种功 ...
- [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler
[原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...
- Windows 桌面边栏小工具开发入门
准备为网站做一个桌面通知功能的工具,现在网上一般是html5+js的比较多.虽然html5+js现在是web的开发主流,但是我们应用一般是windows系统.并且应使用中,需要打开谷歌或其 ...
- FlashFXP(强大的FXP/ftp上传工具)V5.0.0.3722简体中文特别版
flashfxp是功能强大的fxp/ftp软件,融合了一些其他优秀ftp软件的优点,如像cuteftp一样可以比较文件夹, FlashFXP是一款功能强大的FXP/ftp上传工具, FlashFXP集 ...
随机推荐
- TensorFlow框架(4)之CNN卷积神经网络
1. 卷积神经网络 1.1 多层前馈神经网络 多层前馈神经网络是指在多层的神经网络中,每层神经元与下一层神经元完全互连,神经元之间不存在同层连接,也不存在跨层连接的情况,如图 11所示. 图 11 对 ...
- postman接口测试工具完整教程
第一部分:基础篇 postman:4.5.11.安装postman进入postman官网,如果是mac系统可以直接点击mac app安装 如果是windows的话,需要在windows下安装chrom ...
- sublime中css输入分号后自动提示的烦恼
sublime开发前端确实好用,有好多些个的插件,轻量便捷,但是在使用sublime中的一些插件的时候总是会遇到困扰,跟自己想象中的不一样,比如在使用SublimeCodeIntel插件的时候,就会遇 ...
- 在JS事件封装时,addEventListener()方法的this问题
最近在写js的类库,模仿的是jquery的编程风格,当封装到事件监听的时候发现遇到了一个问题,代码是这样的: 上面是封装的一个事件委托的代码,我以为上面的封装跟普通的事件监听一样简单,结果我在调用时发 ...
- Windows下mysql忘记root密码
1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 打开第一个cmd窗口,切换到mysql的bin目录,运行命令: mysql ...
- 浅析HTTP协议的请求报文和响应报文
1.HTTP协议与报文简介 HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. 而客户端与服务端通信时 ...
- 深度学习框架-caffe安装-环境[Mac OSX 10.12]
深度学习框架-caffe安装 [Mac OSX 10.12] [参考资源] 1.英文原文:(使用GPU) [http://hoondy.com/2015/04/03/how-to-install-ca ...
- ABP 框架学习-01篇
从来没有自己写过太多的技术性文章,博客里面的文章都是拷贝别人的东西,做一个笔记功能给自己用的.最近觉得应该写点自己的学习博客 https://aspnetboilerplate.com/ ABP框架, ...
- Angular 新手容易碰到的坑
Q1.<div ng-include="views/user/show.html"></div> 错在哪里? 如果你这么写过,会发现这个位置啥也没有加载出来 ...
- 【grunt】两小时入门
目录: 1. 用途和场景 2.Grunt插件 3.相关资源 4.环境安装 5.开始学习 5.1 一个新项目 5.2 生成package.json 5.3 在项目中安装grunt和相关插件 5.4 Gr ...











