Xpdf使用说明之pdftotext

pdftotext

PDF文本转换器 3.04

使用

在命令行中输入
pdftotext [选项] [文件PDF文件] [文本]

描述
pdftotext将PDF转换为纯文本。
pdftotext读取PDF文件,将PDF文件转换为纯文本文件。如果对文本文件没有很特别的要求,那么pdftotext可以将PDF转换为纯文本文件。得到的文本文件是标准输出。

配置文件
pdftotext一启动便会读取配置文件。首先尝试查找用户的个人配置文件~/.xpdfrc.如果个人配置文件不存在,那么就会去找寻系统配置文件,通常在/usr/local/etc/xpdfrc这个位置(这个位置可能会根据安装时的不同而改变)
配置文件详见Xpdf主页
http://www.foolabs.com/xpdf/

选项
下面许多选项可以在配置文件中配置。下面列出了对应命令行选项的详细介绍。
-f 数字
设置开始转换的页数
-l 数字
设置结束转换的页数
-layout
保持原始布局(尽最大的可能)。默认是格式化了原本的布局(断字,列格式等)同时按顺序给出文本。如果 -fixed选项被使用那么线内的字符间距将由指定的字符间距来确定。
-table
类似于原始布局模式,但优化表格数据,以保持行和列目标的对齐(将额外插入空格)。如果 -fixed选项被使用那么线内的字符间距将由指定的字符间距来确定。
-lineprinter
行打印模式,使用了一个严格的固定字符间距和固定高度的布局。就是说文档内容被分割到不同的格子中。如果网格间距小于实际字符的大小,结果将有额外空格。如果网格间距大于实际字符的大小,结果将丢失空格。格子可以使用-fixed-linespacing选项。如果这两个选项都没有使用,那么pdftotext将尝试给出一个合适的间距。
-raw
文本文件将保持内容流的顺序。这取决与pdf是如何生成的。这个选项可能有用可能没用
-fixed 数字
指定字符间距(字符宽度),在原始布局,表格和行打印模式中使用。这是忽略在所有其他模式。
-linespacing 数字
指定行空间,在原始布局,表格和行打印模式中使用。这是忽略在所有其他模式。
-clip
文本创建布局时会自动换行。这有助于表格中内联模式的文本自动换行。
-enc 编码格式
设置输出时的编码。这编码格式必须用unicode图集的命令行(详见 xpdfrc(5))编码名称是区分大小写的。默认为“latin1”
[配置文件: textEncoding]
-eol unix | dos | mac
设置最后文本输出格式。
[配置文件: textEOL]
-nopgbrk
不要插入页面之间的中断(表单中的字符)。
[配置文件: textPageBreaks]
-opw 密码
指定PDF文件所有者密码。提供这将绕过所有的安全限制。
-upw 密码
指定PDF文件用户密码。
-q
不输出任何错误信息。
[配置文件: errQuiet]
-cfg 配置文件
指定配置文件。
-v
输出版权和版本信息。
-h
输出有用的信息。(-help 和–help是相当的)

BUGS
一些PDF文件内容字体的编码不明晰,所以无法从中读取信息到文本文件。

出错代码
Xpdf出错是代码的含义
0 正常
1 打开PDF出错
2 打开输出文件出错
3 PDF权限相关错误
99 其它错误

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
使用xpdf工具将PDF文本提取到QTableView中,你需要以下步骤: 1. 安装xpdf工具:你可以从xpdf官方网站下载适用于你的操作系统的xpdf工具包。按照官方指南进行安装。 2. 使用xpdf工具将PDF文件转换为文本文件:使用xpdf工具包中的pdftotext命令将PDF文件转换为纯文本文件。在命令行中运行以下命令: ``` pdftotext input.pdf output.txt ``` 这将把input.pdf中的文本提取出来,并保存到output.txt文件中。 3. 在Qt中创建一个QTableView控件:使用Qt框架创建一个QTableView控件,用于显示表格数据。 4. 读取文本文件并将数据加载到QTableView中:使用Qt的文件读取功能读取output.txt文件中的文本数据,并将其加载到QTableView中。你可以根据需要对文本进行分割和处理,然后使用QTableView的数据模型(如QStandardItemModel)将数据添加到表格中。 以下是一个简单的示例代码,演示了如何实现上述步骤: ```cpp // 导入必要的头文件 #include <QApplication> #include <QTableView> #include <QStandardItemModel> #include <QStringList> #include <QFile> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建一个QTableView控件和一个数据模型 QTableView tableView; QStandardItemModel model; tableView.setModel(&model); // 打开并读取文本文件 QFile file("output.txt"); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); QStringList fields = line.split("\t"); // 根据实际的分隔符进行分割 QList<QStandardItem*> items; foreach (const QString &field, fields) { items.append(new QStandardItem(field)); } model.appendRow(items); } file.close(); } // 显示QTableView tableView.show(); return a.exec(); } ``` 请根据你的实际情况进行修改和调整,确保路径、分隔符和数据处理逻辑与你的输出文件匹配。这只是一个简单的示例,你可以根据需要进行更复杂的数据处理和表格显示操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值