任何文本编辑器都可以对 txt 文件轻松进行编辑,如果你想防止其他人查看文件内容时进行更改,可以将 txt 文件转换为 pdf 文件。本文将展示使用 spire.pdf for java 以编程的方式将文本文件 txt 转换为 pdf 文件的操作步骤。
安装 spire.pdf for java
首先,您需要在 java 程序中添加 spire.pdf.jar 文件作为依赖项。jar 文件可以从此链接下载。 如果您使用 maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而在应用程序中导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.pdf
8.12.6
用 java 语言将 txt 文本文件转换为 pdf
以下时使用 spire.pdf for java 将文本文件 txt 转换为 pdf 的主要操作步骤:
- 创建 string 类的对象,并读取 txt 文件的文本。
- 创建 pdfdocument 类的对象,并用 pdfdocument.getpages().add() 方法在 pdf 中添加一个页面。
- 用读取的文本创建一个 pdftextwidget 类的对象。
- 用 pdftextwidget.draw() 方法将文本添加到 pdf 页面上。
- 用 pdfdocument.savetofile() 方法保存结果文档。
- java
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 txttopdf {
public static void main(string[] args) throws exception {
//从txt文件读取文本
string text = readtextfromfile("示例.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();
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。