PDFBox 使用字体
PDFBox 使用字体 介绍
在 PDFBox 中,可能需要添加具有不同字体系列和大小的文本。PDFBox 规范声明“标准的 14 种字体集将始终可用于处理 PDF 文档”。在 PDFBox 中,这 14 种字体集被定义为PDType1Font 类中的常量。字体是通过使用PDType1Font API从文件加载的。PDFBox 支持以下字体
标准字体集 | 描述 |
---|---|
PDType1Font.TIMES_ROMAN | Times regular |
PDType1Font.TIMES_BOLD | Times bold |
PDType1Font.TIMES_ITALIC | Times italic |
PDType1Font.TIMES_BOLD_ITALIC | Times bold italic |
PDType1Font.HELVETICA | Helvetica regular |
PDType1Font.HELVETICA_BOLD | Helvetica bold |
PDType1Font.HELVETICA_OBLIQUE | Helvetica italic |
PDType1Font.HELVETICA_BOLD_OBLIQUE | Helvetica bold italic |
PDType1Font.COURIER | Courier |
PDType1Font.COURIER_BOLD | Courier bold |
PDType1Font.COURIER_OBLIQUE | Courier italic |
PDType1Font.COURIER_BOLD_OBLIQUE | Courier bold italic |
PDType1Font.SYMBOL | Symbol Set |
PDType1Font.ZAPF_DINGBATS | Dingbat Typeface |
我们可以使用Content Stream上提供的setFont API为文本配置字体。
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.setFont( PDType1Font.HELVETICA_BOLD, 28 );
PDFBox 使用字体 示例
本示例创建一个新文档并打印文本“Hello World!!!” 使用 PDF base 字体
package com.yiidian;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.IOException;
public class WorkingWithFont {
public static void main(String[] args) throws IOException {
// Create a document and add a page to it
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
// Create a new font object selecting one of the PDF base fonts
PDFont font = PDType1Font.HELVETICA_BOLD;
// Start a new content stream which will "hold" the to be created content
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// Define a text content stream using the selected font, and print the text
contentStream.beginText();
contentStream.setFont(font, 28);
contentStream.newLineAtOffset(100, 700);
contentStream.showText("Hello World !!!!");
contentStream.endText();
System.out.println("Text Content is added in the PDF Document.");
// closed the content stream class.
contentStream.close();
// Save the results and ensure that the document is properly closed.
document.save("Hello World.pdf");
document.close();
}
}
输出结果如下:
热门文章
优秀文章