ArtifexSoftware / pdf2docx

Open source Python library for converting PDF to DOCX.
https://pdf2docx.readthedocs.io
GNU Affero General Public License v3.0
2.46k stars 356 forks source link

这个项目最大的问题在于数据结构设计 #271

Open nunamia opened 6 months ago

nunamia commented 6 months ago

整体的数据结构设计导致了非改项目发起者去修改问题和维护很困难

make_docx 递归的方式,无论是性能还是可维护性都是非常糟糕的设计...

nunamia commented 6 months ago

还有个致命在于引入了ImageBlock ImageSpan, 并且与TextSpan同级的数据结构... 但是整个项目的亮点也很多,比如debug layout的设计, word适配字体样式等各种细节的处理思路

nunamia commented 6 months ago

因为这些原因,所以项目也很难维护,有时间和精力的,就进行重构吧~!

nunamia commented 6 months ago

21.pdf bu补充下这个,格式排版就很不合理了,左右栏无法正确识别和布局

nunamia commented 6 months ago

原始图:

image

转换word图:

image

这个完全无从下手,根源在2点,1布局,2缩放倍数/字体 计算误差