我正在尝试使用iText库将.txt文件转换为.pdf文件.

我面临的问题如下:

我在txt文件中有一个清晰的格式,类似于:

TEXT *******************

Other text here * SOME_CODE_HERE_ *

Other text *******************

在输出中格式化已经消失,看起来像这样:

TEXT ******************

Other text here * SOME_CODE_HERE_ *

Other text ******************

代码如下所示:

public static boolean convertTextToPDF(File file) throws Exception {

BufferedReader br = null;

try {

Document pdfDoc = new Document(PageSize.A4);

String output_file = file.getName().replace(".txt", ".pdf");

System.out.println("## writing to: " + output_file);

PdfWriter.getInstance(pdfDoc, new FileOutputStream(output_file)).setPdfVersion(PdfWriter.VERSION_1_7);;

pdfDoc.open();

Font myfont = new Font();

myfont.setStyle(Font.NORMAL);

myfont.setSize(11);

pdfDoc.add(new Paragraph("\n"));

if (file.exists()) {

br = new BufferedReader(new FileReader(file));

String strLine;

while ((strLine = br.readLine()) != null) {

Paragraph para = new Paragraph(strLine + "\n", myfont);

para.setAlignment(Element.ALIGN_JUSTIFIED);

pdfDoc.add(para);

}

} else {

System.out.println("no such file exists!");

return false;

}

pdfDoc.close();

}

catch (Exception e) {

e.printStackTrace();

} finally {

if (br != null)

br.close();

}

return true;

}

我还试图用IDENTITY_H创建一个BaseFont,但它不起作用.

我想这是关于编码或类似的东西.

你怎么看?我用完了解决方案……

谢谢

LE:

正如Alan所建议的,以及来自iText页面的教程,我使用此部分以及我现有的代码,它工作正常.

BaseFont courier = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1252, BaseFont.EMBEDDED);

Font myfont = new Font(courier);

解决方法:

您需要使用等宽字体,例如信使.

标签:java,pdf,itext

来源: https://codeday.me/bug/20190929/1832612.html

java pdf 转txt文件_java – 使用iText将TXT文件转换为PDF(保持格式化)相关推荐

  1. java pdf 首行缩进_java使用iText生成pdf文档的对齐方式

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  2. java追加txt文件_java怎么追加写入txt文件

    java中,对文件进行追加内容操作的三种方法! import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io ...

  3. java 导入导出txt文件_Java读取和写入txt文件

    1 问题描述 对于java的读取和写入txt一直心存疑惑,随着知识的积累,又重新进行学习,对java的文件读写理解更加深刻,在这里将自己的小小经验总结分享给大家.下面是大家了解java流的一个基本框架 ...

  4. java转换docx为doc文件_java使用poi转换doc/docx为pdf

    为了方便前端预览word文件,上传后进行pdf转换(也可以预览时生成临时文件)*注word中插入的表格的话表格内字体都要为宋体不然转出来为空 引用jar包 org.apache.poi poi-oox ...

  5. java 读取1m文件_java的FileInputStream类读取文件

    package net.csdn.InputStream; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  6. java pdf无法加载_java - 试图使用iText7合并来合并pdf,但是当我打开最终的合并pdf时,它说无法加载pdf文档 - SO中文参考 - www.soinside.com...

    试图使用iText7合并来合并pdf,但是当我打开最终的合并pdf时,它说无法加载pdf文档 问题描述 投票:0回答:1 我正在使用itext7 PdfWriter创建两个ByteArrayOutpu ...

  7. java中写入文件_java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  8. java文件流写入文件_JAVA IO流编程 实现文件的写入、写出以及拷贝

    一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...

  9. java在linux创建文件_Java中创建并写文件的5种方式

    导读 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下 ...

最新文章

  1. nginx 反向代理和负载均衡
  2. 跨链(5)“蚂蚁区块链”之跨链数据连接服务
  3. Java 中的异常和处理详解
  4. 算法笔记_什么是算法/算法分析/减而知之/分而治之/动态规划
  5. Firemonkey Control的TabStop处理
  6. 计算机科学中的计算机思维在本质上源自于,计算思维对学习计算机知识有何作用?...
  7. 微信浏览器唤起微信登录
  8. css3练习——手风琴图片
  9. Sony DRP-RP1装微信读书
  10. Java字节码编程之非常好用的javassist
  11. 9.20模拟赛T1[聪明的小偷]
  12. 标视界:值得您信赖的商标查询网
  13. 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。
  14. 中轴型SpA的两种诊断分支具有可比性
  15. springboot monitor 监控中心搭建
  16. 求n位水仙花数(C语言实现)
  17. 教程:如何利用Google AIY做一个自动撵猫神器?
  18. 浅谈电源芯片选型之低功耗
  19. 出货量第一的三星为何在手机AI芯片竞争中落后华为和苹果?
  20. 老贴不过觉得还是有意思:中国男足为什么总是输?

热门文章

  1. 财报背后的CEO性格:小鹏像赌徒李想很保守,李斌卖车为交个朋友
  2. 网络编程——重叠I/O模型
  3. Midjourney 绘画保姆级入门 图片教程
  4. 华硕台式计算机光盘怎么启动不了,华硕笔记本怎么用光盘重装系统 笔记本重装系统失败怎么办...
  5. android问题:AndroidStudio模拟器一直闪退启动失败
  6. 指针和指针引用作为函数的参数
  7. 记 DNS 解析失败跟踪调试
  8. matplotlib 画图之坐标轴不等距
  9. 学习使用ubuntu系统(ubuntu18.04)
  10. 一键提升照片质量,AI 加持的软件究竟有多神奇?