个性化阅读
专注于IT技术分析

PDFBox使用字体

在PDFBox中, 可能需要添加具有不同字体系列和大小的文本。 PDFBox规范指出”在处理PDF文档时, 将始终提供标准的14种字体集”。在PDFBox中, 这组14种字体在PDType1Font类中定义为常量。使用PDType1Font API从文件加载字体。 PDFBox支持以下字体-

Standard Font Discription
PDType1Font.TIMES_ROMAN 定期营业
PDType1Font.TIMES_BOLD Times bold
PDType1Font.TIMES_ITALIC Times italic
PDType1字体。TIMES_BOLD_ITALIC 时代粗体斜体
PDType1Font.HELVETICA Helvetica常规
PDType1Font.HELVETICA_BOLD Helvetica bold
PDType1Font.HELVETICA_OBLIQUE 斜体字
PDType1字体。HELVETICA_BOLD_OBLIQUE Helvetica粗体斜体
PDType1Font.COURIER Courier
PDType1Font.COURIER_BOLD Courier bold
PDType1Font.COURIER_OBLIQUE 斜体快递
PDType1Font.COURIER_BOLD_OBLIQUE 信使粗体斜体
PDType1Font.SYMBOL 符号集
PDType1Font.ZAPF_DINGBATS Dingbat字体

我们可以使用Content Stream上可用的setFont API为文本配置字体。

PDPageContentStream contentStream = new PDPageContentStream(document, page);

contentStream.setFont( PDType1Font.HELVETICA_BOLD, 28 );

例子

本示例创建一个新文档并打印文本” Hello World !!!”。使用PDF基本字体之一。

import java.io.IOException;
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;

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();
	}
}

输出

成功执行上述程序后, 打开显示以下输出的PDF文档。

PDFBox使用字体
赞(2)
未经允许不得转载:srcmini » PDFBox使用字体

评论 抢沙发

评论前必须登录!