V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
rookiebulls
V2EX  ›  分享创造

Markdown 在线转 PDF

  •  
  •   rookiebulls · 57 天前 · 1827 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Markupdown 在线转 PDF

    背景

    随着 AI 技术的普及,我们越来越频繁地使用 AI 工具润色方案和文章,这些内容通常以Markdown格式输出。然而,Markdown在分享时并不理想。

    市面上现有的 Markdown 在线转 PDF 工具大多要求将文件保存到本地后再上传转换,操作繁琐且缺乏灵活性,无法调整字体大小、页面边距等细节,隐私也无法保障。于是我就开发了这款工具。

    这款工具旨在利用浏览器(基于 Chromium)的打印功能,将标记语言在线直接转换为 PDF ,目前已支持Markdown格式。

    👉 立即体验: https://ml2pdf.xyz

    功能

    • ✅ 实时预览:支持类 PDF 的分页式预览,所见即所得
    • ✅ 样式自定义:可调整字体、字号及页面边距
    • ✅ 页面美化:支持插入页码及自定义页眉页脚
    • ✅ 安全可靠:纯前端实现,无需担心隐私泄露
    • ✅ 便捷高效:复制粘贴,无需本地存储和上传步骤
    第 1 条附言  ·  56 天前
    ## 更新

    - ✅ 支持代码高亮

    ```python
    def quick_sort(arr):
    if len(arr) <= 1:
    return arr # 基线条件:空数组或单元素数组已经有序
    pivot = arr[0] # 选择第一个元素作为基准
    left = [x for x in arr[1:] if x <= pivot] # 小于等于 pivot 的放左边
    right = [x for x in arr[1:] if x > pivot] # 大于 pivot 的放右边
    ```

    - ✅ 支持 mermaid

    ```mermaid
    graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
    ```

    - ✅ 支持 LaTex 数学公式

    $$
    \begin{align}
    \tag{1.1}
    V_{sphere} = \frac{4}{3}\pi r^3
    \end{align}
    $$
    第 2 条附言  ·  55 天前
    - ✅ 支持手动分页

    插入
    <!-- page break -->

    <div class="page-break"></div>
    23 条回复    2025-05-21 15:24:17 +08:00
    touchwithe
        1
    touchwithe  
       57 天前 via iPhone
    建议加入代码高亮。
    一般我是用 sublime 的插件 markdownPreview 在浏览器预览然后 cmd+p 打印为 pdf 。
    qqqyh
        2
    qqqyh  
       57 天前 via iPhone
    Obsidian 导出 pdf 秒了
    foufoufm
        3
    foufoufm  
       57 天前
    @qqqyh 正好遇到一个 obsdian 用户, 我想问问如何增加空白行,默认会给我导出的话移除掉我的空白行
    line
        4
    line  
       57 天前
    好像 latex, mermaid 都不支持。
    tedding
        5
    tedding  
       57 天前
    我是使用 vscode 插件在浏览器预览,然后打印到 pdf ,可以手动微调 dom 影响打印的 pdf
    rookiebulls
        6
    rookiebulls  
    OP
       57 天前 via iPhone
    @line 现在只是支持了 markdown
    rookiebulls
        7
    rookiebulls  
    OP
       57 天前 via iPhone
    @touchwithe 我以前也这么干的,也是觉得有点麻烦,而且我想加页脚不好加
    rookiebulls
        8
    rookiebulls  
    OP
       57 天前 via iPhone
    @qqqyh 有时就是想在线快速转一下,不然很多工具都可以做
    rookiebulls
        9
    rookiebulls  
    OP
       57 天前 via iPhone
    @tedding 调 dom 也太麻烦了吧
    rookiebulls
        10
    rookiebulls  
    OP
       57 天前 via iPhone
    @touchwithe 代码高亮支持了
    VtoEXL
        11
    VtoEXL  
       57 天前
    开源吗,想学习下
    tedding
        12
    tedding  
       57 天前
    @rookiebulls 毕竟不是每一个主题渲染出来的格式都满意,我就算使用你这个配置在某些时候也不够灵活
    dallaslu
        13
    dallaslu  
       57 天前
    似乎一些细节还可以优化:

    * 创建打印友好型网页: https://blog.baoshuo.ren/post/printer-friendly-webpage/
    * 网页打印样式: https://dallas.lu/how-to-write-print-styles-for-webpages/
    BerniLin
        14
    BerniLin  
       57 天前
    老哥牛的,请问开源吗?
    rookiebulls
        15
    rookiebulls  
    OP
       56 天前 via iPhone
    @dallaslu 好的,下来看下
    rookiebulls
        16
    rookiebulls  
    OP
       56 天前 via iPhone
    @tedding 这个确实是的,要灵活性就得牺牲便利性
    qqqyh
        17
    qqqyh  
       56 天前
    @foufoufm 用 html 语法<br><br>即可。另外 Ob 编辑模式和预览模式渲染效果不一致,以预览模式为准。
    foufoufm
        18
    foufoufm  
       56 天前
    @qqqyh 那也没有自动添加<br>的方案诶。。。
    mokecc
        19
    mokecc  
       56 天前
    给你找个葫芦 https://tool.lu/markdown/
    rookiebulls
        20
    rookiebulls  
    OP
       56 天前
    @mokecc 他这个没有分页效果,页边,页头,页码这些也不能设,而且这个是后端渲染的
    mokecc
        21
    mokecc  
       56 天前
    @rookiebulls 好像是前端。我刚刚断网,也可以正常渲染,生成 PDF
    rookiebulls
        22
    rookiebulls  
    OP
       56 天前
    @mokecc 那估计是 jsPDF 之类的库渲染的
    rookiebulls
        23
    rookiebulls  
    OP
       56 天前
    @line 支持了,但只支持 latex 公式
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:53 · PVG 18:53 · LAX 03:53 · JFK 06:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.