• Java - 将TXT文本文件转换为PDF文件


    与TXT文本文件,PDF文件更加专业也更适合传输,常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求,可以查看本文中介绍的免费实现方法。

     

    免费Java PDF库

    本文介绍的方法需要用到Free Spire.PDF for Java,该免费库支持多种操作、转换PDF文档的功能。其官方介绍如下:

    免费Java PDF组件

    下载安装:从以下链接下载最新版本并添加引用到你的Java项目中。或者通过Mave仓库安装。

    https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-JAVA.html

     

    TXT文本转PDF示例代码

    Free Spire.PDF for Java 提供的TXT文本文件转为PDF文件的方法实际上是先通过 readTextFromFile 方法读取txt文件中的文本,然后再将读取的文件使用 PdfTextWidget.draw() 方法绘制到 PDF 页面上的指定位置。

    该免费Java库还提供了接口,允许设置绘制文本的字体、字体颜色、对齐样式等。下面是一个简单的示例,展示了如何将一个TXT文件转换为一个PDF文件:

    复制代码
    import com.spire.pdf.FileFormat;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.PdfPageBase;
    import com.spire.pdf.graphics.*;
     
    import java.awt.*;
    import java.awt.geom.Rectangle2D;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
     
    public class ConvertTextToPdf {
        public static void main(String[] args) throws Exception {
            //从TXT文件读取文本
            String text = readTextFromFile("C:\\Users\\Administrator\\Desktop\\文本.txt");
     
            //创建PdfDocument类的对象
            PdfDocument pdf = new PdfDocument();
            //添加一个页面
            PdfPageBase page = pdf.getPages().add();
     
            //创建PdfFont类的对象
            Font font = new Font("宋体", Font.PLAIN, 11);
            PdfTrueTypeFont font1 = new PdfTrueTypeFont(font);
     
            //创建PdfTextLayout类的对象
            PdfTextLayout textLayout = new PdfTextLayout();
            textLayout.setBreak(PdfLayoutBreakType.Fit_Page);
            textLayout.setLayout(PdfLayoutType.Paginate);
     
            //创建PdfStringFormat类的对象
            PdfStringFormat format = new PdfStringFormat();
            format.setLineSpacing(20f);
     
            //用读取的文本创建PdfTextWidget类的对象
            PdfTextWidget textWidget = new PdfTextWidget(text, font1, PdfBrushes.getBlack());
            //设置字符格式
            textWidget.setStringFormat(format);
     
            //将文本添加到PDF页面的指定位置
            Rectangle2D.Float bounds = new Rectangle2D.Float();
            bounds.setRect(0,25,page.getCanvas().getClientSize().getWidth(),page.getCanvas().getClientSize().getHeight());
            textWidget.draw(page, bounds, textLayout);
     
            //保存结果文件
            pdf.saveToFile("TXT转PDF.pdf", FileFormat.PDF);
        }
        public static String readTextFromFile(String fileName) throws IOException {
            StringBuffer sb = new StringBuffer();
            BufferedReader br = new BufferedReader(new FileReader(fileName));
            String content = null;
            while ((content = br.readLine()) != null) {
                sb.append(content);
                sb.append("\n");
            }
            return sb.toString();
        }
    }
    复制代码

     

    输入输出文档示例:

     

    通过运行以上代码就可以读取txt文件的内容生成PDF文件。如果还需要在PDF文件中添加图片、表格、形状等各种元素,可以通过Free Spire.PDF提供的其他API接口来实现。更多demo示例可查看: Free Spire.PDF 中文教程

  • 相关阅读:
    如何优化数据采集流程,让企业运营效率与竞争力飙升
    产品设计如何提升客户体验?
    亚马逊关键词上首页的方法有哪些?
    怎么在相册里去水印?三种方法教你去除
    Oracle导出clob字段到csv
    精讲并查集经典习题:P1892 [BOI2003]团伙(超详细)
    中间件使用注意事项+中间件的分类
    简单认识一下HotSpot 垃圾收集器
    792. 匹配子序列的单词数 : 常规预处理优化匹配过程
    【无标题】弘辽科技:怎么提高淘宝店铺访客量和流量?做好哪些方面?
  • 原文地址:https://www.cnblogs.com/Yesi/p/18034600