PDF转换工具xpdf-tools-4.05

      XPDF是一个开源的PDF查看、提取和转换工具套件,使用C++编写,支持多种操作系统,包括Linux、Unix、OS/2、Windows和Mac OS X‌1。XPDF不仅是一个PDF查看器,还包含多个实用工具,如文本提取器、图像转换器和HTML转换器等‌,内置工具包含pdftohtml、pdftotext、pdftopng、pdftops等,支持命令行调用,可实现自主开发程序的自动化。

      下面以pdftotext为例,介绍一下将PDF转换为TXT的用法:

一、命令的规则

pdftotext version 4.05 [www.xpdfreader.com]
Copyright 1996-2024 Glyph & Cog, LLC
Usage: pdftotext [options] <PDF-file> [<text-file>]
  -f <int>               : first page to convert
  -l <int>               : last page to convert
  -layout                : maintain original physical layout
  -simple                : simple one-column page layout
  -simple2               : simple one-column page layout, version 2
  -table                 : similar to -layout, but optimized for tables
  -lineprinter           : use strict fixed-pitch/height layout
  -raw                   : keep strings in content stream order
  -fixed <number>        : assume fixed-pitch (or tabular) text
  -linespacing <number>  : fixed line spacing for LinePrinter mode
  -clip                  : separate clipped text
  -nodiag                : discard diagonal text
  -enc <string>          : output text encoding name
  -eol <string>          : output end-of-line convention (unix, dos, or mac)
  -nopgbrk               : don't insert a page break at the end of each page
  -bom                   : insert a Unicode BOM at the start of the text file
  -marginl <number>      : left page margin
  -marginr <number>      : right page margin
  -margint <number>      : top page margin
  -marginb <number>      : bottom page margin
  -opw <string>          : owner password (for encrypted files)
  -upw <string>          : user password (for encrypted files)
  -verbose               : print per-page status information
  -q                     : don't print any messages or errors
  -cfg <string>          : configuration file to use in place of .xpdfrc
  -listencodings         : list all available output text encodings
  -v                     : print copyright and version info
  -h                     : print usage information
  -help                  : print usage information
  --help                 : print usage information
  -?                     : print usage information

二、参数解释

-layout 选项可以保持原始PDF的布局信息。
-enc UTF-8 指定输出文件的编码为UTF-8。 
-f <num> : 指定要转换的起始页码。
-l <num> : 指定要转换的结束页码。
-enc <encoding> : 指定输出文件的编码格式,常用的有UTF-8等。

三、应用实例

1. 转换PDF为TXT文档。

pdftotxt.exe <input.pdf> [<output.txt>]

其中 <input.pdf> 是源PDF文件的路径, <output.txt> 是输出的文本文件路径(可选)。

2. 如果PDF包含中文,转换时需指定输出文件的编码格式。

pdftotext -enc UTF-8 input.pdf output.txt

3. 如果需要保持原始PDF的布局,可以加上-layout 选项。

pdftotext -layout -enc UTF-8 input.pdf output.txt

4. 指定转换页码的范围。

pdftotxt.exe -layout -enc UTF-8 -f 1 -l 2 input.pdf output.txt

将 input.pdf 的第1页和第2页转换为output.txt。

四、下载地址

PDF转换工具xpdf-tools-win-4.05

PDF转换工具xpdf-tools-linux-4.05

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

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

相关文章

Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录

注&#xff1a;本文为 “Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录” 相关文章合辑。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 Vivado 开发流程&#xff08;手把手教学实例&#xff09;&#xff08;FPGA&#xff09; 不完美先生 于 2018-04-…

【PINN】DeepXDE学习训练营(13)——operator-antiderivative_aligned.py

一、引言 随着人工智能技术的飞速发展&#xff0c;深度学习在图像识别、自然语言处理等领域的应用屡见不鲜&#xff0c;但在科学计算、工程模拟以及物理建模方面&#xff0c;传统的数值方法仍然占据主导地位。偏微分方程&#xff08;Partial Differential Equations, PDEs&…

NPP库中libnppc模块介绍

1. libnppc 模块简介 libnppc 是 NVIDIA Performance Primitives (NPP) 的 核心基础模块,提供跨模块的通用数据类型、内存管理和基础运算功能,不直接实现图像或信号处理算法,而是为其他模块(如 libnppi、libnpps)提供支持。 主要功能包括: 基础数据类型定义(如 Npp8u、…

#基于PCL的多平面分割系统技术文档

多平面分割系统技术文档 一、数据结构定义 /*** @brief 平面分割结果结构体* @param coefficients 平面方程系数(ax+by+cz+d=0)* @param cloud 属于该平面的点云子集* @param centroid 平面质心坐标(齐次坐标)* @param plane_id 平面编号(主平面为1)*/ struct PlaneSegmentRes…

PyTorch_张量拼接

张量的拼接操作在神经网络搭建过程中是非常常用的方法&#xff0c;例如&#xff1a;残差网络&#xff0c;注意力机制中都使用张量拼接。 torch.cat 函数的使用 可以将两个张量根据指定的维度拼接起来。 import torch import numpy as np def test01():data1 torch.randint(…

【SQL触发器、事务、锁的概念和应用】

【SQL触发器、事务、锁的概念和应用】 1.触发器 (一)触发器概述 1.触发器的定义 触发器(Trigger)是一种特殊的存储过程,它与表紧密相连,可以是表定义的一部分。当预定义的事件(如用户修改指定表或者视图中的数据)发生时,触发器会自动执行。 触发器基于一个表创建,…

设计模式每日硬核训练 Day 17:中介者模式(Mediator Pattern)完整讲解与实战应用

&#x1f504; 回顾 Day 16&#xff1a;责任链模式小结 在 Day 16 中&#xff0c;我们学习了责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;&#xff1a; 将请求沿链传递&#xff0c;节点可选择处理或传递下一节点。实现了请求发送者与多个处理者的解耦…

如何提升个人情商?

引言 提升个人情商&#xff08;EQ&#xff09;是一个持续的自我修炼过程&#xff0c;涉及自我认知、情绪管理、人际沟通等多个方面。以下是一些具体且可实践的方法&#xff0c;帮助你逐步提升情商&#xff1a; 一、提升自我觉察能力 1. 记录情绪日记 每天回顾自己的情绪…

STM32Cube-FreeRTOS任务调度与任务管理-笔记

STM32Cube-FreeRTOS任务调度与任务管理-笔记 一、任务调度机制1.1 调度算法类型 二、抢占式调度实现与分析2.1 时间片轮转机制2.2 调度触发条件2.3 抢占式调度例子 三、合作式调度实现3.1 核心逻辑3.1 合作式调度例子 四、任务管理函数详解4.1 任务创建4.1.1 动态创建任务4.1.2…

对称加密算法(AES、ChaCha20和SM4)Python实现——密码学基础(Python出现No module named “Crypto” 解决方案)

文章目录 一、对称加密算法基础1.1 对称加密算法的基本原理1.2 对称加密的主要工作模式 二、AES加密算法详解2.1 AES基本介绍2.2 AES加密过程2.3 Python中实现AES加密Python出现No module named “Crypto” 解决方案 2.4 AES的安全考量 三、ChaCha20加密算法3.1 ChaCha20基本介…

MATLAB图像加密案例

下面是一个使用 MATLAB 编写的简单图像块置乱加密/解密程序,主要利用了函数来组织代码。 这个程序通过将图像分割成小块,然后根据一个密钥(用于随机数生成器种子)打乱这些块的顺序来实现加密。解密过程则使用相同的密钥恢复原始块顺序。 核心思想: 分块: 将图像划分为 …

阿里云服务器全栈技术指导手册(2025版)

阿里云服务器全栈技术指导手册&#xff08;2025版&#xff09; 一、基础配置与核心架构设计 1. 精准实例选型策略 • 通用计算场景&#xff1a;选择ECS通用型&#xff08;如ecs.g7&#xff09;实例&#xff0c;搭载第三代Intel Xeon处理器&#xff0c;适合Web应用、中小型数…

word批量转pdf工具

word批量转pdf工具 图片 说到了办公&#xff0c;怎能不提PDF转换哦&#xff1f; 这是一款一键就可以批量word转换为PDF的小工具&#xff0c;简直是VB界的一股清流。 图片 操作简单到不行&#xff0c;只要把需要转换的word文件和这个工具放在同一个文件夹里&#xff0c;双击…

C++类_协变返回类型

协变返回类型定义 在 C11 中&#xff0c;协变返回类型是指在基类和派生类的虚函数重写时&#xff0c;派生类中重写的虚函数的返回类型可以是基类中对应虚函数返回类型的派生类型。也就是说&#xff0c;当基类的虚函数返回一个基类指针或引用时&#xff0c;派生类中重写该虚函数…

补充:建立实体类与数据表的映射关系

目录 前言 1 成员变量数据类型和字段类型 保持对应 2 成员变量的变量名&#xff0c;应采用小驼峰命名法 3 数据表中的主键如id 应采用自增方式 4 数据表中的时间类型数据与实体类中的时间类型的变量无法实现自动映射可以使用JsonFormat 注解 4.1 配置全局时间处理器&#x…

HTML/CSS 魔法第二弹:会逃跑的调皮按钮(悬停自动闪避)

引言 在网页设计中&#xff0c;交互性是吸引用户的关键因素之一。普通的按钮在用户悬停时可能只是颜色或样式发生改变&#xff0c;但今天我们要创造一个 “调皮” 的按钮&#xff0c;当用户鼠标悬停在上面时&#xff0c;它会自动闪避&#xff0c;仿佛在和用户玩游戏。本文将详…

**Java面试:技术大比拼**

互联网大厂Java面试&#xff1a;一场严肃与搞笑交织的技术拷问 场景&#xff1a;互联网大厂面试间 面试官&#xff08;严肃&#xff09;&#xff1a;请坐。马小帅&#xff0c;我们今天主要考察一下你在Java技术栈上的掌握程度&#xff0c;以及如何将这些技术应用于实际业务场景…

25考频高的前端面试题

请求失败会弹出一个toast&#xff0c;如何保证批量请求失败&#xff0c;只弹出一个toast 设置全局标志位&#xff0c;定义一个全局变量&#xff08;如isToastShown)来表示是否已经弹出过toast。在请求失败的处理逻辑中&#xff0c;首先检查该标志位。如果尚未弹出toast&#xf…

命令模式(Command Pattern)详解

文章目录 1. 什么是命令模式?2. 为什么需要命令模式?3. 命令模式的核心概念4. 命令模式的结构5. 命令模式的基本实现5.1 简单的灯光控制示例5.2 家电控制示例6. 带有撤销功能的命令模式6.1 修改命令接口6.2 实现可撤销的灯光命令6.3 实现可撤销的风扇命令6.4 修改调用者,支持…

《Vue3学习手记8》

vue3中的一些API shallowRef ( ) 和shallowReactive ( ) shallowRef (浅层响应式) 1.作用:创建一个响应式数据&#xff0c;但只对顶层属性进行响应式处理。 2.用法: const originalref(...) const original2shallowRef(original) 3.特点:只跟踪引用值的变化&#xff0c;不关心…