本周工作思考
PDF渲染的技术方案迭代思考
最近一两周都在解决PDF使用Canvas渲染带来的问题,涉及到Chrome渲染的源码过程及底层图像图形,需要花费较多的积累和时间,暂时没有从底层机制上搞清楚是具体是什么原因导致的部分字体模糊的问题,通过Canvas和SVG相互切换的方式可以比较有效解决的这个问题来个,应该是图像栅格化的过程出现的问题,SVG底层的渲染和Canvas的不同是,SVG使用的图形方式(称之为矢量的原因),我们看到的任何形状,文字,图像,都是以图形的形式实现渲染,在转换成像素的过程中问题会更少。当然两者都会存在一些问题,比如大麦网曾经分享过其选座系统在涉及到大型体育场馆中数万座位渲染中会遇到的性能问题。目前我们的方式使用的是单页展示的方式,目前不存在这些性能。结合这个专项,我也对pdf以及文档小节有了更深的理解。
我注意到有一些企业大量使用文档小节,我猜测的原因可能是,PDF标准文件格式不依赖具体的软件平台,是很多企业,政府,事业单位等大型组织的文档标准之一,所以对于这类组织历经多年积累了大量的PDF文档作为其知识管理的媒体,所以在企业学习中这类文档会成为首要的学习材料和学习内容。而我们的数据也可以说明,文档小节是用户使用最频繁的小节之一。基于此我也简要设想了基于PDF技术的文档小节的功能可能性,比如:
文档小节PDF文本提取转AI语音 或者 自动转AI微课
PDF目录展示
UMU PDF数字水印
PDF文本选择及同步圈画
PDF单页快捷分享+评论
在U课指数的Kickoff的时候,我设想和思考过一个问题,我们的小节类型会越来越多,过往优秀的课程总是缺少我们新增加的小节类型,我们能不能实现小节类型之间的自动转换,或者自动生成呢?比如某页PDF内容我想生成一个讨论,或者生成拍照小节,每类小节因应用场景不同导致其学习效果和学习形式不同,但内容可能是相同的或者相近的,我们基于相同的内容构建不同小节类型的草稿,可能会给用户的课程创建带来不一样的体验或者价值。从技术侧考虑,图文小节转语音微课,文档小节转AI微课,都是有一定的技术可行性的。