15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 实践-SuperMemo-PDF文档网页增量(三)

实践-SuperMemo-PDF文档网页增量(三)

时间:2023-05-27 02:45:01 | 来源:网站运营

时间:2023-05-27 02:45:01 来源:网站运营

实践-SuperMemo-PDF文档网页增量(三):




一.转换工具:PDF转HTML

1.本地及在线软件:

Abbyy FineReader/万兴PDF阅读器支持直接导出HTML,Caliber则可转换PDF至Zip格式再解压

备选:
1.小于40M的PDF文件用Word直接导出成网页 2.PDF阅读器如福昕阅读器可先转Word后再导出网页. 总之,如PDF阅读器不能直转html,可转Word/Epub/Zip再通过解压或者再次导出.
可以使用在线的转换软件,但可能会收费或有各种限制及不稳定,我在文中有推荐了部分网址.
2.定制开发工具包:

说明:pdf2htmlex生成的网页中图片也是base64编码保存的,所以SM中导入后也不显示图片



二. 操作流程: (使用mutool来作演示)

1.把PDF转换成HTML网页 2.导入SuperMemo学习

首选Abbyy FineReader/万兴PDF阅读器/Mutool命令行/Word应用程序(PDF小于40M)来转换,本文我们使用Mutool演示. 除使用Word格式(PDF小于40M直接用WORD打开,否则用福昕阅读器先转Word格式再用Word导出HTML).还可使用Epub或Zip格式(万兴等PDF阅读器先转至Epub或Caliber先转至Zip再用解压工具解压. 注:Caliber貌似用的是pdf2htmlEX项目来转换).


1.转换PDF至HTML

mutool在之前文章已经作了介绍,本文不再进行安装设置说明,你可以参考下文进行下载及配置

你也还可以参考官方的文档:

步骤一: 查看mutool 工具的转换参数(这里用的是convert命令,其实还可以用draw命令实现)

查看mutool的用法
可一起使用的参数
draw命令有大部分功能和convert命令是重合的,所以它的使用参数和convert命令基本一致. 如下为draw命令日常使用的中文说明,如需更具体参考你可以看我上面放置的官网文档链接:
draw命令也可实现



步骤二: 执行如下转换命令(注意:pdf文件后是对应的PDF页码,如果不输入默认转换所有页):

mutool convert -F html -o myfile.html -O preserve-images Y:/OneDrive/PDF书籍/轻松Scrum之旅.pdf 1,3,44,5-20
cmd窗口执行命令
如下正确生成了html文档,浏览器打开如下:

转换带图片的网页成功
步骤三: 用IE打开网页,Ctrl+Shift+A 导入网页并进行学习

网页可直接导入SM进行学习
上面生成的网页中图片默认是用base64编码展示的,SM软件不支持这些图片的导入,所以增量阅读时图片区域会显示出一个叉号,所以我建议在增量阅读到这个图片时,如果不需要这个图片则可以直接删除这个叉号,如果需要则可以直接从网页或PDF源文件中复制或截图过来,如下图:

SM软件不支持base64图片导入
手动修复部分图片的问题
以上我是用mutool工具来实现PDF至网页生成并学习的具体步骤,因该命令行工具现版本所支持的html导出用的是base64编码来存储图片,所以如上我会增加一步手工取图的操作(可以用简单的脚本处理下网页,把base64图片文件化,然后替换图片链接,具体可以参考我文末的方案).

简单较小的PDF文件,Word程序来导出也可以,不然则可用其它备选工具,如Abbyy FineReader或万兴PDF阅读器(PDF转换成HTML或转成Epub再解压)来实现PDF到HTML网页的转换,这两个工具生成的网页图片是可以直接导入的,但注意,这两个软件也不是完美的. 比如: 软件收费/文本识别率有时会比mutool更低 / 排版错乱 /转换速度慢/转换时消耗资源高/不方便需求定制等.

====总结: PDF转换至HTML网页的方案===

1.ABBYY FineReader / 万兴PDF阅读器 软件本身支持转换文本图形分离的网页,只不过要收费,另外也可以直接Word程序(PDF大小限制),福昕->Word,万兴->Epub,Caliber->Zip等间接方式.

2.在线的转换工具,WPS在线转换/永中在线转换等在线转换工具,会有各种限制及收费,不稳定等问题, 也存在一定隐私问题,无法自定规则及不方便批处理.如下放置几个免费的在线转换网址:




3.mutool 命令行工具及 mupdf api 库 / poppler / 基于前两个软件的pdf2htmlEX 等转换工具

mutool使用简单,只不过生成网页中图片是用base64编码的,上面我建议是这样操作: 导入进SM软件来学习时,显示叉号但不需要的图片可直接删除,需要的图片直接从网页拷贝源图片到SM软件即可.如果你一定要导入图片在SM学习可以按我文末的方法简单处理一下生成的HTML网页.

poppler自带了一套工具集,可以实现PDF转换成文本/图片/网页. 使用工具pdf2html可以生成文本及图片分离的网页,但实验中会有一小部分网页格式上会有乱的情况,所以自己综合看下效果.

pdf2htmlEX 生成网页效果最好,但网页文件较大/DOM结构较复杂/网页解析消耗资源,图片也是返回base64,如果是要导入SM中进行增量,还是不建议了,直接用浏览器打开体验还是很不错的.


Mutool免费开源,提供了命令行工具套件及pymupdf编程包,社区活跃,迭代的速度很快.支持多线程,网页转换速度相当快.方便自己定制处理,所以比较推荐.

如下: 我们会发现mupdf官网版本修复/更新非常快,很多软件现在没有的功能相信很快会出现:

代码提交更新数据
--------2021-01-31 增加如下--------:

针对mutool导出html时图片默认为base64编码的问题.网上也有人提出过问题,官方回答是建议自己单独写代码来处理一下,把base64的图片保存至本地并用本地链接替换回原来的img链接.

# 方式一 : 对mutool生成的HTML网页直接解析,解码出图片并替换链接...image = json.loads(pg.getText('json'))['blocks'][0]['image'] img = Image.open(io.BytesIO(base64.b64decode(image))) #fitz.Pixmap(doc, xref)# 方式二: 直接使用Mupdf的API自已生成HTML,使用dict来取图片及文本...doc = fitz.open(file_path)for page in doc: page.getText("dict")
我是一只热爱学习的小胖子,如果你也热爱学习,并且对SuperMemo感兴趣,欢迎转发和评论!

关键词:增量,实践

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭