【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐⭐⭐⭐pdf2htmlEX)

news2024/11/20 6:12:38

本文将会被汇总至 【记录】Python3|2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果(汇总),更多其他工具请访问该文章查看。


文章目录

  • pdf2htmlEX 使用体验与评估
    • 1 安装指南
    • 2 测试代码
    • 3 测试结果
      • 3.1 转 HTML 的结果
      • 3.2 转 XML 的结果
    • 4 总体评价:✅⭐⭐⭐⭐
    • 5 补充说明

pdf2htmlEX 使用体验与评估

Github 阅读:https://github.com/shandianchengzi/PDF2HTML_Samples/blob/main/results/pdf2htmlEX.md
CSDN 阅读:【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐⭐⭐⭐pdf2htmlEX)

参考:pdf2htmlEX:将 PDF 转换为 HTML 的高效工具

PDF2HTMLEX 是一款功能强大的 PDF 转 HTML 工具,尽管它并不通过 Python 的包管理工具 pip 进行安装,但其易用性和转换效果仍然备受赞誉。下面,我们将详细介绍如何安装 PDF2HTMLEX,并通过一个测试案例来展示其使用方法和效果。

1 安装指南

PDF2HTMLEX 提供了 Windows 版本的 EXE 文件供用户下载和使用。您可以通过点击以下链接下载最新版本的 PDF2HTMLEX:pdf2htmlEX Windows Version | RubyPdf Technologies。

下载完成后,您可以直接运行 EXE 文件进行使用。安装过程简单明了,按照提示完成即可,如下图所示。

在这里插入图片描述

2 测试代码

为了更好地帮助您理解 PDF2HTMLEX 的用法,我们提供了一个测试代码示例。您可以在以下 GitHub 仓库中找到相关代码和样本文件:https://github.com/shandianchengzi/PDF2HTML_Samples/tree/main/python_samples/test_pdf2htmlEX。

请注意,该测试代码示例使用了相对路径来指定文件路径。这是因为 PDF2HTMLEX 在处理文件路径时存在一个已知的 bug。当使用绝对路径时,它会在输出文件的路径前自动添加 ./,导致绝对路径不可用并报错。

例如如下报错:

`Error: Cannot open ./D:\Github\PDF2HTML_Samples\python_samples\test_pdf2htmlEX\outputs\to_html_table_test.html for writing`

以下是测试代码示例的目录结构:

目录结构

3 测试结果

3.1 转 HTML 的结果

经过测试,PDF2HTMLEX 在将 PDF 转换为 HTML 的过程中表现出色。转换后的 HTML 页面保留了原始 PDF 的格式和布局,使得阅读体验得以延续。然而,需要注意的是,在某些情况下,转换后的大纲可能会出现问题,例如出现重复的章节标题(如下重复出现 10.12)。

以下是转换后的 HTML 页面示例:

转 HTML 结果1
转 HTML 结果2

3.2 转 XML 的结果

需要注意的是,PDF2HTMLEX 目前并不支持将 PDF 直接转换为 XML 格式。因此,在测试过程中,我们无法提供相关的转换结果。

4 总体评价:✅⭐⭐⭐⭐

总体来说,PDF2HTMLEX 是一款非常优秀的 PDF 转 HTML 工具。尽管在处理文件路径时存在一些小问题,但这并不影响其出色的转换效果。

它支持多种转换参数,并且能够在保留原始 PDF 格式的基础上,生成易于阅读和编辑的 HTML 页面。参数详情可以点此跳转。

5 补充说明

在转换过程中,PDF2HTMLEX 转换的时候能够保留格式,不过不会自动设置成 DOM 树节点。用户可以用不同的 className 来获得章节,挺方便的!

此外,PDF2HTMLEX 还具备一些特殊功能,例如根据数字区分的书签功能,使得用户在阅读时能够快速定位到所需的章节。如上11.2会被识别成一个小章。


本文将会被汇总至 【记录】Python3|2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果(汇总),更多其他工具请访问该文章查看。


本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/138356607。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1636626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis.net + Mysql

项目文件结构 NuGet下载Mybatis.net相关包:IBatisNet 安装完成后,会显示在,在已安装页面。同时,在管理器中的引用列表中,会多出来两个引用文件 IBatisNet.CommonIBatisNet.DataMapper 安装 Mysql.data。 注意&#xff…

谷粒商城实战(020 RabbitMQ-消息确认)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第258p-第p261的内容 消息确认 生产者 publishers 消费者 consumers 设置配置类 调用api 控制台 抵达brocker 代理 新版本ReturnCallbac…

【opencv4.8.1 源码编译】windows10 OpenCV 4.8.1源码编译并实现 CUDA 12加速

Windows 下使用 CMake3.29.2 Visual Studio 2022 编译 OpenCV 4.8.1 及其扩展模块cuda12.0teslaT4显卡 记录自己在编译时踩过的坑,避免下次再犯或者给有需要的人。 在实际使用中,如果是对处理时间要求比较高的场景,使用OpenCV处理图片数据很…

虚拟机安装与配置win7

一、安装镜像 Windows7 64位 ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/ 建议迅雷下载 二、VMware 安装win7 1.新创自定义虚拟机 2.默认即可 3.iso文件我们自己下载,选择一个空的磁盘 4.…

Java 使用 Maven 编译时插件提示 拷贝错误

提示的具体信息为: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources (default-resources) on project core-java-8: filtering C:\WorkDir\Repository\iSharkfly-Docs\java-tutorials\core-java-modules\core-jav…

《架构风清扬-Java面试系列第25讲》聊聊ArrayBlockingQueue的特点及使用场景

ArrayBlockingQueue是BlockingQueue接口的一个实现类之一 这个属于基础性问题,老规矩,我们将从使用场景和代码示例来进行讲解 来,思考片刻,给出你的答案 1,使用场景 实现:基于数组实现的有界阻塞队列&…

【Web UI自动化】Python+Selenium 环境配置

安装Python 官网地址:https://www.python.org/,Downloads菜单下选择适合自己的系统版本,我的是Windows。 点击进入以后,可以看到当前最新版本。 点击上面的链接,页面下滑,找到下载链接,根据…

解锁 LLM 新高度,拓宽模型新边界 —— OpenVINO™ 2024.1 赋能生成式 AI 高效运行...

点击蓝字 关注我们,让开发变得更有趣 作者 | 武卓博士 英特尔 OpenVINO™ 布道师 排版 | 李擎 Hello, OpenVINO™ 2024.1 欢迎来到 OpenVINO™ 2024.1! OpenVINO™ 工具套件的每一次升级,都意味着我们在 AI 推理与部署的前沿领域迈出了新的步伐&#x…

【算法刷题 | 动态规划01】5.01(动态规划理论基础、斐波那契数、爬楼梯、使用最小花费爬楼梯)

文章目录 1.动态规划理论基础1.1题目分类大纲1.2什么是动态规划?1.3背包问题1.4解题步骤1.5动态规划应该如何debug? 2.斐波那契数2.1题目2.2解法:动态规划2.2.1动态规划思路(1)确定dp数组以及下标的含义(2&…

SQL如何利用Bitmap思想优化array_contains()函数

目录 0 问题描述 1 位图思想 2 案例实战 3 小结 0 问题描述 在工作中,我们往往使用array_contains()函数来进行存在性问题分析,如判断某个数是否在某个数组中,但是当表数据量过多,存在大量array_contains()函数时,…

PHP定时任务框架taskPHP3.0学习记录7宝塔面板手动可以执行自动无法执行问题排查及解决方案(sh脚本、删除超过特定天数的日志文件、kill -9)

PHP定时任务框架taskPHP3.0学习记录 PHP定时任务框架taskPHP3.0学习记录1(TaskPHP、执行任务类的实操代码实例)PHP定时任务框架taskPHP3.0学习记录2(环境要求、配置Redis、crontab执行时间语法、命令操作以及Screen全屏窗口管理器&#xff0…

无缝对接配电自动化:IEC104转OPC UA网关解决方案

随着水电厂自动化发展的要求,具有一定规模的梯级水电站越来越多,为了实现水电站的无人值班(少人值守),并考虑到节能控制,电厂采用了集中监控。集中监控关注的是整个电网的安全稳定运行及电压、频率和整个电网的电力需求&#xff0…

中科院突破:TalkingGaussian技术实现3D人脸动态无失真,高效同步嘴唇运动!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言:探索高质量3D对话头像的新方法 在数字媒体和虚拟互动领域,高质量的3D对话头像技术正变得日益重要。这种技术能够在虚拟现实、电影…

好看流光风格个人主页源码下载

这是一款美观流光作风个人主页HTML源码,觉得挺喜欢的,需求的自行下载! 源码下载:https://download.csdn.net/download/m0_66047725/89105857 更多资源下载:关注我。

JAVA前端快速入门基础_javascript入门(02)

写在前面:本文用于快速学会简易的JS,仅做扫盲和参考作用 1.JavaScript函数 什么是函数:执行特定任务的代码块 1.1定义: 使用function来进行定义(类似于python里面的def 或者java和c里面的void,int这些返回类型开头)。定义规则如下: func…

开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 哪吒探针是一个开源、轻量、易用的服务器监控、运维工具,它有以下几个特点: 一键安装:可以一键安装面板与 Agent,并且支持 Linux、Windows、MacOS、OpenWRT…

【HMGD】使用CubeMx配置GD32F303系列单片机进行DMA ADC

原理图查看 查原理图可以看到GD32F103C8T6的官方开发板GD32303C-START-V1.0的PA1没有接任何东西 使用PA1作为ADC端口 CubeMX配置ADC和时钟 配置ADC通道 启用循环模式 配置此通道ADC分频 配置ADC DMA为循环模式 配置时钟 可根据手册配置最大HZ GD32F303最高频率设定 生成…

使用SDRPI运行openwifi和设置网口

目录 一 制作启动盘 二 使用串口的方式启动openwifi 三 无线连接 四 网口设置,有线连接 五 使用SSH登录 一 制作启动盘 在github上下载img文件,由于github上下载速度比较慢,我会上传网盘链接 githun下载img文件地址: https://git…

【Schrödinger薛定谔软件使用实战】- 4lyw蛋白实战

文章目录 软件选择1 pretein preparation1.1 import and process注意1.1.1 preprocess可能遇到的问题 1.2 review and modify1.3 refine1.3.1 optimize优化氢键网络1.3.2 minimize 氢原子会进行能量最小化 2 ligand prepare3 生成对接盒子-receptor grid generation3.1 recepto…

假设检验随想

⭐️ 前言 你会吵架吗?你会用数学吵架吗,不会的话就过来看看吧,哈哈 西方人发明了现代意义上的概率论,于是就想把它推广到生产和生活中。借助一大堆的概率论中的概念,他们发明了假设检验,想利用有限的数据…