V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dier
V2EX  ›  问与答

有没有这么一种文件格式?

  •  
  •   dier · 2022-08-09 10:27:06 +08:00 · 1582 次点击
    这是一个创建于 823 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近通过 MD 格式写的文件导出分享给其它人阅读时发现一个问题

    MD 文件在编辑器中都是没有纵向分页的概念。所有的文字、图片混合编辑排版像是在一张无限长的纸上一样,唯一限制纸张长度的就是内容。有多少内容,这张纸就有多长。

    但导出成 PDF 时就会要选纸张大小,如果是图文混排的内容经常会因为图片太长导致文字在一页,图片在另外一页,中间有大量空白区域,阅读体验很差。

    如果导出为 html ,图片又不能包含在同一个文件中。

    想问一下有没有类似 html 这种可以无限下拉不分页,还能把图片嵌在同一个文件中(类似 PDF docx )的文件格式。
    或者大家平时是怎么避免这个问题?
    16 条回复    2022-08-09 13:58:29 +08:00
    equationl
        1
    equationl  
       2022-08-09 10:37:32 +08:00   ❤️ 1
    你在找的是不是 .mhtml ?
    shintendo
        2
    shintendo  
       2022-08-09 10:39:14 +08:00   ❤️ 1
    mhtml ?
    libook
        3
    libook  
       2022-08-09 10:39:16 +08:00   ❤️ 1
    个人认为即便都是把一些内容放到同一页里,也会有很多不同的排版方式,而且也有可能需要提前规划好内容来适应排版需要,所以最好可能还是用些 docx 或 odt 等富文本格式,在写的时候排版。
    dier
        4
    dier  
    OP
       2022-08-09 10:40:18 +08:00
    @equationl 我搜了一下,这个格式貌似符合我描述的需求,我研究研究看能不能转成这种格式。

    如果大家还有其它的建议,也欢迎补充
    wudicgi
        5
    wudicgi  
       2022-08-09 10:40:49 +08:00   ❤️ 2
    不嫌文件大的话,可以用 data:image/png;base64,... 把 base64 编码后的图片嵌到 HTML 中
    dier
        6
    dier  
    OP
       2022-08-09 10:48:55 +08:00
    @wudicgi #5 你这个方式确实也可以,内容不是太多我觉得你这种基本上就能解决我的问题了,不过我在 iPhone 上试了一下打开有个小问题,就是不能匹配到用浏览器来打开这个文件,有点尴尬。不知道安卓手机会不会有这样的问题,我找个人试试
    wudicgi
        7
    wudicgi  
       2022-08-09 10:49:22 +08:00
    N 年前写 PHP 没多久时,我还写过一个叫 Mht File Maker 的类
    https://www.phpclasses.org/package/1766-PHP-Build-MHT-MIME-archives-from-lists-of-files.html

    后来根据反馈,使用者多数是把 .mht 文件当成能被 Word 打开的一种富文本格式来用的

    不过 .mht 这个格式实在太老了,浏览器以前貌似只有 IE 支持。像 Firefox, Chrome 之类的我感觉一直不咋支持
    wudicgi
        8
    wudicgi  
       2022-08-09 10:52:17 +08:00
    其实最好还是生成 PDF, 但是免费的 HTML 转 PDF 的库我试过一些,没有太好用的
    比如 wkhtmltopdf 对中文书签的支持有 bug, 正文某些字体没效果,某些字体直接乱码

    排版方面,那些 HTML 转 PDF 的工具可以通过 CSS 或一些额外标记来对图文混排做一些控制
    linhua
        9
    linhua  
       2022-08-09 10:56:40 +08:00
    SingleFile 这个扩展可以将图片和内容都导出到一个 html 文件里
    icyalala
        10
    icyalala  
       2022-08-09 10:59:49 +08:00
    想要别人看到的分页内容和你一样,那你写的时候就要按分页来写。直接 Word 吧。。
    dier
        11
    dier  
    OP
       2022-08-09 11:24:38 +08:00
    @icyalala #10 主要是一些之前已经用 MD 写好的文档,MD 文档预览的时候也没分页的概念,一直往下拉就行了。只是转成 PDF 就会导致分页效果不如 MD 的预览效果
    dier
        12
    dier  
    OP
       2022-08-09 11:25:53 +08:00
    @wudicgi #8 我把 base64 图片之后的 MD 转成 html ,再把 html 转成 PDF 排版、缩放就没 html 那么好了。
    nekoneko
        13
    nekoneko  
       2022-08-09 11:53:40 +08:00
    在找 LaTex ?
    cht
        14
    cht  
       2022-08-09 12:38:12 +08:00
    移动网络特色产物:长图生成器 😀
    dier
        15
    dier  
    OP
       2022-08-09 13:11:27 +08:00
    @cht1995 你这到也是个招😂
    dier
        16
    dier  
    OP
       2022-08-09 13:58:29 +08:00
    @nekoneko #13 LaTex 跟 PDF 一样也是要分页的,我想找的是内容在一页上,这一页的长度取决于内容有多少页面就有多长
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:19 · PVG 08:19 · LAX 16:19 · JFK 19:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.