该文将介绍如何使用Spire.PDF for Java 在PDF文档中绘制上标文本和下标文本。
绘制PDF上标文本
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class PdfSuperscriptText {
public static void main(String[] args) {
//创建PdfDocument实例
PdfDocument doc = new PdfDocument();
//添加一个页面
PdfPageBase page = doc.getPages().add();
//设置字体
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN,14),true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//设置x,y坐标初始值
float x = 120f;
float y = 100f;
String text = "示例文本";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y));
//计算文本的尺寸
Dimension2D size = font.measureString(text);
//设置上标的X坐标
x += size.getWidth();
//设置格式为上标
PdfStringFormat format = new PdfStringFormat();
format.setSubSuperScript(PdfSubSuperScript.Super_Script);
//绘制上标
text = "上标";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y), format);
//保存文档
String result="output/superScript.pdf";
doc.saveToFile(result);
}
}
效果图:
绘制PDF下标文本
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class PdfSubscriptText {
public static void main(String[] args) {
//创建PdfDocument实例
PdfDocument doc = new PdfDocument();
//添加一个页面
PdfPageBase page = doc.getPages().add();
//设置字体
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN,14),true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//设置x,y坐标初始值
float x = 120f;
float y = 100f;
String text = "示例文本";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y));
//计算文本的尺寸
Dimension2D size = font.measureString(text);
//设置下标的X坐标
x += size.getWidth();
//设置格式为下标
PdfStringFormat format = new PdfStringFormat();
format.setSubSuperScript(PdfSubSuperScript.Sub_Script);
//绘制下标
text = "下标";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y), format);
//保存文档
String result="output/subScript.pdf";
doc.saveToFile(result);
}
}
效果图: