xpdf使用

通过XPDF读取PDF内容并转化为txt格式

地址:http://www.xpdfreader.com/pdftotext-man.html

下载这三个压缩包

直接运行.run文件,记得加x权限

解压语言包到当前目录

我的为/usr/xpdf/下,等会配置文件需要这个路径

语言包解压后解压命令行工具包,进入该文件夹结构大致如下

还是根据你的系统选择bin64或者32

我这里只需要pdf内容转txt格式的,所以将pdftotext放到xpdf文件夹下即可

然后进入该文夹里的doc,将sample-xpdfrc放到xpdf文件夹下并改名xpdfrc

至此xpdf文件夹内目录结构如下

编辑xpdfrc添加如下内容:

textEncoding        UTF-8
textPageBreaks no

 

#launchCommand  viewer-script
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode    Adobe-GB1    /usr/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap    ISO-2022-CN    /usr/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap    EUC-CN        /usr/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap    GBK        /usr/xpdf/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir        Adobe-GB1    /usr/xpdf/xpdf-chinese-simplified/CMap
toUnicodeDir            /usr/xpdf/xpdf-chinese-simplified/CMap
#fontFileCC    Adobe-GB1    /usr/..../NotoSansCJKsc-Regular.otf
#----- end Chinese Simplified support package

执行./pdftotext xxx.pdf  xxx.txt    如果不加xxx.txt将使用原文件名

记得给文件相应的权限如执行权等

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用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(); } ``` 请根据你的实际情况进行修改和调整,确保路径、分隔符和数据处理逻辑与你的输出文件匹配。这只是一个简单的示例,你可以根据需要进行更复杂的数据处理和表格显示操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值