不知道你對各種文件的格式轉換需求大不大,對于我來說是挺需要的,比如有時候我在 MarkDown 寫的文章或者文檔,我需要將它們轉化成不同的文件形式來給別人閱讀,比如網頁,比如 PDF,電子書的 epub 等等的格式,甚至我還想要它們在不同的格式之間能夠互相轉換。
你想不想,把在線的網頁變成 PDF, 然后慢慢看?
今天小帥b想要給你介紹的是一個開源的神器——pandoc。
它自稱是一把文件格式轉換的「瑞士軍刀」,因為幾乎你能夠想到的用標記語言寫的文件,都能通過 pandoc 進行轉換。
If you need to convert files from one markup format into another, pandoc is your swiss-army knife.
那么,怎么通過 pandoc 來實現我們需要的文件格式轉化呢?
根據你使用的操作系統,你可以到 GitHub 上下載相應的版本:
https://github.com/jgm/pandoc/releases/tag/2.11.3.2
你也可以使用命令的方式進行安裝:
Mac OS 可以這樣安裝:
brew install pandoc
如果你是 Windows 用戶也可以使用 choco 進行安裝:
choco install pandoc
Ubuntu 可以這么安裝:
sudo apt-get install pandoc
然后你輸入以下命令,可以看到版本號就說明你安裝成功了:
pandoc --version
pandoc 的命令是這樣使用的:
pandoc [選項] [輸入文件] ...
比如我想把我現在寫的 markdown 是這樣的:
想要把它轉化成 HTML,就可以這樣:
pandoc -s --metadata title='帥b講pandoc' -o out.html Desktop/pandoc.md
這樣就可以把我桌面上的 md 直接轉出 html 文件了:
一行命令就搞定了,其中 「 -s --metadata title='帥b講pandoc' -o out.html 」就是「選項」:
而在最后面的 「Desktop/pandoc.md」就是「輸入文件」。
可能你要問了,這些「選項」在哪里可以得到,分別都是什么意思?
有兩個地方你可以查詢得到,一個是在你的終端中使用 man 命令:
man pandoc
往下拉你就可以看到各種選項的意思:
另一個地方你可以通過在線文檔查詢,地址在這:
https://pandoc.org/MANUAL.html#options
內容都是一樣的,不過網頁更加方便查閱。
我們再來玩一下,將 HTML 文件轉化為 PDF,因為 pandoc 在轉化為 PDF 文件的時候,需要用到 pdf 引擎,pandoc 默認使用的是 pdflatex,如果你沒有安裝可以先安裝一波。
brew install basictex
pandoc 支持的 pdf 引擎有很多,比如:
pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, prince, context
你可以根據自己的需要,選擇對應的引擎,比如我們把剛剛生成的 HTML 文件直接轉化為 PDF,就可以這樣:
pandoc --pdf-engine=xelatex -o out.pdf out.html -V mainfont=STXihei
這里我們使用的 pdf 引擎是 xelatex,使用的中文字體是細黑,運行得到的 pdf 是這樣子的:
是不是很方便,還有很多其他的文件格式,你都可以通過 pandoc 進行轉化,你還可以對其指定樣式,模板等操作,你都可以在這里找到:https://pandoc.org/MANUAL.html。
如果你想在 Python 中使用 pandoc ,也不是不行,你可以安裝 pypandoc 這個庫,然后使用也是很簡單,像這樣:
OK,以上就是今天小帥b給你帶來的分享,希望對你有幫助!
最后,一直堅持原創分享不易,如果對你有幫助的話點個贊支持一下唄,這樣我才有動力給你一直分享個不停嘛,好了,我們下回見,peace!
我是怎么通過 Python 排版公眾號的?
你真的會使用 Python 命令嗎?
使用終端命令行的一些技巧
LaTeX遵循呈現與內容分離的設計理念,以便作者可以專注于他們正在編寫的內容,而不必同時注視其外觀。在準備LaTeX文檔時,作者使用章(chapter)、節(section)、表(table)、圖(figure)等簡單的概念指定文檔的邏輯結構,并讓LaTeX系統負責這些結構的格式和布局。因此,它鼓勵從內容中分離布局,同時仍然允許在需要時進行手動排版調整。這個概念類似于許多文字處理器允許全局定義整個文檔的樣式的機制,或使用層疊樣式表(CSS)來規定HTML的樣式。LaTeX系統是一種可以處理排版和渲染的標記語言。
LaTeX(/lɑtx/,常被讀作/lɑtk/或/letk/),LaTeX(音譯“拉泰赫”)是一種基于ΤΕΧ的排版系統,排版時通常使用LATEX,由美國計算機學家萊斯利·蘭伯特(LeslieLamport)在20世紀80年代初期開發,利用這種格式,即使使用者沒有排版和程序設計的知識也可以充分發揮由TeX所提供的強大功能,不必一一親自去設計或校對,能在幾天,甚至幾小時內生成很多具有書籍質量的印刷品。對于生成復雜表格和數學公式,這一點表現得尤為突出。因此它非常適用于生成高印刷質量的科技和數學類文檔。這個系統同樣適用于生成從簡單的信件到完整書籍的所有其他種類的文檔。LaTeX使用TeX作為它的格式化引擎,當前的版本是LaTeX2e(寫作LATEX2ε)
LaTeX的開發者Lamport表示對LaTeX的讀音沒有偏好。LaTeX的正確的寫法是其官網首頁展示的圖標,請看圖。如果因技術限制而無法做到,則應該寫成“LaTeX”。不得改變任何一個字母的大小寫,以免和“latex”(乳膠)混淆。
Lamport開發的LaTeX是當今世界上最流行和使用最為廣泛的TeX宏集。它構筑在Plain TeX的基礎之上,并加進了很多的功能以使得使用者可以更為方便的利用TeX的強大功能。使用LaTeX基本上不需要使用者自己設計命令和宏等,因為LaTeX已經替你做好了。因此,即使使用者并不是很了解TeX,也可以在短短的時間內生成高質量的文檔。對于生成復雜的數學公式,LaTeX表現的更為出色。LaTeX自從八十年代初問世以來,也在不斷的發展.最初的正式版本為2.09,在經過幾年的發展之后,許多新的功能,機制被引入到LaTeX中。
最基本的TeX程序只是由一些很原始的命令組成,它們可以完成簡單的排版操作和程序設計功能。然而,TeX也允許用這些原始命令定義一些更復雜的高級命令。這樣就可以利用低級的塊結構,形成一個用戶界面相當友好的環境。
在處理器運行期間,該程序首先讀取所謂的格式文件,其中包含各種以原始語言寫成的高級命令,也包含分割單詞的連字號安排模式。接著處理程序就處理源文件,其中包含要處理的真正文本,以及在格式文件中已定義了的格式命令。
創建新格式是一件需要由具有豐富知識的程序員來做的事情。把定義寫到一個源文件中,這個文件接著被一個名叫iniTeX的特殊版本的TeX程序處理。它采用一種緊湊的方式存貯這些新格式,這樣就可以被通常TeX程序很快地讀取。
Leslie Lamport 開發的LaTeX是當今世界上最流行和使用最為廣泛的TeX格式。它構筑在 PlainTeX的基礎之上,并加進了很多的功能以使得使用者可以更為方便的利用TeX的強大功能。使用LaTeX基本上不需要使用者自己設計命令和宏等,因為LaTeX已經替你做好了。因此,即使使用者并不是很了解TeX,也可以在短短的時間內生成高質量的文檔。對于生成復雜的數學公式,LaTeX表現的更為出色。
LaTeX自從二十世紀八十年代初問世以來,也在不斷的發展。最初的正式版本為2.09,在經過幾年的發展之后,許多新的功能,機制被引入到LaTeX中。在享受這些新功能帶來的便利的同時,它所伴隨的副作用也開始顯現,這就是不兼容性。標準的LaTeX2.09,引入了“新字體選擇框架”(NFSS)的LaTeX,SLiTeX,AMSLaTeX等等,相互之間并不兼容。這給使用者和維護者都帶來很大的麻煩。
LaTeX 是TEX 中的一種格式(format) ,是建立在TeX基礎上的宏語言,也就是說,每一個LaTeX命令實際上最后都會被轉換解釋成幾個甚至上百個TeX命令。但是,普通用戶可以無需知道這中間的復雜聯系。就像編程的時候如果使用一些已經編譯好的函數庫和模板可以使我們僅僅用幾個命令就實現很多功能一樣,LaTeX根據人們排版文章的習慣,定義了許多命令和模板,通過這些命令和模板,我們可以很快的得到漂亮的排版結果。
(1)空格:LaTeX中空格用來隔開單詞(英語一類字母文字),多個空格等效于一個空格;對中文沒有作用。
(2)換行:用控制命令“\”,或“ \newline”。
(3)分段:用控制命令“\par” 或空出一行。
(4)換頁:用控制命令“\newpage”或“\clearpage”。
(5)特殊控制字符:#,$, %, &, - ,{, }, ^, ~。
小提示:要想輸出這些控制符,在控制符前面加一個反斜杠作為轉義字符進行控制輸出。
(6) 有對應的西文字符轉換表;字號轉換命令表;可以縱向固定間距控制命令;有頁面控制命令;可以使用LaTeX編輯表格;可以使用LaTeX編輯數學公式。
(7)常見數學公式排版命令:
(7.1)行中數學公式狀態命令:\begin{math} 數學公式 \end{math}。
簡式1: \( 數學公式 \);
簡式2: $ 數學公式 $。
(7.2)獨立數學公式(不帶編號)狀態命令:\begin{displaymath} 數學公式 \end{displaymath}。
簡式1: \[ 數學公式 \];
簡式2: $$ 數學公式 $$。
(7.3)獨立數學公式(帶編號)狀態命令:\begin{equation}數學公式\end{equation}
\begin{equation*}數學公式\end{equation*}可以取消編號。
1、指數使用^表示、而下標可以用_表示,在其特殊控制符號后加相應字符來實現。比如:
$a_{1}$ ; $x^{2}$。
2、平方根(square root)的輸入命令為:\sqrt,n 次方根相應地為:\sqrt[n]。方根符號的大小由 LATEX自動加以調整。也可用 \surd 僅給出符號。比如:$\sqrt{ x^{2}+\sqrt{y} }$。
3、命令\overline 和\underline 在表達式的上、下方畫出水平線。比如:
$\overline{m+n}$;$\underline{m+n}$。
4、命令\overbrace 和\underbrace 在表達式的上、下方給出一水平的大括號。比如:$\underbrace{ a+b+\cdots+z }_{26}$
TeX是一款功能強大的Telegram安全監控與管理工具,該工具專為Telegram設計,可以實現針對Telegram的安全監控與管理。
TeX旨在幫助安全研究人員、調查人員和執法人員收集和處理針對網絡犯罪分子的取證信息,其中包括網絡犯罪、欺詐攻擊、安全攻擊和相關Telegram群組的信息。
Python 3.10+
Windows x64或Linux x64
1、連接管理器(用于處理Telegram連接);
2、群組消息收集器;
3、群組枚舉(收集所有群組的信息,包括群組成員信息和個人資料圖片等);
4、群組信息自動同步;
5、用戶信息自動同步;
6、消息監聽器(監聽所有傳入的消息);
7、消息收集器(收集群組全部的消息);
8、媒體資源下載;
9、HTML報告生成;
10、導出下載的文件;
11、導出消息;
12、消息查找系統(支持使用語句或正則表達式查找消息);
13、消息通知系統(支持向Discord發送警報和所有監聽到的消息);
14、Elastic Search 8+原生集成;
15、使用Tesseract的圖像OCR;
源碼安裝
由于該工具基于Python 3開發,因此我們首先需要在本地設備上安裝并配置好Python 3.x環境。接下來,廣大研究人員可以直接使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/guibacellar/TEx.git
然后切換到項目目錄中,使用pip工具和項目提供的requirements.txt文件安裝該工具所需的其他依賴組件:
cd TEx
pip install -r requirements.txt
pip安裝
除此之外,我們還可以通過pip來安裝TeX:
pip install TelegramExplorer
下列命令可以直接利用pip install upgrade命令將TeX升級至最新版本:
pip install --upgrade TelegramExplorer
你在首次連接時可能會需要你提供一個額外的身份驗證信息,TeX將會彈窗提示你提供身份挑戰應答:
基礎使用
首先,使用下列內容在/usr/my_TEx_config.config路徑下創建一個配置文件my_TEx_config.config:
[CONFIGURATION]
api_id=12555896
api_hash=dead1f29db5d1fa56cc42757acbabeef
phone_number=15552809753
data_path=/usr/home/tex_data/
執行前兩個命令配置并同步TeX,最后一個命令用來激活監聽器模塊:
python3 -m TEx connect --config /usr/my_TEx_config.config
python3 -m TEx load_groups --config /usr/my_TEx_config.config
python3 -m TEx listen --config /usr/my_TEx_config.config
命令行使用
連接到Telegram服務器:
python3 -m TEx connect --config CONFIGURATION_FILE_PATH
更新群組列表:
python3 -m TEx load_groups --config CONFIGURATION_FILE_PATH
python3 -m TEx load_groups --config CONFIGURATION_FILE_PATH --refresh_profile_photos
監聽消息:
python3 -m TEx listen --config CONFIGURATION_FILE_PATH
python3 -m TEx listen --config CONFIGURATION_FILE_PATH --group_id 1234,5678
枚舉群組列表:
python3 -m TEx list_groups --config CONFIGURATION_FILE_PATH
下載消息:
python3 -m TEx download_messages --config CONFIGURATION_FILE_PATH
python3 -m TEx download_messages --config CONFIGURATION_FILE_PATH --ignore_media --group_id 1234,5678
導出文件:
狀態報告:
文本報告:
本項目的開發與發布遵循Apache-2.0開源許可證協議。
TeX:https://github.com/guibacellar/TEx
https://telegramexplorer.readthedocs.io/en/latest/
*請認真填寫需求信息,我們會在24小時內與您取得聯系。