本文将介绍如何使用spire.pdf for java在java程序中创建pdf文档,内容包括如何创建字体、如何将文字居中、如何设置段首缩进、如何在规定的区域绘制文字等。
import java.awt.*;
import java.awt.geom.point2d;
import java.awt.geom.rectangle2d;
import java.io.*;
import com.spire.pdf.pdfpagebase;
import com.spire.pdf.graphics.*;
public class createpdfdocumentinjava {
public static void main(string[] args) throws filenotfoundexception, ioexception {
//创建pdfdocument对象
pdfdocument doc = new pdfdocument();
//添加一页
pdfpagebase page = doc.getpages().add();
//标题文字
string title = "java基础语法";
//创建单色画刷对象
pdfsolidbrush brush1 = new pdfsolidbrush(new pdfrgbcolor(color.blue));
pdfsolidbrush brush2 = new pdfsolidbrush(new pdfrgbcolor(color.black));
//创建truetype字体对象
pdftruetypefont font1= new pdftruetypefont(new font("arial unicode ms",font.plain,14),true);
pdftruetypefont font2= new pdftruetypefont(new font("arial unicode ms",font.plain,10),true);
//创建pdfstringformat对象
pdfstringformat format1 = new pdfstringformat();
format1.setalignment(pdftextalignment.center);//设置文字居中
//使用drawstring方法绘制标题文字
page.getcanvas().drawstring(title, font1, brush1, new point2d.float(page.getactualbounds(true).width / 2, 0),format1);
//从txt文件读取内容到字符串
string body = readfiletostring("c:\\users\\administrator\\desktop\\bodytext.txt");
//创建pdfstringformat对象
pdfstringformat format2 = new pdfstringformat();
format2.setparagraphindent(20);//设置段首缩进
//创建rectangle2d对象
rectangle2d.float rect = new rectangle2d.float(0, 30, page.getactualbounds(true).width,page.getactualbounds(true).height);
//使用drawstring方法在矩形区域绘制主体文字
page.getcanvas().drawstring(body, font2, brush2, rect,format2);
//保存到pdf文档
doc.savetofile("ouput.pdf");
}
//自定义方法读取txt文件内容到字符串
private static string readfiletostring(string filepath) throws filenotfoundexception, ioexception {
stringbuilder sb = new stringbuilder();
string s ="";
bufferedreader br = new bufferedreader(new filereader(filepath));
while( (s = br.readline()) != null) {
sb.append(s "\n");
}
br.close();
string str = sb.tostring();
return str;
}
}