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 中文教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章