xpdf将pdf转成html

1、下载xpdf最新版本,地址:http://www.foolabs.com/xpdf/download.html

我下载的是xpdf-3.02pl2-win32.zip

2、下载中文支持包

我下载的是xpdf-chinese-simplified.tar.gz

3、下载pdftohtml支持包

地址:http://sourceforge.net/projects/pdftohtml/

我下载的是:pdftohtml-0.39-win32.tar.gz

4、解压调试

1) 先将xpdf-3.02pl2-win32.zip解压,解压后的内容可根据需要进行删减,如果只需要转换为txt格式,其他的exe文件可以删除,只保留pdftotext.exe,以此类推;

2) 然后将xpdf-chinese-simplified.tar.gz解压到刚才xpdf-3.02pl2-win32.zip的解压目录;

3) 将pdftohtml-0.39-win32.tar.gz解压,pdftohtml.exe解压到xpdf-3.02pl2-win32.zip的解压目录;

4) 目录结构:

+---[X:\xpdf]

           |-------各种转换用到的exe文件

           |

           |-------xpdfrc

           |

           +------[X:\xpdf\xpdf-chinese-simplified]

                                      |

                                      |

                                      +-------很多转换时需要用到的字符文件

xpdfrc:此文件是用来声明转换字符集对应路径的文件

5) 修改xpdfrc文件(文件原名为sample-xpdfrc)

修改文件内容为:

#----- begin Chinese Simplified support package
cidToUnicode    Adobe-GB1       xpdf-chinese-simplified\Adobe-GB1.cidToUnicode
unicodeMap      ISO-2022-CN     xpdf-chinese-simplified\ISO-2022-CN.unicodeMap
unicodeMap      EUC-CN          xpdf-chinese-simplified\EUC-CN.unicodeMap
unicodeMap GBK    xpdf-chinese-simplified\GBK.unicodeMap
cMapDir         Adobe-GB1       xpdf-chinese-simplified\CMap
toUnicodeDir                    xpdf-chinese-simplified\CMap
fontDir C:\WINDOWS\Fonts
displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf
#----- end Chinese Simplified support package

6) 创建bat文件pdftohtml.bat(放置的路径不能包含空格)内容为:

@echo off
set folderPath=%1
set filePath=%2
cd /d %folderPath%
pdftohtml -enc GBK %filePath%
exit

7) 创建类

package com.xpdf;

import java.io.File;
import java.io.IOException;

public class PdfToHtml_xpdf {
	private static String INPUT_PATH;
	private static String PROJECT_PATH;

	public static void convertToHtml(String file, String project) {
		INPUT_PATH = file;
		PROJECT_PATH = project;
		if (checkContentType() == 0) {
			toHtml();
		}
	}

	private static int checkContentType() {
		String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1,
				INPUT_PATH.length()).toLowerCase();
		System.out.println("type:" + type);
		if (type.equals("pdf")){
			return 0;}
		else {
			return 9;
		}
	}

	private static void toHtml() {
		if (new File(INPUT_PATH).isFile()) {
			try {
				String cmd ="cmd /k start D:\\testOffice\\xpdf\\pdftohtml.bat \""
						+ INPUT_PATH + "\" \"" + PROJECT_PATH + "\"";
				System.out.println("cmd:" + cmd);
				Runtime.getRuntime().exec(cmd);
				System.out.println("OK");
			} catch (IOException e) {
				e.printStackTrace();
				System.out.println("error");
			}
		}
	}

}

 

 

String cmd = "....";此处代码是调用创建的bat文件进行转换

8) 测试转换

package com.xpdf;

public class RunXpdf {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		PdfToHtml_xpdf.convertToHtml("D:\\testOffice\\xpdf\\超经典的设计模式讲解.pdf", "D:\\testOffice\\xpdf\\xpdf3");
	}

}

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值