【Spire.PDF】Spire.PDF导出报告之一获取与破解
【Spire.PDF】Spire.PDF导出报告之二基本绘制Draw
【Spire.PDF】Spire.PDF导出报告之三表格Grid
【Spire.PDF】Spire.PDF导出报告之四报告模板
【Spire.PDF】Spire.PDF导出报告之实用工具类PdfUtility
Spire.PDF导出报告之一获取与破解
Spire.PDF版本:5.1
https://www.e-iceblue.com/Download/download-pdf-for-net-now.html
到官网下载(需要注册登录才能下载),安装并获取两个dll文件
或
链接:https://pan.baidu.com/s/1_YijYkjogH1bZ30gbpFMCQ
提取码:k5zn
Spire.License.dll 版本:1.3.7.40
Spire.Pdf.dll 版本:5.1.0.2040
新建项目,添加两个dll的应用
添加命名空间
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Grid;
新建类PDF生成工具类PdfUtility,方便使用和维护
添加基本属性
/// <summary>
/// PDF文档
/// </summary>
public PdfDocument Doc { get; private set; }
/// <summary>
/// 页面
/// </summary>
public PdfPageBase Page { get; private set; }
添加页面操作方法
/// <summary>
/// 增加页面
/// </summary>
public void PagesAdd()
{
Page = Doc.Pages.Add();
}
/// <summary>
/// 移除页面
/// </summary>
/// <param name="page">要移除的页面</param>
public void PageRemove(PdfPageBase page)
{
Doc.Pages.Remove(page);
}
添加字体设置
#region Font,BrushColor,PenColor
/// < summary>
/// 设置字体大小样式
/// </ summary>
/// < param name="emSize">大小</ param>
/// < param name="IsBold">是否加粗,默认不加粗</ param>
/// <returns>字体大小样式</returns>
public PdfTrueTypeFont Font(float emSize, bool IsBold = false)
{
return new PdfTrueTypeFont(new Font("宋体", emSize, IsBold ? FontStyle.Bold : FontStyle.Regular), true);//true防止中文乱码
}
/// < summary>
/// 设置笔刷颜色(用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部)
/// </ summary>
/// < param name="color">颜色</ param>
/// <returns>PdfSolidBrush</returns>
public PdfSolidBrush BrushColor(Color color)
{
return new PdfSolidBrush(color);
}
/// < summary>
/// 设置画笔颜色(用于绘制直线和曲线)
/// </ summary>
/// < param name="color">颜色</ param>
/// < param name="width">画笔的宽度,默认为1</ param>
/// <returns>画笔颜色</returns>
public PdfPen PenColor(Color color, float width = 1)
{
return new PdfPen(color, width);
}
#endregion
添加初始化方法
/// < summary>
/// 初始化
/// </ summary>
public void Init()
{
Doc = new PdfDocument();
Doc.PageSettings.Margins.All = 0;//设置边距为0,默认边距为40
}
添加绘制文本方法
/// <summary>
/// 绘制文本
/// </summary>
/// <param name="s">字符串文本</param>
/// <param name="font">文本格式</param>
/// <param name="brush">文本颜色</param>
/// <param name="point">绘制的位置</param>
/// <param name="page">页面,默认为创建的最后一个页面,也可以重新设置页面</param>
public void DrawString(string s, PdfTrueTypeFont font, PdfSolidBrush brush, PointF point, PdfPageBase page = null)
{
(page ?? Page).Canvas.DrawString(s, font, brush, point);
}
添加保存方法
/// <summary>
/// 保存并打开
/// </summary>
/// <param name="name"></param>
public void SaveToPDF(string name)
{
string path = Application.StartupPath + "\\Reports\\" + name + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";//以日期为文件名,以防存在打开文件
Doc.SaveToFile(path);
Doc.Close();
Process.Start(path);//打开文档
}
应用
PdfUtility pdfUtility = new PdfUtility();
pdfUtility.Init();
pdfUtility.PagesAdd();
pdfUtility.DrawString(pdfUtility.Page, "PDF文档测试", pdfUtility.Font(10), pdfUtility.BrushColor(Color.Black), new PointF(10, 10));
pdfUtility.SaveToPDF("PDFTest");
生成pdf后自动打开报告
发现出现Evaluation Warning : The document was created with Spire.PDF for .NET. 的警告
解决方案:在初始化时添加并删除第一页即可
/// <summary>
/// 初始化
/// </summary>
public void Init()
{
Doc = new PdfDocument();
Doc.PageSettings.Margins.All = 0;//设置边距为0,默认边距为40
PagesAdd(); PageRemove(Page);//删除第一页,因为第一页有警告语
}
【Spire.PDF】Spire.PDF导出报告之一获取与破解
【Spire.PDF】Spire.PDF导出报告之二基本绘制Draw
【Spire.PDF】Spire.PDF导出报告之三表格Grid
【Spire.PDF】Spire.PDF导出报告之四报告模板
【Spire.PDF】Spire.PDF导出报告之实用工具类PdfUtility