完整代碼
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即可
效果
可以實現下面的效果