在这篇文章中,我将举例说明如何创建一个包含标题,段落,图像,编号列表和表格的简单的PDF文件,以及如何使用Free Spire.PDF将PDF转换为其他文件格式。
概述
Free Spire.PDF for Java是一个类库,您可以直接在Java程序中创建和处理PDF文件,而无需安装任何其他软件。使用此类库您可以轻松创建PDF文件。您只需创建一个PdfDocument对象,再根据需要创建足够数量的PdfPageBase对象,然后向页面添加字符串,图像,表格,列表等任何其他元素,最后保存文档。
准备工作
从此链接下载Free Spire.PDF for Java,并在您的Java项目中导入Spire.Pdf.jar文件。
坐标系
Spire.PDF生成的页面由边距和内容区域组成。 坐标系仅存在于内容区域中,允许用户将内容添加到指定坐标。 Spire.PDF中的坐标系遵循以下规则。
坐标系的原点(0,0)即内容区域的左上角顶点。
X轴向右延伸,Y轴向下延伸。
1.png
创建自定义函数
Spire.PDF提供了有用的类和方法,例如PdfPageBase类,drawString方法和drawImage方法,您可以借助它们进行页面设置,并添加文本和图像到指定坐标。为了使代码更便于阅读,我预先定义了以下五个自定义函数来执行不同的任务。
• drawTitle
在PDF文件上绘制标题时,您可能需要对齐文本。 基于drawString创建的drawTitle函数允许您将文本水平对齐,例如,居中对齐。
public static void drawTitle(PdfPageBase page, String text, PdfTrueTypeFont font, PdfBrush brush, float x, float y, PdfTextAlignment alignment) {
//通过PdfStringFormat类库设置文本对齐
PdfStringFormat format = new PdfStringFormat();
format.setAlignment(alignment);
//在页面绘制题目
page.getCanvas().drawString(text, font, brush, x, y, format);
}
drawParagraph
drawParagraph函数与drawTitle不同,尽管它们采用类似的参数。此函数基于PdfTextWidget.draw方法创建,并返回PdfLayoutResult类的对象,该对象包含正在绘制的元素的边界信息。通过这样做,您能够知道当前段落的结束位置以及从何处开始绘制下一段内容。
public static PdfLayoutResult drawParagraph(PdfPageBase page, String text, PdfTrueTypeFont font, PdfBrush brush, float x, float y) {
// 创建一