非常好用的markdown轉pdf工具

在文檔處理和知識管理中,Markdown因其簡潔易讀的特性而廣受歡迎,而PDF格式則因其廣泛的兼容性和穩定性而被廣泛用于文檔分享和存檔。然而,將Markdown文檔高效地轉換為PDF格式,同時保留格式和樣式,一直是許多用戶的需求。今天推薦一款好用的工具——mdout。它是一個用Go語言實現的Markdown轉PDF命令行工具,基于headless Chrome技術,具備簡單、可靠、易安裝、可定制化和易拓展等特點。無論你是開發者、技術作家還是普通用戶,mdout都能滿足你將Markdown文檔轉換為PDF的需求,同時支持HTML和URL輸入,提供了豐富的自定義選項,讓你能夠輕松生成符合個人或項目需求的PDF文檔。

使用場景

技術文檔編寫

對于開發者和技術人員來說,編寫技術文檔是日常工作的一部分。使用Markdown格式編寫文檔既方便又高效,但有時需要將這些文檔轉換為PDF格式以便分享或存檔。mdout能夠快速將Markdown文檔轉換為PDF,同時保留代碼塊、數學公式等格式,確保技術文檔的專業性和可讀性。

學術寫作

學術研究中,研究人員經常需要撰寫論文、報告等文檔,這些文檔通常包含大量的數學公式和圖表。mdout支持MathJax數學公式和Mermaid流程圖,能夠將這些復雜的內容準確地轉換為PDF格式,滿足學術寫作的需求。

項目文檔管理

在項目管理中,項目文檔的整理和歸檔非常重要。mdout可以幫助項目團隊將Markdown格式的項目文檔轉換為PDF格式,方便團隊成員查閱和存檔。同時,支持自定義主題和輸出路徑,使得文檔管理更加靈活和高效。
4. 個人知識管理
對于個人用戶來說,使用Markdown記錄筆記和知識是一種常見的做法。mdout可以將這些Markdown筆記轉換為PDF格式,方便用戶進行知識整理和分享。支持HTML和URL輸入,使得用戶可以將網頁內容快速轉換為PDF,豐富知識庫的內容。

安裝步驟

mdout 的安裝分為三步:

  1. 獲取 mdout 可執行文件
  2. 配置 mdout 命令
  3. 下載 mdout 主題

1.1 腳本一鍵安裝

自取安裝包:https://pan.quark.cn/s/1e4d35cf8d4d

支持 macOS 或者 linux 、Windows系統

  • mdout.linux.x86-64.tar.gz 7.82 MB
  • mdout.macOS.x86-64.tar.gz 7.72 MB
  • mdout_windows_x86-64.tar.gz 7.65 MB
  • github # 主題包

1.2 windows配置和安裝步驟

下載好 mdout_windows_x86-64.tar.gz 安裝包,右鍵解壓即可獲得 mdout.exe

創建 mdout.exe 存放文件夾,例如 我的是存放電腦中的 D:\mdout
在這里插入圖片描述

設置環境變量,右鍵我的電腦 -> 選擇屬性 -> 左邊的高級系統設置
在這里插入圖片描述

選擇高級 -> 點擊環境變量
在這里插入圖片描述

找到下半部分的系統變量,雙擊 Path
在這里插入圖片描述

在彈出來的窗口選擇新建
在這里插入圖片描述

填入mdout.exe 文件 所在路徑,我這里是 D:\mdout ,然后一定要連續點完三個確定
在這里插入圖片描述

檢驗是否成功打開 cmd 或者 powershell ,再或者 gitbash 都可以(推薦使用命令行的 windows 用戶都至少裝一個 gitbash ),輸入 mdout ,看到如下輸出就是成功了
在這里插入圖片描述

1.3 linux配置和安裝步驟

下載好安裝包、并用tar命令解壓文件

tar -xvzf mdout.linux.x86-64.tar.gz

放入系統可執行文件目錄

sudo mv mdout /usr/local/bin

檢驗是否成功

 # 看到版本號輸出就成功
mdout --version

1.4 macOS配置和安裝步驟

下載好安裝包、并用tar命令解壓文件

tar -xvzf mdout.macOS.x86-64.tar.gz

放入系統可執行文件目錄

mv mdout /usr/local/bin

檢驗是否成功

# 看到版本號輸出就成功
mdout --version

配置文件夾說明

你輸入mdout命令的時候, 會自動在用戶的家目錄下創建一個名為 mdout 的配置文件夾,并且在一般而言結構應該如下所示:

mdout
|-- conf.toml
|-- log
|   `-- xxxx-x.log
`-- theme|-- github|-- css|-- index.html`-- lib

不同系統的家目錄不同,最終導致不同平臺的 mdout 配置文件夾路徑不同,以下表格以用戶為 jabin 舉例,在不同系統的路徑:

系統配置文件夾路徑
windowsC:/Users/jabin/mdout
linux/home/jabin/mdout
macOS/Users/jabin/mdout

初始化mdout 主題包

1.1 手動配置github主題包

假設我的電腦登錄用戶是jabin

參考 配置文件夾說明 中的不同平臺配置文件夾路徑以及文件位置,進入mdout/theme 文件夾,將下載好的 github 主題包放到到C:/Users/jabin/mdout/theme/ 文件夾中。

1.1 使用幫助

每個命令行程序都有幫助文檔,mdout也不例外

mdout -h
mdout --help

1.2 輸入文件路徑可以是相對路徑

最簡單的示例,默認就是轉換成pdf文檔

mdout 文件路徑

輸入文件路徑可以是相對路徑、文件在當前目錄

mdout yourfile.md

或文件在上級目錄

mdout ../yourfile.md

文件路徑也可以是絕對路徑

mdout /tmp/markdown/yourfile.md

1.4 輸入文件類型

mdout支持許多輸入類型,其中最普遍的就是markdown,但同樣也支持html輸入,url輸入,但是注意,如果輸入是url,不要忘記帶上http://

markdown轉換pdf

mdout yourfile.md

html轉換成pdf

mdout yourfile.html

url獲取數據轉換成pdf

mdout http://www.baidu.com

1.5 輸出文件類型

對于markdown輸入,mdout支持輸出中間過程的結果。但對于html輸入或者url輸入,它們的唯一輸出結果就是pdf文件了

markdown 輸出pdf(輸出pdf為默認選項)

mdout youtfile.md -t pdf  
mdout yourfile.md

markdown輸出解析后html標簽(這個選項可以得到markdown解析器的解析結果)

mdout youtfile.md -t tag

markdown輸出經過處理后的完整html文件(常常用來調試主題)

mdout youtfile.md -t html

使用總結

mdout是一款功能強大、操作簡單的Markdown轉PDF工具。它基于headless Chrome技術,能夠高效地將Markdown文檔轉換為PDF格式,同時支持HTML和URL輸入,滿足不同用戶的需求。mdout的自定義主題功能允許用戶根據自己的喜好調整文檔的樣式和格式,而易安裝和易拓展的特點使得它適合各種技術水平的用戶。無論是在技術文檔編寫、學術寫作、項目文檔管理還是個人知識管理中,mdout都能發揮重要作用,幫助用戶高效地完成文檔轉換和管理任務。如果你經常需要處理Markdown文檔并將其轉換為PDF格式,mdout絕對值得一試的哈。

GitHub項目地址:https://github.com/JabinGP/mdout/tree/master

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86381.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86381.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86381.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

八股文——JAVA基礎:基本數據類型與包裝類的區別

基本數據類型包含八種, 1.用途不同,在目前編程而言,基本除了使用局部變量會使用基本數據類型外,都會去使用包裝類。包裝類能夠適用泛型是目前企業編程使用包裝類的主要原因,而基本類型不行。除此之外,包裝…

從0開始學習R語言--Day30--函數型分析

在研究離散變量之間的影響時,我們往往只能獲取類似中位數,平均數點來額外數據特點;但如果數據本身具有時間特性的話,我們可以嘗試運用函數型分析,將靜態的離散點轉為動態過程來分析,即若本來是分析離散點對…

Agent輕松通-P3:分析我們的Agent

歡迎來到啾啾的博客🐱。 記錄學習點滴。分享工作思考和實用技巧,偶爾也分享一些雜談💬。 有很多很多不足的地方,歡迎評論交流,感謝您的閱讀和評論😄。 目錄 1 引言2 使用工具分析Agent:”日志“…

如何將FPGA設計驗證效率提升1000倍以上(1)

我們將以三個設計樣例,助力您提升設計開發效率。 對于FPGA應用開發來說,代碼是寫出來的,更是調試出來的。軟件仿真擁有最佳的信號可見性和調試靈活性,被大多數工程師熟練使用,能夠高效捕獲很多顯而易見的常見錯誤。 …

RabbitMQ 利用死信隊列來實現延遲消息

RabbitMQ 利用死信隊列來實現延遲消息 基于 TTL(Time-To-Live) 死信隊列(DLX)的方式來實現延遲消息 首先消息會被推送到普通隊列中,該消息設置了TTL,當TTL到期未被消費掉,則會自動進入死信隊列…

Keepalived+Haproxy+Redis三主三從

一、集群部署 1、案例拓撲 2、資源列表 主從節點是隨機分配的,下屬列表只是框架: 操作系統主機名配置IP應用OpenEuler24master12C4G192.168.10.101RedisOpenEuler24master22C4G192.168.10.102RedisOpenEuler24master32C4G192.168.10.103RedisOpenEule…

Modbus轉IEC104網關:電力自動化系統的橋梁

現代電力系統中,變電站、發電廠以及配電網絡中存在大量采用不同通信協議的設備。Modbus協議因其簡單易用在現場設備中廣泛部署,而電力行業主流監控系統則普遍采用IEC 60870-5-104(簡稱IEC104)協議。協議差異導致的數據孤島現象&am…

@annotation:Spring AOP 的“精準定位器“

想象你是一位快遞員,負責給一個大型社區送快遞。社區里有幾百戶人家,但只有特定家庭需要特殊服務: 普通快遞:直接放快遞柜生鮮快遞:需要冷藏處理貴重物品:需要本人簽收藥品快遞:需要優先配送 …

Web Worker使用指南 解鎖瀏覽器多線程 ,提升前端性能的利器

文章目錄 前言一、什么是 Web Worker二、適用場景1、CPU 密集型計算2、圖像/視頻處理3、實時數據流處理(高頻場景)4、后臺文件操作5、復雜狀態機/AI邏輯(游戲開發)6、長輪詢與心跳檢測7、WebAssembly 加速8、WebGL 與 Canvas 渲染…

React 18.2.0 源碼打包

一、React源碼地址 GitHub:React 二、參考文章 sourcemap實戰-生成react源碼sourcemap Rollup中文文檔 JavaScript Source Map 詳解 全網最優雅的 React 源碼調試方式 三、打包操作 安裝依賴 // 全局安裝yarn npm i -g yarn // 源碼項目目錄下執行yarn安裝依賴…

UniApp 開發第一個項目

UniApp 開發第一個項目全流程指南,涵蓋環境搭建、項目創建、核心開發到調試發布,結合最新實踐整理而成,適合零基礎快速上手: ?? 一、環境準備(5分鐘) 安裝開發工具 HBuilderX(官方推薦IDE):下載 App 開發版,安裝路徑避免中文或空格 微信開發者工具(調試小程序必備…

Web項目開發中Tomcat10+所需的jar包

版權聲明 本文原創作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 項目背景 Web項目中使用低版本Tomcat時常用的jar包如下: javax.servlet-apijavax.ejb-apijavax.jms-apijavax.json-api 當Web項目使用Tomcat10的版本時&#…

網絡安全就業方向與現實發展分析:機遇、挑戰與未來趨勢

網絡安全行業的戰略地位與就業背景 在數字經濟蓬勃發展的今天,網絡安全已從技術分支演變為關乎國家安全、企業存亡和個人隱私的核心領域。根據國家網信辦數據顯示,2025年我國網絡安全人才缺口達200萬人,較2023年增長33%。這一現象源于三重驅…

iOS runtime隨筆-消息轉發機制

運行時的消息轉發分三步, 當你調用了沒有實現的方法時, 有機會通過runtime的消息轉發機制補救一下 resolveInstanceMethod/resolveClassMethod 這里可以動態去創建方法來解決CrashforwardingTargetForSelector ?????第一步未解決, 就會走到這里, 可以給出一個Target去轉發…

vue3用js+css實現輪播圖(可調整堆疊程度)

先看效果 html <divclass"outer"style"width: 650px;background: #fff;box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);border-radius: 15px;margin: 0 10px 15px 5px;">//這里用的是svg-icon,需要的可自行替換為其他圖片<svg-iconid"btn_l&q…

Three.js項目實戰:從零搭建小米SU7三維汽車

大家如果有過購車的經驗&#xff0c;肯定會先從網站上收集車輛的信息&#xff0c;比如懂車帝&#xff0c;汽車之家&#xff0c;這些網站上逼真的看車效果是如何實現的呢&#xff0c;這節課帶你從0-1快速的手搓一個看車小項目。 懂車帝官網 效果 視頻教程和筆記 大家可以下方小…

Android13 永久關閉SELinux 權限

永久關閉 SeLinux 在cmdline中增加參數androidboot.selinuxpermissive&#xff1b; 芯片: QCM6115 版本: Android 13 kernel: msm-4.19 ~/temp_code/SLM927D_LA.UM.9.15$ git diff device/qcom/bengal/BoardConfig.mk diff --git a/device/qcom/bengal/BoardConfig.mk b…

Linux創建DHCP服務

Linux可作為DHCP服務端使用&#xff0c;為同一個網絡下的其它機器動態分配ip。在一些情況下&#xff0c;可以起到很大的作用。 二級標題 安裝dnsmasq # ubuntu sudo apt update -y sudo apt install -y dnsmasq# centos sudo yum install -y dnsmasq修改配置文件 sudo vim …

汽車4G-TBOX智能終端 汽車國標GB/T 32960協議

汽車國標GB/T 32960協議4G TBOX是一種廣泛應用于車聯網的設備&#xff0c;下面將從不同方面為你詳細介紹。 移動管家汽車4G-TBOX智能終端定義與用途 4G TBOX是基于車聯網技術智能服務系統中的采集終端。以車云網的4G TBOX_CC750為例&#xff0c;它為整個智能服務系統提供GPS/…

JavaEE-Mybatis初階

什么是MyBatis MyBatis是?款優秀的 持久層 框架&#xff0c;?于簡化JDBC的開發。 MyBatis本是 Apache的?個開源項?iBatis&#xff0c;2010年這個項?由apache遷移到了google code&#xff0c;并 且改名為MyBatis 。2013年11?遷移到Github 創建項目時添加依賴 上面有…