`

把不同文件转化成字符串

    博客分类:
  • java
 
阅读更多

功能:把word,excel,text,ptf等文件转化成字符串

package lucene.service;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.extractor.WordExtractor;

public class File2StringUtils {

	public static String wordTranslation(File file) throws IOException {
		InputStream in = new FileInputStream(file);
		WordExtractor wordExtractor = new WordExtractor(in);
		return wordExtractor.getText();
	}
	
	public static String powerPointTranslation(File file) throws IOException {
		InputStream in = new FileInputStream(file);
		StringBuffer sb = new StringBuffer("");
		SlideShow ss = new SlideShow(new HSLFSlideShow(in));
		Slide[] slides = ss.getSlides();
		for (int i = 0; i < slides.length; i++) {
			TextRun[] t = slides[i].getTextRuns();
			for (int j = 0; j < t.length; j++) {
				sb.append(t[j].getText());
			}
			sb.append(slides[i].getTitle());
		}
		return sb.toString();
	}
	
	public static String excelTranlation(File file)  {
		StringBuffer sb = new StringBuffer("");
		try {
			InputStream in = new FileInputStream(file);
			HSSFWorkbook workbook = new HSSFWorkbook(in);
			int numberOfSheet = workbook.getNumberOfSheets();
			for(int i = 0 ; i < numberOfSheet ; i ++) {
				HSSFSheet sheet = workbook.getSheetAt(i);
				int rows = sheet.getLastRowNum();
				for(int j = 0 ; j < rows; j ++) {
					HSSFRow row = sheet.getRow(j);
					int cells = row.getLastCellNum();
					for(int k = 0 ; k < cells ; k ++) {
						HSSFCell cell = row.getCell(k);
						String str = cell.getStringCellValue();
						sb.append(str + " ");
					}
				}
			}
		}  catch (Exception e) {
			return sb.toString();
		}
			
		return sb.toString();
	}
	
	public static String pdfTranslation(File file) throws IOException {
		InputStream in = new FileInputStream(file);
		PDFParser parser = new PDFParser(in);
		parser.parse();
		PDDocument doc = parser.getPDDocument();
		PDFTextStripper stripper = new PDFTextStripper();	
		return stripper.getText(doc);
	} 
	
	
	public static void main(String[] args) throws IOException {
		
//		File file= new File("D:\\test\\doc.doc");
//		System.out.println(wordTranslation(file));
		
		
//		File file= new File("D:\\test\\ppt.ppt");
//		System.out.println(powerPointTranslation(file));
		
//		File file= new File("D:\\test\\xls.xls");
//		System.out.println(excelTranlation(file));
		
		File file= new File("D:\\test\\pdf.pdf");
		System.out.println(pdfTranslation(file));
	}
}
分享到:
评论

相关推荐

    CSharp将任何文件转成字符串保存到数据库及文件加密

    本主题聚焦于如何使用C#语言将任意文件转换为字符串,并将其保存到数据库中,以及如何对这些文件进行加密,确保数据的安全性。这里我们将深入探讨相关知识点。 首先,让我们了解如何将文件转换为字符串。在C#中,这...

    字符数组转换成字符串

    字符数组转换成字符串是常见的操作,尤其在C语言及其衍生的编程语言中。这个过程涉及到字符数组的处理、字符串的定义以及数据类型间的转换。下面我们将详细探讨这一主题。 首先,我们要了解字符数组和字符串的基本...

    C语言浮点数转字符串_C语言浮点数字符串_浮点数转换_

    在C语言中,将浮点数转换为字符串是一项常见的任务,尤其在需要将数值数据输出到文件或屏幕上时。这个过程通常涉及到`printf`函数家族的使用,它们能够按照指定的格式将各种类型的数据转化为可读的字符串。本文将...

    labview字符串数组转字符串

    "labview字符串数组转字符串"这个主题是关于如何将一个包含多个字符串的数组转换为单个连续的字符串。在这个过程中,我们需要理解LabVIEW的数据结构、字符串操作函数以及如何利用它们来实现这种转换。 首先,...

    (c#)字符串转换成字符数组 字符串转换成int 数组

    在本篇文章中,我们将深入探讨如何在C#中将字符串转换为字符数组及整数数组。这是一项在处理文本数据时非常有用的技术,特别是在需要对...通过上述方法,我们可以有效地处理和转换字符串数据,在C#程序中实现各种功能。

    TIA博途-字符转换为字符串以及截取字符串有效字符的具体方法示例.docx

    在处理通信数据时,我们经常需要对字符和字符串进行操作,例如将字符转换为字符串,或者从字符串中截取有效字符。以下将详细介绍在TIA博途中如何实现这些操作。 首先,字符转换为字符串的过程通常涉及到ASCII码。...

    字符串转化为XML文件

    字符串转化为XML文件 本文将详细介绍字符串转化为XML文件的知识点,包括XML文件的基本结构、StringBuilder类的使用、XML文档对象模型(DOM)、XML文件的保存等。 XML文件的基本结构 XML(Extensible Markup ...

    XML文档转换成字符串

    将XML文档转换成字符串通常是指将XML文档的结构和内容转化为一个单一的文本字符串。 在Java中,我们可以利用DOM(Document Object Model)解析器和Transformer类来实现这个转换。DOM解析器将XML文档加载到内存中,...

    step7-300 16进制转换成字符串

    标题“step7-300 16进制转换成字符串”涉及到的是在西门子STEP7编程环境中处理数据的一种常见操作,即将16进制数值转换为字符串格式。这在工业自动化领域,特别是PLC(可编程逻辑控制器)编程中是至关重要的,因为...

    将word文档转化成字符串或者txt文档、将txt文档转化成字符串

    总之,转换Word文档为字符串或TXT文档,以及将TXT文档转换为字符串,是通过编程语言对文件进行读取和处理的过程。Apache POI库是处理Word文档的强大工具,而简单的文件读写操作可以轻松地完成TXT文件的转换。在进行...

    sql-varbinary转换成字符串

    ### SQL Varbinary 转换成字符串 在数据库管理和数据处理领域,经常需要对不同数据类型进行转换以满足特定的应用需求。其中,从`varbinary`类型转换为字符串类型的场景非常常见,尤其是在处理图像、文件或其他二...

    pdf文件转换成string字符串

    将pdf文件转换成字符串,需要pdf签名的可以用到

    易语言十六进制与字符串转换

    2. **十六进制转字符串**:相反的过程需要先使用“十六进制到整数”函数将十六进制字符串转换为十进制,再用“整数到字符串”函数将十进制数值转化为字符串。需要注意的是,这里的“整数到字符串”可能会产生一个以...

    利用opencv把视频转换成字符串视频

    在`转字符串.py`脚本中,首先会打开一个视频文件,使用OpenCV的cv2.VideoCapture函数。然后,它会逐帧读取视频,并对每一帧进行处理。处理过程可能包括灰度化、缩放和噪声消除等步骤,以便更好地适应字符映射。接...

    VB.NET 字符串与二进制间的转换

    在VB.NET编程中,处理数据时经常会遇到将字符串与二进制数据进行转换的情况。这是因为字符串是人类可读的数据表示形式,而二进制数据则更适用于存储和传输。了解如何在两者之间进行转换是至关重要的,特别是当你需要...

    c#中 base64字符串与普通字符串互转

    在C#中,我们可以轻松地实现Base64字符串与普通字符串之间的转换。下面将详细解释这个过程。 一、Base64编码 1. 将普通字符串转换为Base64字符串 在C#中,我们可以使用`System.Convert`类的`ToBase64String`方法将...

    从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束.

    字符串转换与文件操作 本资源涉及到三个主要知识点:字符串操作、文件操作和错误处理。 字符串操作 在本程序中,我们需要将输入的字符串中的小写字母转换成大写字母。这个过程可以通过遍历字符串,每遇到一个小写...

    ASCII转换至十六进制字符串与二进制字符串显示_labview_字符串转换_

    在提供的压缩包文件中,"十六进制字符串转换.vi"和"16进制字符串转换为二进制.vi"这两个虚拟仪器(VI)应该包含了实现上述转换的完整流程。你可以打开这些VI,查看和学习其内部结构,理解每个函数的作用以及它们如何...

    vb6.0 字节数组和字符串的相互转换.rar

    例如,读取二进制文件到字节数组,然后转换成字符串;或者将字符串转换成字节数组,写入二进制文件。 示例: ```vb ' 读取二进制文件到字节数组 Open "binaryfile.bin" For Binary As #1 Dim fileByteArray() As ...

    把xml文件转成一行字符串

    把xml文件转成一行字符串

Global site tag (gtag.js) - Google Analytics