「javapdf读取乱码」java 读取文件乱码设置编码格式

博主:adminadmin 2023-01-25 05:39:07 346

今天给各位分享javapdf读取乱码的知识,其中也会对java 读取文件乱码设置编码格式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java读取pdf文件的时候出现异常

当时想把pdf中的文字读取成txt文件,方便我的手机阅读,写了以下代码,解决了这个小问题

所需要的包:PDFBox-0.7.3.zip 解压文件夹下:external下的全部,lib文件下的PDFBox-0.7.3.jar

注意:只能读取文本格式的pdf,如果pdf为图片格式的,本程序不能使用!

程序介绍:本程序将文本格式pdf中的文字读取出来,存入与pdf文件同文件名的TXT文本文档。

支持中文,但是在某些文字上会出现乱码.

package com.small;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.net.MalformedURLException;

import java.net.URL;

import org.pdfbox.pdmodel.PDDocument;

import org.pdfbox.util.PDFTextStripper;

public class Pdfreader {

public void readFdf(String file) throws Exception {

// 是否排序

boolean sort = false;

// pdf文件名

String pdfFile = file;

// 输入文本文件名称

String textFile = null;

// 编码方式

String encoding = "GB2312";

// 开始提取页数

int startPage = 1;

// 结束提取页数

int endPage = Integer.MAX_VALUE;

// 文件输入流,生成文本文件

Writer output = null;

// 内存中存储的PDF Document

PDDocument document = null;

try {

try {

// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件

URL url = new URL(pdfFile); //注意参数已不是以前版本中的URL.而是File。

document = PDDocument.load(pdfFile);

// 获取PDF的文件名

String fileName = url.getFile();

// 以原来PDF的名称来命名新产生的txt文件

if (fileName.length() 4) {

File outputFile = new File(fileName.substring(0, fileName

.length() - 4)

+ ".txt");

textFile = outputFile.getName();

}

} catch (MalformedURLException e) {

// 如果作为URL装载得到异常则从文件系统装载 //注意参数已不是以前版本中的URL.而是File。

document = PDDocument.load(pdfFile);

if (pdfFile.length() 4) { textFile = pdfFile.substring(0, pdfFile.length() - 4)

+ ".txt";

}

}

// 文件输入流,写入文件倒textFile

output = new OutputStreamWriter(new FileOutputStream(textFile),

encoding);

// PDFTextStripper来提取文本

PDFTextStripper stripper = null;

stripper = new PDFTextStripper();

// 设置是否排序

stripper.setSortByPosition(sort);

// 设置起始页

stripper.setStartPage(startPage);

// 设置结束页

System.out.print(stripper.getText(document));

stripper.setEndPage(endPage);

// 调用PDFTextStripper的writeText提取并输出文本

stripper.writeText(document, output);

} finally {

if (output != null) {

// 关闭输出流

output.close();

}

if (document != null) {

// 关闭PDF Document

document.close();

}

}

} /**

* @param args

*/

public static void main(String[] args) {

Pdfreader pdfReader = new Pdfreader();

try {

// 读取pdf文件

pdfReader.readFdf("d:\\2\\D.pdf");

} catch (Exception e) {

e.printStackTrace();

}

}

}

java导入word execle txt pdf 全是乱码 求大神指教 如何加过滤器类等如何处理~~谢谢

1、word、execel、pdf文件都不是纯文本文件,不能用文本编辑器打开(打开肯定乱码)。

2、如果打开txt文件乱码,请确保txt文件编码,和java程序编码一致。

pdf显示乱码怎么解决

试试下面的方法来处理问题:

方法一、如果你使用的pdf打开程序与系统的某些文件存在兼容性的问题,例如与字库有冲突,那么可能会产生乱码,建议使用Adobe Acrobat 11.0 Professional中文版的下载。

方法二、pdf文件本身编码不规范,建议到文件下载的网站上找找,看网站上的推荐阅读器是哪个,然后使用那个阅读器即可。

方法三、右键pdf文件,选择“打开方式”,选择你的pdf阅读程序。

方法四、pdf文件转换word文件后,可能出现乱码。大家可以先用Adobe reader 或者Adobe acrobat Pro软件打开出现乱码的pdf文件,然后点击菜单栏-文件-属性-字体项, 看到是不是文件内嵌了很多字体,由于word文件是直接读取系统中的字体的,如果内嵌的字体没有,那么转换出来的word文件一般都会出现乱码。

对于这种情况,建议大家使用ABBYY finereader工具看看,先将pdf文件转换成word,转换完毕后打开转换好的word,ABBYY finereader是比较好的转换工具,基本上是不可能出现乱码,大家不妨试试。

javapdf读取乱码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 读取文件乱码设置编码格式、javapdf读取乱码的信息别忘了在本站进行查找喔。