把自己大脑想得老溢出的问题,不知道有没有人能帮我理清呀

chinahuman 2005-12-01 01:31:08
最近在写一个把HTML转成PDF的东东,不依靠现成的PDF控件和函数库,完全自己实现.
现在文档的结构已经搞定了,HTML的解析也实现了.但是在把HTML的表格转成PDF的表格的时候碰到麻烦了:PDF里面的所有显示的东东都是要自己画的,类似于在一块画布上把自己要的内容画上去,甚至里面的长字串的换行都要自己计算字符的宽度把它折行,只是把这些画的过程用一些字符来代替,因为HTML的表格会有多层嵌套,并且也可以进行单元格的合并等,这种情况下怎么去确定每一格里面,每一行文字的位置和宽度?不知道有没有好的算法和结构来实现.
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinahuman 2005-12-13
  • 打赏
  • 举报
回复
自己定义了一堆结构,加上堆栈,用了三四百行终于把它实现了.呵呵,自己感觉效果还不错,支持行列的合并,多层表格的嵌套.并且支持单元格的跨页(多页).
chinahuman 2005-12-01
  • 打赏
  • 举报
回复
发现在越低的层次上去实现一个东东,越难呀.越来越佩服这些做游览器的人了.
ssdjmcj8048 2005-12-01
  • 打赏
  • 举报
回复
确实在展现Table会有问题,相当于你自己做浏览器了;

相信会有其他途径避过这个问题。
chinahuman 2005-12-01
  • 打赏
  • 举报
回复
呵呵,这些PDF组件只是解决了怎么生成PDF的问题,这些我都已经解决了.
现在的问题是怎么Render表格等,也就是实现画复杂表格的问题.
开源组件并不是都可以拿来用的,里面有知识产权的问题,我赚的钱很少的,如果还要给他们付费,那我只能喝西北风了,如果不付费就用,那就成小偷了.
o2delphi 2005-12-01
  • 打赏
  • 举报
回复
不知道这样做的意义,网上很多开源的PDF组件,就是不想用,也可以下下来看看别人是如何实现 。省得自己想了半天,做出来的效果还不好。
chinahuman 2005-12-01
  • 打赏
  • 举报
回复
呵呵,不是期望有人能帮我解决这个问题,而是想找个人一块来想这个问题.
我现在的想法是再虚拟一个表格,在里面虚拟画,当所有的尺寸都算好后,再往画布上依次画上.
但是这样的话效率是一个很大的问题............
没有回头路的,唉,谁叫我们是吃这行饭的.
tiaoci 2005-12-01
  • 打赏
  • 举报
回复
表格的单元大小计算简单的可以这么处理

先计算整体表格的每行高/每列宽(按表格属性定义)

然后依次处理里面的单元,如果空间不够,

重新调整上一层表格的行高列宽

直到所有单元处理完成
tiaoci 2005-12-01
  • 打赏
  • 举报
回复
苦海无边,回头是岸

HTML的Render是浏览器的核心,真能做好

你不如写个浏览器和MS对着干,比写这个东西强
hunter_32 2005-12-01
  • 打赏
  • 举报
回复
沒有作過幫你up了

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧