把文本文件的文字读出来,然后写到PDF文件

本文介绍如何使用iText库将文本文件转换成带有中文支持的PDF文档,包括设置字体、编码及页面大小等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其中两个文件关于编码和字体(下面例子会用到)。
cjkencodings.properties
UniGB-UCS2-H=UniGB-UCS2-H
UniGB-UCS2-V=UniGB-UCS2-HUniGB-UCS2-V
cjkfonts.properties
STSong-Light=Adobe-GB1-UCS2_UniGB-UCS2-H_UniGB-UCS2-V_
STSongStd-Light=Adobe-GB1-UCS2_UniGB-UCS2-H_UniGB-UCS2-V_
 
我下载的是目前最新的包——itext-1.4.7.jar 一个简单的示例代码如下:
package powerwind;
 
import java.io.*;
 
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
 
// 功能:把文本文件的文字读出来,然后写到PDF文件
publicclass TxtToPdf {
 
    publicstaticvoid main(String[] args) {
 
       Document doc = null;
       BufferedReader br = null;
 
       final String pdfFilename = "PdfFile.pdf";
       final String txtFilename = "TxtFile.txt";
       // 设置纸张为A5
 
       try {
           doc = new Document();
         doc.setPageSize(PageSize.A5);
 
           PdfWriter.getInstance(doc, new FileOutputStream(pdfFilename));
 
           // 设置字体和编码:
           BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
           Font font = new Font(baseFont, 8, Font.NORMAL);
           doc.open();
 
           br = new BufferedReader(new FileReader(txtFilename));
           String str = null;
           // txt文件读出一行,加入到Document的段落
           while ((str = br.readLine()) != null) {
              doc.add(new Paragraph(str, font));
           }
       } catch (DocumentException de) {
           System.out.println(de);
       } catch (IOException ioe) {
           System.out.println(ioe);
 
       } finally {
           if (doc != null)
              doc.close();
           try {
              if (br != null)
                  br.close();
           } catch (IOException ioe) {
              System.out.println(ioe);
           }
       }
       System.out.println("done");
    }
}
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值