V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
esyed
V2EX  ›  程序员

pdf 文档是文本格式么?

  •  
  •   esyed · 2015-02-07 15:52:45 +08:00 · 3084 次点击
    这是一个创建于 3365 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://coolwanglu.github.io/pdf2htmlEX/demo/demo.html
    怎么可以将pdf转换成div格式的?
    赶脚太神奇了:(

    好好的pdf,为啥要转成div呢?
    转成div后,文件不是变大了么?

    10 条回复    2015-02-12 16:03:41 +08:00
    binux
        1
    binux  
       2015-02-07 15:58:43 +08:00
    不是
    pdf 是渲染格式,在模拟画布上渲染出来,再把布局用 div 描述出来就好了。
    连图片都能转层 div 格式,pdf 为什么不可以。
    转成 div 不就可以用浏览器打开了吗?
    不一定变大,带 gzip 的情况下。
    GeekGao
        2
    GeekGao  
       2015-02-07 16:07:04 +08:00
    标准和格式wiki 有提及http://zh.wikipedia.org/wiki/PDF

    转换目的一般是为了可以夸平台免工具在WEB页面上展示PDF文档内容。
    esyed
        3
    esyed  
    OP
       2015-02-07 16:10:59 +08:00
    @binux 给你个jpeg,你能转成div? 如何转?
    yfdyh000
        4
    yfdyh000  
       2015-02-07 16:25:42 +08:00
    为了方便跨平台查阅。
    pdf.js 岂不更神奇。
    转成像素点,然后用单像素元素画出。原理可参考 http://cssha.com/img2txt-canvas/
    esyed
        5
    esyed  
    OP
       2015-02-07 16:29:32 +08:00
    @yfdyh000 是js解析整个pdf,然后生成div么?pdf是二进制文档啊,如何解析?
    yfdyh000
        6
    yfdyh000  
       2015-02-07 17:20:41 +08:00
    js能做到的很多,而且随着HTML5正越来越多。原理没研究过,也没查到有人介绍。如有需要可看官方文档和源码等资料。http://mozilla.github.io/pdf.js/ 等。
    msg7086
        7
    msg7086  
       2015-02-07 17:44:11 +08:00
    @esyed 只要能显示就能解析。
    显示软件本身就有解析能力,为何不能解析。
    至于是怎么做的,那就看源码吧。
    aaaa007cn
        8
    aaaa007cn  
       2015-02-07 18:02:48 +08:00
    >> pdf是二进制文档啊,如何解析?
    读入二进制流
    然后根据标准定下的文件结构来解析呗

    如果对 pdf 的文件格式不熟悉
    可以找个你熟悉的文件格式
    然后去 npm 找些纯 javascript 实现的 encoder 或 decoder 来理解
    hanan321
        9
    hanan321  
       2015-02-12 15:02:10 +08:00
    咦,发现自己的blog文章被引用了。。。
    esyed
        10
    esyed  
    OP
       2015-02-12 16:03:41 +08:00
    @hanan321 卤煮还在帝都么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3551 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:52 · PVG 18:52 · LAX 03:52 · JFK 06:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.