【Spire.PDF】设置文本旋转,完整代码

完整代码

var Doc = new PdfDocument();
Doc.PageSettings.Margins.All = 0;//设置边距为0
Doc.Pages.Add();Doc.Pages.RemoveAt(0);//删除第一页,因为有水印
var Page = Doc.Pages.Add();

var FontColorBlack = new PdfSolidBrush(Color.Black);
var Font8 = new PdfTrueTypeFont(new Font("宋体", 8, FontStyle.Regular), true);

Page.Canvas.DrawString("不旋转的字体1", Font8, FontColorBlack, new PointF(100, 100));

//保存当前状态
Page.Canvas.Save();
//设置旋转原点
Page.Canvas.TranslateTransform(200, 100);
//旋转30度
Page.Canvas.RotateTransform(30);
//绘制旋转的字体
Page.Canvas.DrawString("旋转的字体", Font8, FontColorBlack, new PointF(0, 0));
//恢复上次状态
Page.Canvas.Restore();

Page.Canvas.DrawString("不旋转的字体2", Font8, FontColorBlack, new PointF(300, 100));

//保存
string path = Path.Combine(Environment.CurrentDirectory, "Reports");
string name = DateTime.Now.ToString("yyyyMMddHHmmss");
if (Directory.Exists(path) == false)
{
    Directory.CreateDirectory(path);
}
string fname = Path.Combine(path, name + ".pdf");
Doc.SaveToFile(fname);
Doc.Close();
//打开
Process.Start(fname);

备注:通过TranslateTransform设置旋转原点,然后通过DrawString绘制时,只需设置坐标为0,0即可

 

效果

【Spire.PDF】设置文本旋转,完整代码_第1张图片

 

可以实现下面的效果

【Spire.PDF】设置文本旋转,完整代码_第2张图片

【Spire.PDF】绘制柱状图,兼容性强,可自定义数据

你可能感兴趣的:(Spire.PDF)