PDF文件如何轉成markdown格式

百度上根據pdf轉makrdown為關鍵字進行搜索,結果大多數是反過來的轉換,即markdown文本轉PDF格式。

但是PDF轉markdown的解決方案很少。

正好我工作上有這個需求,所以自己實現了一個解決方案。

下圖是一個用PDF XChange Editor打開的PDF文件,我想將其內容通過markdown格式導出。

(1) 首先將該PDF導出成word格式,后綴.docx

(2) 使用typora獲得該word文檔的markdown源代碼:

此時任務只完成了一半,因為typora這個工具轉換成的markdown格式,如果原始的word文檔里包含圖片,這些圖片以本地圖片的形式存在于markdown里,那我如果直接將包含了這些本地圖片的標簽的markdown發布到簡書,CSDN,開源中國,騰訊云,阿里云這些支持markdown的社區時,這些本地圖片將無法顯示。

因此我們必須找到一個高效的方法,將word里包含的本地圖片先上傳到網絡上,再用生成的包含了圖片網絡url的markdown標簽替換本地圖片標簽。
(3) 把word文件的后綴從.docx改成.zip, 解壓后,在文件夾word的子文件夾media里能找到所有的本地文件。

把這些本地文件全部上傳到網站,生成下面這些url:

我寫了一個工具,可以把僅包含了本地圖片標簽的markdown源代碼和包含了上述在線圖片url標簽的源代碼做一個合并,后并后,本地圖片標簽會被在線圖片標簽取代:

這個工具可以從我github上獲得:
https://github.com/i042416/KnowlegeRepository/blob/master/practice/255_markdown_tool.html

下圖就是我的原始PDF轉換成markdown格式后發布在某社區上的效果,和原始PDF外觀完全一致:

本文來自云棲社區合作伙伴“汪子熙”,了解相關信息可以關注微信公眾號"汪子熙"。

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

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

相關文章

kangle支不支持PHP_【轉載】PHP調用kangle的API

摘要:根據管理的API公布寫了一個類封裝了一個操作集合,這是一個kangleAPI的一個封...根據管理的API公布寫了一個類封裝了一個操作集合,這是一個kangleAPI的一個封裝吧,是在其他地方看到的,接口包含獲取easypanel的信息…

ES6 學習筆記(一)let,const和解構賦值

let和const let和const是es6新增的兩個變量聲明關鍵字,與var的不同點在于: (1)let和const都是塊級作用域,在{}內有效,這點在for循環中非常有用,只在循環體內有效。var為函數作用域。 &#xff0…

mysql數據庫容量和性能_新品速遞丨容量盤性能提升超 300%,數據庫支持 MySQL 8.0...

2關系型數據庫 MySQL Plus支持 MySQL 8.0 內核及 XtraBackup 物理在線遷移方式關系型數據庫服務 MySQL Plus 發布新版本 1.0.6 , 新增多項功能,提升了集群自動化運維能力。主要升級有:- 支持 MySQL 8.0 內核:根據官方測試&#xf…

10. Python面向對象

Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。如果接觸過java語言同學應該都知道,Java面向對象三大特征是:封裝、繼承、多態。Python面向對象也有一些特征,接下來我…

mysql聚簇索引 和主鍵的區別_[MySQL] innoDB引擎的主鍵與聚簇索引

MysqL的innodb引擎本身存儲的形式就必須是聚簇索引的形式,在磁盤上樹狀存儲的,但是不一定是根據主鍵聚簇的,有三種情形:1. 有主鍵的情況下,主鍵就是聚簇索引2. 沒有主鍵的情況下,第一個非空null的唯一索引就是聚簇索引3. 如果上面都沒有,那么就是有一個隱藏的row-id作為聚簇索引…

前端頁面:一直報Cannot set property 'height' of undefined

1、出現錯誤的例子,只拷貝了項目中關鍵出現問題的部分 例子中明明寫了styleheight:16px這個屬性,但是為什么還說height未定義呢 通過打印發現:cks.each(function () { autoTextAreaHeight($(this)); });中的$(this)取出來…

mysql表在線轉成分區表_11g普通表在線轉換分區表

本帖最后由 燈和樹 于 2016-5-4 14:58 編輯由于業務系統數據量增大,對其用戶表在線完成分區表轉換過程,記錄如下,11g數據庫支持。創建過渡分區表根據USER_ID創建分區表CREATE TABLE SDP_SMECD.TEST_T_USER_ID(USER_ID NUMBER(13) …

tiger4444/rabbit4444后綴勒索病毒怎么刪除 能否百分百恢復

上海某客戶中了tiger4444的勒索病毒,找到我們后,一天內全部恢復完成。說了很多關于勒索病毒的事情,也提醒過大家,可總是有人疏忽,致使中招后,丟錢丟面子,還丟工作。 那么要怎樣預防呢與處理呢&a…

mysql遠程一會不用卡住_連接遠程MySQL數據庫項目啟動時,不報錯但是卡住不繼續啟動的,...

連接遠程MySQL數據庫項目啟動時,不報錯但是卡住不繼續啟動的,2018-03-12 17:08:52.532DEBUG[localhost-startStop-1]o.s.beans.factory.support.DefaultListableBeanFactory.doGetBean():251 -Returning cached instance of singleton bean ‘org.spring…

GPT-5、開源、更強的ChatGPT!

年終歲尾,正值圣誕節熱鬧氣氛的OpenAI寫下了2024年的發展清單。 OpenAI聯合創始人兼首席執行官Sam Altman在社交平臺公布,AGI(稍晚一些)、GPT-5、更好的語音模型、更高的費率限制; 更好的GPTs;更好的推理…

CentOS_7 安裝MySql5.7

2019獨角獸企業重金招聘Python工程師標準>>> 下載mysql的源 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm 安裝yum庫 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm 安裝MySQL yum install -y mysql-community-…

python查詢mysql decimal報錯_python讀取MySQL數據表時,使用ast模塊轉換decimal格式數據的坑...

概述MySQL中常用的數據格式有tinyint()、int()、float()、double()、decimal() 、varchar、enum()、datetime;小數格式中decimal比較常用,因為更加精確,這里就以decimal為例。從MySQL中讀取了一行數據,內容為:(17479, datetime.da…

性能測試總結(一)---基礎理論篇(轉載)

隨著軟件行業的快速發展,現代的軟件系統越來越復雜,功能越來越多,測試人員除了需要保證基本的功能測試質量,性能也隨越來越受到人們的關注。但是一提到性能測試,很多人就直接連想到Loadrunner。認為LR就等于性能測試&a…

java listen_JavaWeb之Filter、Listener

昨天和大家介紹了一下JSON的用法,其實JSON中主要是用來和數據庫交互數據的。今天給大家講解的是Filter和Listener的用法。一、Listenner監聽器1.1、定義Javaweb中的監聽器是用于監聽web常見對象HttpServletRequest,HttpSession,ServletContext。1.2、監聽器的作用監…

BFC的概念及作用

在了解什么是BFC之前,首先得明白什么是Box , Formatting Context (一個決定如何渲染文檔的容器)的概念 Box: CSS布局的基本單位 Box是 CSS 布局的對象和基本單位, 直觀點來說, 就是一個頁面是由很多個 Box組成的&#…

bitcount java_java-Long.bitCount()如何找到設置的位數?

讓我們以255為例.我們將這些位組合在一起.首先,我們從255開始,為0b1111.1111(二進制為8 1)第一行代碼是:i i - ((i > > > 1) & 0x5555555555555555L);這條線正在梳理每對1.由于我們有8個1,所以我們希望組合成對,并得到2,2,2,2之類的東西.由于它是二進…

Luogu P2463 [SDOI2008]Sandy的卡片

題目鏈接 \(Click\) \(Here\) 真的好麻煩啊。。事實證明,理解是理解,一定要認認真真把板子打牢,不然調鍋的時候真的會很痛苦。。(最好是八分鐘能無腦把\(SA\)碼對的程度\(QAQ\)) 這個題最開始我想的是\(RMQ\)遍歷每一個…

java log輸出到文件路徑_Java - 配置log4j的日志文件路徑 (附-獲取當前類路徑的多種方法)...

1 日志路徑帶來的痛點Java 項目中少不了要和log4j等日志框架打交道, 開發環境和生產環境下日志文件的輸出路徑總是不一致, 設置為絕對路徑的方式缺少了靈活性, 每次變更項目路徑都要修改文件, 目前想到的最佳實現方式是: 根據項目位置自動加載并配置文件路徑.本文借鑒 Tomcat 的…

常用數據結構

字典:即map,映射,通過key>value的方式直接查找與之對應的值,實現一般是hash表或二叉樹跳躍表:本質是鏈表,只不過將數據進行提取分層,將總數據置為底層,提取2、4、的倍數為第一二層…

java jasypt_Jasypt

軟件簡介Jasypt這個Java類包為開發人員提供一種簡單的方式來為項目增加加密功能,包括:密碼Digest認證,文本和對象加密,集成hibernate,SpringSecurity(Acegi)來增強密碼管理。Jasypt開發團隊推出了Java加密工具Jasypt 1…