一站式PDF轉Markdown解決方案PDF3MD

在這里插入圖片描述

簡介

什么是 PDF3MD ?

PDF3MD 是一個現代化、用戶友好的網絡應用程序,旨在將 PDF 文檔轉換為干凈、格式化的 Markdown 文本。它提供了高效的轉換工具,支持多種文件格式之間的轉換。

主要特點

  1. PDF 轉 Markdown:能夠將 PDF 文檔轉換為可讀性強的 Markdown 格式,同時保留文檔的結構元素。
  2. Markdown 轉 Word (DOCX):支持將用戶提供的 Markdown 文本轉換為 DOCX 格式,使用 Pandoc 實現高質量輸出。
  3. 多文件上傳:支持同時上傳和處理多個 PDF 文件,提升工作效率。
  4. 拖拽式界面:提供用戶友好的文件上傳方式,支持拖放或傳統的文件選擇。
  5. 實時進度跟蹤:在轉換過程中提供詳細的狀態更新,用戶可以實時監控轉換進度。
  6. 現代響應式用戶界面:設計直觀,適合各種設備使用。

應用場景

  • 文檔轉換:適用于需要將 PDF 文檔轉換為 Markdown 的用戶,例如技術文檔編輯、博客撰寫等。
  • 內容編輯:方便用戶在 Markdown 格式下進行內容編輯和格式化,然后可以輕松導出為 Word 文檔。
  • 批量處理:適合需要處理大量文檔的場景,例如教育機構、出版社等。

PDF3MD 通過提供簡化的文檔轉換流程,大大提升了用戶的工作效率和體驗。

安裝

在群暉上以 Docker 方式安裝。

本文寫作時, latest 版本對應為 sha-229610b

采用 docker-compose 安裝,將下面的內容保存為 docker-compose.yml 文件

services:backend:image: learnedmachine/pdf3md-backend:latest container_name: pdf3md-backendrestart: unless-stoppedports:- "6201:6201"volumes:- ./data:/app/tempenvironment:- PYTHONUNBUFFERED=1- FLASK_ENV=production- TZ=Asia/Shanghaihealthcheck:test: ["CMD", "curl", "-f", "http://localhost:6201/"]interval: 30stimeout: 10sretries: 3start_period: 40sfrontend:image: learnedmachine/pdf3md-frontend:latest container_name: pdf3md-frontendrestart: unless-stoppedports:- "6202:3000"environment: {}depends_on:- backendhealthcheck:test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"]interval: 30stimeout: 10sretries: 3start_period: 40s

然后執行下面的命令

# 新建文件夾 pdf3md 和 子目錄
mkdir -p /volume1/docker/pdf3md/data# 進入 pdf3md 目錄
cd /volume1/docker/pdf3md# 將 docker-compose.yml 放入當前目錄# 一鍵啟動
docker-compose up -d

運行

在瀏覽器中輸入 http://群暉IP:6202 就能看到主界面

PDF 轉 MD

老蘇將本文在 obsidian 中轉成了 pdf 格式

然后將 pdf 丟進來 PDF3MD

轉換速度很快,雖然不能 100% 復原,但是也大差不差的

不要用那種掃描的 pdf 文件,畢竟還不支持 ocr 功能

MD 轉 Word

markdown 粘貼到文本框,轉換速度相對慢很多

但是效果看起來還是不錯的

參考文檔

murtaza-nasir/pdf3md: A modern, user-friendly web application that converts PDF documents to clean, formatted Markdown text.
地址:https://github.com/murtaza-nasir/pdf3md

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

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

相關文章

RocketMQ學習系列之——MQ入門概念

一、什么是MQMQ(Message Queue,消息隊列)是一種能夠實現跨進程消息傳輸,并且消息緩存符合隊列特性的組件。二、MQ的作用異步:消息發送方無需等待消息接收方收到消息,發送方將消息成功發送到 MQ 之后即可無阻…

血條識別功能實現及原理

從零開始學Python圖像處理 - 血條識別 從實際問題中能快速的學習特定技能,通過完成一個能自動刷怪的工具,達成快速學習python圖像處理和識別。 自動刷怪需要先識別怪物,在游戲中怪物類型很多,同時在移動中形態會一直發生變化&…

網絡地址和主機地址之間進行轉換的類

#pragma once #include "Common.hpp" // 網絡地址和主機地址之間進行轉換的類class InetAddr { public:InetAddr(){}InetAddr(struct sockaddr_in &addr) : _addr(addr){// 網絡轉主機_port ntohs(_addr.sin_port); // 從網絡中拿到的!網絡序列// _i…

《Python 項目 CI/CD 實戰指南:從零構建自動化部署流水線》

??《Python 項目 CI/CD 實戰指南:從零構建自動化部署流水線》 一、引言:為什么 Python 項目需要 CI/CD? 在現代軟件開發中,CI/CD(持續集成 / 持續部署)已成為不可或缺的工程實踐。它不僅提升了開發效率,還顯著降低了部署風險。對于 Python 項目而言,CI/CD 的價值尤…

AJAX 技術

AJAX全稱是 Asynchronous JavaScript and XML ( 異步的JavaScript 和 XML ),使用該技術后,可以實現不刷新整個網頁,與服務器進行異步通信并更新部分網頁。一)為什么需要AJAX?傳統網頁在與服務器通信時,需要刷新整個頁…

Python爬蟲實戰:研究NLTK庫相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡新聞已成為人們獲取信息的主要來源之一。每天產生的海量新聞文本蘊含著豐富的信息和知識,但也給信息獲取和分析帶來了挑戰。如何從大量非結構化的新聞文本中自動提取有價值的信息,識別熱點話題和趨勢,成為當前自然語…

ARM 學習筆記(二)

參考文獻:《ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition》1、MMU 1.1 背景早期的內存是比較小的,一般是幾十k,不過相應的程序也是比較小的,這時程序可以直接加載到內存中運行。后來為了支持多個程序的并行&…

Github 貪吃蛇 主頁設置

自動化腳本頂部元信息觸發條件(on:)作業(jobs:)步驟(steps:)1. 生成 SVG2. 推送到 output 分支Commit & Push在 README 里引用參考:https://github.com/Platane/Platane/tree/master 首先寫…

關于Spring RestTemplate

? 一、概述RestTemplate 是 Spring Framework 提供的一個同步 HTTP 客戶端工具,用于簡化與 RESTful API 的交互。它封裝了底層 HTTP 通信細節,提供了統一的 API 來發送各種 HTTP 請求(GET、POST、PUT、DELETE 等),并自…

異步解決一切問題 |消息隊列 |減少嵌套 |hadoop |rabbitmq |postsql

設計準則“為什么要考慮這個問題”The forward logic is only about 10% of your code, everything else is 90%.主流邏輯 10%保障擴容和穩健的代碼設計90%同步代碼就是綁在一個繩上的螞蚱異步就是實現了解耦這個異步或許有點類似于--一些分布式數據的處理 設計如何實現的呢?…

Spring AI 項目實戰(十八):Spring Boot + AI + Vue3 + OSS + DashScope 實現高效語音識別系統(附完整源碼)

系列文章 序號 文章名稱 1 Spring AI 項目實戰(一):Spring AI 核心模塊入門 2 Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼) 3 Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼) 4

指針數組和數組指針的應用案例

1. 指針數組應用&#xff1a;查找最長字符串用指針數組存儲若干字符串&#xff0c;編寫函數找出其中最長的字符串&#xff08;若有多個&#xff0c;返回第一個&#xff09;。#include <stdio.h> #include <string.h>// 函數原型&#xff1a;找出最長字符串 const c…

MCU進入低功耗模式前的引腳處理原則和方法 --> 以最小化低功耗電流

在MCU進入低功耗模式(如Sleep, Stop, Standby, Deep Sleep等)前,精心處理每一個GPIO引腳的狀態是最大限度降低功耗電流的關鍵一步。懸空或配置不當的引腳是導致“漏電”的常見原因。以下是處理引腳以達到最小低功耗電流的原則和方法: ?? 核心原則 避免浮空輸入: 浮空(…

張 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導;

關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 目錄 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 一、校準方法:讓模型概率更貼近真實正確…

ICT測試原理之--什么是假短

ICT測試原理之–什么是假短 文章目錄ICT測試原理之--什么是假短一、假短的由來防止假短二、無法檢測的短路示例解決無法檢測的短路調試短路文件調試意外斷路調試意外短路三、調試假短報告短路和斷路報告假短報告短路設備/引腳功能性短路測試功能性短路測試的語法一、假短的由來…

三種深度學習模型(LSTM、CNN-LSTM、貝葉斯優化的CNN-LSTM/BO-CNN-LSTM)對北半球光伏數據進行時間序列預測

代碼功能 該代碼實現了一個光伏發電量預測系統&#xff0c;采用三種深度學習模型&#xff08;LSTM、CNN-LSTM、貝葉斯優化的CNN-LSTM&#xff09;對北半球光伏數據進行時間序列預測&#xff0c;并通過多維度評估指標和可視化對比模型性能。 算法步驟 1. 數據預處理 數據導入&am…

Typecho+阿里云CDN完整配置:防止DDoS攻擊與IP暴露

文章目錄 Typecho使用阿里云CDN保護網站真實IP地址的完整指南 背景與問題分析 技術選型與方案設計 詳細實施步驟 第一步:阿里云CDN基礎配置 第二步:DNS解析設置 第三步:源站服務器防護配置 Nginx服務器配置 防火墻配置(以Ubuntu為例) 第四步:Typecho配置調整 高級防護措施…

[硬件]運算放大器對相位噪聲的影響與設計提示

運算放大器對相位噪聲的影響與設計提示 文章目錄運算放大器對相位噪聲的影響與設計提示運放影響位噪聲的主要因素如何最小化運放對相位噪聲的影響總結運算放大器是常用的模擬電路元器件&#xff0c;通常用于放大信號&#xff0c;增強驅動。但是當使用運放放大一個信號時&#x…

github jekyll+chirpy主題搭建博客

github jekyllchirpy主題搭建博客 標簽&#xff1a;后端、blog、jekyll 全文鏈接 本文簡要介紹了如何基于 GitHub Pages、Jekyll 及 Chirpy 主題搭建個人博客的流程和注意事項。 主要內容 GitHub Pages 站點簡介 可免費搭建個人博客&#xff0c;支持自定義域名&#xff0c;適…

Flutter狀態管理篇之ValueNotifier(三)

目錄 前言 一、ValueNotifier 概述 二、ValueNotifier 的實現原理 1.類定義 1.類定義 2.關鍵字段 3.關鍵方法 1.構造函數 2.getter:value 3.setter:value: 4.toString 2.繼承自ChangeNotifier的機制 3.ValueListenable 接口 三、ValueNotifier 的用法 1.基本用法…