该文将介绍如何使用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);
}
}
效果图: