`
sealbird
  • 浏览: 586767 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jodconverter纯文本文件转为pdf时中文问题解决方案

    博客分类:
  • JAVA
阅读更多
文章分类:Java编程 
jodconverter转换ms文件都没有出现中文问题,但是在转换最简单的纯文本文件时却出现中文问题。我开始时找了cpdetecter来探测纯文本文件的编码格式,但是对一些文件的编码格式还是探测不对,所以想通过它探测到文本文件的编码格式,再将它转为UTF-8的方式来实现文本的统一编码方式(演示代码见下面)是行不通的:

 

Java代码 
1.import java.io.FileInputStream;   
2.import java.io.FileOutputStream;   
3.import java.io.InputStreamReader;   
4.import java.io.OutputStreamWriter;   
5.  
6.  
7.public class changeCharacterFormat {   
8.  
9.    public static void main(String[] args) throws Exception{   
10.           
11.        InputStreamReader in = new InputStreamReader(   
12.                new FileInputStream("D:\\test\\File\\新建 文本文档 (2).txt"),"GB2312");//按原文件的编码方式进行读取文件信息   
13.        OutputStreamWriter out = new OutputStreamWriter(   
14.                new FileOutputStream("D:\\test\\File\\新建 文本文档 (2)8.txt"),"utf-8");//转换为自己想要的编码格   
15.        char[] cbuf = new char[1024];   
16.        int n;   
17.        while((n=in.read(cbuf))!=-1){   
18.            out.write(cbuf, 0, n);   
19.        }   
20.        in.close();   
21.        out.close();   
22.    }   
23.       
24.}  
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;


public class changeCharacterFormat {

	public static void main(String[] args) throws Exception{
		
		InputStreamReader in = new InputStreamReader(
				new FileInputStream("D:\\test\\File\\新建 文本文档 (2).txt"),"GB2312");//按原文件的编码方式进行读取文件信息
		OutputStreamWriter out = new OutputStreamWriter(
				new FileOutputStream("D:\\test\\File\\新建 文本文档 (2)8.txt"),"utf-8");//转换为自己想要的编码格
		char[] cbuf = new char[1024];
		int n;
		while((n=in.read(cbuf))!=-1){
			out.write(cbuf, 0, n);
		}
		in.close();
		out.close();
	}
	
}
 

 

如是就试着将纯文本文件(如*.java,*.c,*.log,*.xml,*.mxml,*.jsp,*asp,*.js等等)的后缀改为.txt再打由openoffice打印成pdf,它是可以打印,但是对于有中文的文件,它就会出现乱码。后来我将它们改为*.odt的后缀后就可以正确地打印成pdf,显示出正常的中文。这里其实是这样的,我将它们改为.odt后缀后,那么再用jodconverter来打印时,它就会调用openoffice来打印,那么就相当于它用openoffice打开它的odt格式的文件,再点击打印成pdf;因为它对*.odt文件支持中文,所以它打开它时,中文是正确的,其实它在读这个非odt的纯文本文件时,它就能识别出它的编码格式,所以就不用我们再去找那个原文件的编码格式,再进行转换,我们可以直接打印。所以关键还是理解jodconverter的打印原理,它不过是对openoffice的打印接口的调用,所以我们若将如*.jsp等文本改后缀名为*.txt,因为*.txt不是由openoffice直接产生的文本格式,所以对它的支持力度就没有将这些文件改后缀名为*.odt的好,因此将其它非odt的纯文本文件改名为odt文本文件时,它打印出pdf时能正确显示中文,而改名为txt后缀时,出现乱码的主要原因。
分享到:
评论

相关推荐

    jodconverter-2.2.2_转pdf.rar

    例如,你可以创建一个Java程序,指定输入的Word或Excel文件路径,然后设置输出的PDF文件路径,最后调用JodConverter的相关方法即可完成转换。这样的设计使得JodConverter在批量处理大量文档时表现出色,极大地提高了...

    利用jodconverter--doc2pdf

    检查日志输出,调整Office进程参数,以及确保输入文件的正确性,有助于解决问题。 总之,JodConverter是一个强大的文档转换工具,适用于各种场景,无论是个人使用还是企业级应用。通过理解其工作原理和使用方式,你...

    jodconverter做Office文档预览时,中文字符集以及字体的资源文件

    jodconverter做Office文档预览时,中文字符集以及字体的资源文件; 在做预览时,有客户反馈说部分文档无法预览;网上搜索发现是中文的字符集的问题;在原来的转换命令上增加配置【-s languagedir=D:\\xpdf】; 这个...

    利用jodconverter-core-3.0-beta-4实现office转pdf,同时解决excel断裂的问题

    这是因为PDF文件具有更好的跨平台兼容性和可打印性。本篇将详细讲解如何利用`jodconverter-core-3.0-beta-4`这个开源库来实现Office到PDF的转换,并着重解决Excel文件在转换过程中可能出现的断裂问题。 `...

    文件预览时用到的jodconverter.jar

    总的来说,jodconverter.jar是文件预览解决方案中不可或缺的一环,它简化了文档转换的过程,使得用户能够在多种环境下轻松查看各类Office文档。通过深入了解和正确使用jodconverter.jar,我们可以提升应用程序的功能...

    jodconverter 3.0-beta4 & 2.2.2 文件转PDF

    总结来说,JodConverter是一个强大的Java工具,利用OpenOffice或LibreOffice的转换能力,为开发者提供了一种方便、高效的文档转换解决方案。无论是2.2.2稳定版本还是3.0-beta4测试版本,都值得在需要文档转换功能的...

    openoffice转pdf所需jodconverter-2.2.2

    本文将详细介绍OpenOffice与JODConverter的关系,以及如何利用JODConverter 2.2.2版本解决特定的文件转换问题。 OpenOffice是一款开源的办公套件,包含了文字处理、电子表格、演示文稿等多个组件,支持多种文件格式...

    利用jodconverter-core-3.0实现office转pdf

    这段代码会将名为`input.docx`的Word文档转换为名为`output.pdf`的PDF文件。你可以根据需要修改输入和输出文件的路径。 需要注意的是,`jodconverter`使用的是本地的Office实例进行转换,因此这种方法可能会受到...

    JODConverter连接OpenOffice服务问题

    遇到问题时,可以尝试以下解决方案: 1. 检查防火墙设置,确保允许JODConverter与OpenOffice服务之间的通信。 2. 如果出现“无法连接”错误,可能是因为OpenOffice服务未启动,或者端口被其他进程占用。重启服务或...

    jodconverter-cli,jodconverter 2.2.2版本

    JodConverter 2.2.2版本是一个高效且易于使用的文档转换解决方案,尤其适合需要大量自动化转换的场景。它的命令行接口让集成变得简单,而核心库则提供了强大的转换能力。无论你是个人用户还是企业开发者,...

    用jodconverter将pdf格式传成swf格式用swftools显示

    在这个场景下,我们关注的是如何使用JodConverter将PDF文件转换为SWF(ShockWave Flash)格式,然后利用SwfTools来展示这个文件,同时保持打印、复制和下载的功能。下面将详细解释这两个工具以及整个转换过程。 ...

    jodconverter

    6. **社区支持**:作为开源项目,`jodconverter` 有一个活跃的开发社区,提供了持续的更新和支持,用户可以在遇到问题时寻求帮助。 7. **跨平台**:由于基于Java,`jodconverter` 可以在任何支持Java运行环境的操作...

    jodconverter-2.2.1.rar

    这个压缩包包含了`jodconverter-2.2.1.jar`和`jodconverter-2.2.1-sources.jar`两个文件,它们是`JodConverter`库的核心组件,用于解决OpenOffice在转换2007及以上版本的Office文档到PDF时遇到的问题,以及处理可能...

    多种office文件转换为pdf文件的java解决方案.zip

    这个"多种office文件转换为pdf文件的java解决方案.zip"压缩包显然包含了一个名为DocumentConvertor.java的源代码文件,可能是实现这个功能的核心类。下面将详细介绍相关的Java技术及其可能的实现方式。 1. **Apache...

    jodconverter-2.2.2.zip 利用openoffice word转pdf所需jar

    jodconverter-2.2.2.zip 利用openoffice word转pdf所需jar 使用说明:https://blog.csdn.net/weixin_40845192/article/details/104660387

    jodconverter2.2.2.zip下载

    在本案例中,我们关注的是JODConverter的2.2.2版本,这是一个历史版本,但仍对一些用户具有价值,特别是在处理特定问题时,比如docx到pdf的转换。 JODConverter的核心原理是利用OpenOffice或LibreOffice的API,这两...

    jodconverter-2.2.2.rar

    5. 转换完成后,检查输出的PDF文件,确认中文字符的显示是否正确,格式是否保留。 通过以上步骤,用户可以在Linux环境下利用JodConverter 2.2.2顺利进行Word到PDF的转换,确保文档的质量和兼容性。这个工具的灵活性...

    jodconverter 2.2.2的jar包

    这为开发者提供了一种高效、可靠的文档转换解决方案,尤其适合需要批量处理文档的场景。 在jodconverter 2.2.2版本中,用户可以通过简单的API调用来执行转换操作。例如,以下是一段Java代码示例,展示如何使用...

    jodconverter2-master_jodconverter官网_jodconverter2-master_

    **正文** JODConverter是一款基于Java的开源文档转换工具,主要功能是将各种文档格式转换为OpenDocument...了解并掌握JODConverter的使用,对于需要处理大量文档转换需求的项目来说,无疑是一种非常实用的解决方案。

    jodconverter-2.2.2.zip完整资源包

    在某些情况下,找到并安装特定版本的JodConverter jar文件可能成为解决这些问题的关键。 在Maven项目中,通常会通过在pom.xml文件中添加依赖来引入JodConverter。但有时,由于网络问题或者Maven仓库的更新延迟,...

Global site tag (gtag.js) - Google Analytics