Free Spire.PDF for .NET
VS2013(版本可自选)
下载安装该类库(安装完成后,注意在项目中引用Spire.Pdf.dll,dll可以在安装路径下的Bin文件夹中获取。
C#using Spire.Pdf;using Spire.Pdf.Graphics;using System.Drawing; namespace CreatePDF_PDF{ class Program { static void Main(string[] args) { //初始化一个PdfDocument类实例 PdfDocument document = new PdfDocument(); //声明 PdfUnitConvertor和PdfMargins类对象 PdfUnitConvertor unitCvtr = new PdfUnitConvertor(); PdfMargins margins = new PdfMargins(); //设置页边距 margins.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margins.Bottom = margins.Top; margins.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margins.Right = margins.Left; //新添加一个A4大小的页面 PdfPageBase page = document.Pages.Add(PdfPageSize.A4, margins); //自定义PdfTrueTypeFont、PdfPen实例,设置字体类型、字号和字体颜色 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font('楷体', 11f),true); PdfPen pen = new PdfPen(Color.Black); //调用DrawString()方法在指定位置写入文本 string text = ('《蝶恋花 送春》 \n 楼外垂杨千万缕,欲系青春,少住春还去。犹自风前飘柳絮,随春且看归何处?\n 绿满山川闻杜宇,便作无情,莫也愁人苦。把酒送春春不语,黄昏却下潇潇雨。'); page.Canvas.DrawString(text, font, pen, 15, 13); //加载图片,并调用DrawImage()方法在指定位置绘入图片 PdfImage image = PdfImage.FromFile('image1.jpg'); float width = image.Width * 0.55f; float height = image.Height * 0.55f; float y = (page.Canvas.ClientSize.Width - width) / 3; page.Canvas.DrawImage(image, y, 60, width, height); //保存并打开文档 document.SaveToFile('PDF创建.pdf'); System.Diagnostics.Process.Start('PDF创建.pdf'); } }}
创建结果:
在这个示例中使用到的控件Spire.Pdf.dll支持除了常规的英文之外,也支持直接创建中文的文档。