C# PDF 填值 填充数据
看效果图
/// <summary>
/// 赛事结果PDF
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
private static string PDFDownRunLoad(RunningModel model)
{
try
{
//BaseFont font = BaseFont.CreateFont(@"C:\Users\IT-016\Documents\Kitematic\jenkins\var\jenkins_home\war\css\font-awesome\fonts\fontawesome-webfont.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//获取PDF模板文件 string templateFile="";
if (model.MasterGroupType== "")
templateFile = AppDomain.CurrentDomain.BaseDirectory + @"PDF\Dom\e-Cert-V1-10K.pdf";
else
templateFile = AppDomain.CurrentDomain.BaseDirectory + @"PDF\Dom\e-Cert-V1-5K.pdf"; //输出生成的PDF文件
var fileName = @"PDF\" + model.RunId + "-" + model.AthleteNO + "_Run.pdf";
string tempPDF = AppDomain.CurrentDomain.BaseDirectory + fileName; PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(templateFile); //获取PDF文档第一页
PdfPageBase page = pdf.Pages[]; //添加文本水印到第一页,并设置格式
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height));
//brush.Graphics.SetTransparency(0.3f);
//brush.Graphics.Save();
//brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);
//brush.Graphics.RotateTransform(-45);
//y 控制高度 增大下滑
//x 控制长度 增大右滑
Font font = new Font("华康俪粗黑", , FontStyle.Bold);
PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font, true); Font font2 = new Font("华康俪中黑", , FontStyle.Regular);
PdfTrueTypeFont trueTypeFont2 = new PdfTrueTypeFont(font, true); var run_Model = JsonConvert.DeserializeObject<ExcelModel>(model.SGL_Run_IPbusiness); brush.Graphics.DrawString(model.AENName, trueTypeFont, PdfBrushes.Black, , -, new PdfStringFormat(PdfTextAlignment.Center));
//brush.Graphics.DrawString(model.AthleteNO, new PdfFont(PdfFontFamily.Helvetica, 18), PdfBrushes.Black, 440, 208, new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.DrawString(model.AthleteNO, new PdfFont(PdfFontFamily.Helvetica, ), PdfBrushes.Black, +, +, new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.DrawString(run_Model.FinishTime, new PdfFont(PdfFontFamily.Helvetica, ), PdfBrushes.Black, +, +, new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.DrawString(run_Model.NetTime, new PdfFont(PdfFontFamily.Helvetica, ), PdfBrushes.Black, +, +, new PdfStringFormat(PdfTextAlignment.Center)); brush.Graphics.Restore();
brush.Graphics.SetTransparency();
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(, ), page.Canvas.ClientSize)); //保存文档
pdf.SaveToFile(tempPDF);
return @"\" + fileName;
}
catch (Exception ex)
{
return "";
}
}
具体代码如上图所示 下载DLL地址
http://note.youdao.com/noteshare?id=445c577476c7a69b3e87e121d538f6b8
C# PDF 填值 填充数据的更多相关文章
- (转)原始图像数据和PDF中的图像数据
比较原始图像数据和PDF中的图像数据,结果见表1.1.表1.1中各种“解码器”的解释见本文后续的“PDF支持的图像格式”部分,“PDF中的图像数据”各栏中的数据来自开源的PdfView.如果您有兴趣查 ...
- 任务型对话(一)—— NLU(意识识别和槽值填充)
1,概述 任务型对话系统越来越多的被应用到实际的场景中,例如siri,阿里小密这类的产品.通常任务型对话系统都是基于pipline的方式实现的,具体的流程图如下: 整个pipline由五个模块组成:语 ...
- 使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行
Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行 模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2 图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单 ...
- SQLServer 自增主键创建, 指定自增主键列值插入数据,插入主键
http://blog.csdn.net/zh2qiang/article/details/5323981 SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入. 1 ...
- array_fill 用给定的值填充数组
转自:http://www.phpstudy.net/php/165.html PHP array_fill 用给定的值填充数组 array_fill (PHP 4 >= 4.2.0, PHP ...
- 如何用Transformer+从PDF文档编辑数据
ABBYY PDF Transformer+是一款可创建.编辑.添加注释及将PDF文件转换为其他可编辑格式的通用工具,可使用该软件从PDF文档编辑机密信息,然后再发布它们,文本和图像均可编辑,本文将为 ...
- EffectiveC#6--区别值类型数据和引用类型数据
1. 设计一个类型时,选择struct或者class是件简单的小事情,但是,一但你的类型发生了改变, 对所有使用了该类型的用户进行更新却要付出(比设计时)多得多的工作. 2.值类型:无多态但性能佳. ...
- Laravel使用Seeder自动填充数据
要查看代码,可以点击 或者转到链接:https://github.com/laravel/framework Laravel自动填充数据使用的是Seeder类 <?php use Illumin ...
随机推荐
- Java8 根据对象某个属性值去重
list中的对象某个属性存在重复时将重复的对象去重 //根据skuAttrValueName值去重 List<SkuValue> uniqueSkuValues = skuValues.s ...
- CentOS下Hadoop及ZooKeeper环境搭建
1. 测试环境 操作系统 CentOS 6.5. 总共5台机器,前两台作为namenode,称之为 nn01.nn02:后三台作为datanode,称为 dn01.dn02.dn03. 每台机器的内存 ...
- Ubuntu 16.04安装MySQL设置远程访问出现问题的完美解决方案(error:10061)
一.安装mysql 安装mysql过程中,需要设置mysql的root账号的密码,不要忽略了. sudo apt-get install mysql-server apt isntall mysql- ...
- unity读取灰度图生成等值线图
准备灰度图 grayTest.png,放置于Assets下StreamingAssets文件夹中. 在场景中添加RawImage用于显示最后的等值线图. 生成等值线的过程,使用Marching ...
- 数据集成、变换、归约及相关MATLAB工具箱函数
数据预处理的主要内容包括数据清洗.数据集成.数据变换和数据规约,在数据挖掘的过程中,数据预处理工作量占到了整个过程的60%.数据清洗在上一篇博客中写过,这里主要写后面三部分. 数据集成 数据挖掘需要的 ...
- Linux学习笔记:vim
目录 模式 命令模式 编辑模式 底行模式 .vimrc .viminfo .swap 本文更新于2019-09-05. 说明:下文中,使用{}引起表示自定义变量,根据实际情况填写.使用[]引起表示内容 ...
- 深入浅出的分析 Set集合
01. 摘要 Set集合的特点主要有:元素不重复.存储无序的特点. 打开 Set 集合,主要实现类有 HashSet.LinkedHashSet .TreeSet .EnumSet( RegularE ...
- php遇到Allowed memory size of 134217728 bytes exhausted问题解决方法
终端报出了Allowed memory size of 134217728 bytes exhausted错误,而且重启电脑再次执行仍然是一样.上网查了查,是因为php默认内存限制是128M,所以需要 ...
- MongoDB之源生基础概念与语句测试
此文章,我们拿MySQL和MongoDB做一个简单的理解. MySQL的数据库 => MongoDB数据库 MySQL的表 => MongoDB的Collection MySQL的一行记录 ...
- docker中启动2个mysql实列
一.mac环境安装docker容器 在docker官网中下载docker容器,地址:https://www.docker.com/products/docker-desktop 具体安装教程及设置网络 ...

