.net 生成pdf表格
只需要建一个类文件就搞定了
public class CreatePDF
{
public static CreatePDF Current { get { return new CreatePDF(); } }
public void CreatePDFs(RBS.Models.UserConfirmModel Model)
{
Document document = new Document();
string filepath = "/Upload/Pdf/";
Directory.CreateDirectory(HttpContext.Current.Server.MapPath(filepath));
PdfWriter.GetInstance(document, new FileStream(HttpContext.Current.Server.MapPath(filepath + "001.pdf"), FileMode.Create));
document.Open();
BaseFont bftitle = BaseFont.CreateFont(@"C:\\Windows\Fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fonttitle = new Font(bftitle, , Font.UNDERLINE);
BaseFont bf1 = BaseFont.CreateFont(@"C:\\Windows\Fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font1 = new Font(bf1, );
Font fonttitle10 = new Font(bf1, );
Font fonttitle12 = new Font(bf1, );
PdfPCell cellmode = new PdfPCell(); cellmode.Padding = ;
Paragraph Title = new Paragraph("信息总表", fonttitle);
Title.SetAlignment("center");
document.Add(Title);
PdfPTable topTable = new PdfPTable();
PdfPCell topCell = new PdfPCell();
topCell.PaddingTop = 10F;
topCell.Colspan = ;
topCell.Border = ;
topTable.AddCell(topCell);
document.Add(topTable);
PdfPTable table = new PdfPTable();
CreateCell(, false, "广州XXXXXX公司", fonttitle10, "left", table);
CreateCell(, false, "字第190898765号", fonttitle10, "right", table);
CreateCell(, , , "兹批准 广州市XXXXXXX分公司 去购买下列物品", fonttitle10, "center", table);
CreateCell(, true, "物品名称", fonttitle10, "center", table);
CreateCell(, true, "数量", fonttitle10, "center", table);
CreateCell(, true, "备注", fonttitle10, "center", table);
string[] arrNames = { "物品名称1", " 物品名称2", " ", " " };
string[] arrCounts = { "10吨", "800公斤", "", "" };
for (int i = ; i < arrNames.Length; i++)
{
CreateCell(, , , arrNames[i], fonttitle10, "center", table);
CreateCell(, , , arrCounts[i], fonttitle10, "center", table);
CreateCell(, , , " ", fonttitle10, "center", table);
}
CreateCell(, false, " 此证由填发日起止2013年03月19日有效 逾期作废", fonttitle10, "left", table);
CreateCell(, false, " 到本县、市以外购买物品时,必须经出售地政府机关在备注栏内盖章后方能有效", fonttitle10, "left", table);
CreateCell(, , , " \r填发人:XXX", fonttitle10, "left", table);
CreateCell(, false, "广东省广州市\r\n2013年3月5日", fonttitle10, "right", table); document.Add(table);
document.Close();
} ///
/// 生成单元格
///
/// 合并列数
/// 是否需要边框线
/// 表格内显示的内容
/// 内容字体
/// 对齐方式
/// 此单元格填充的表
private void CreateCell(int Colspan, bool Border, string Content, Font font, string alignment, PdfPTable table)
{
if (Border)
CreateCell(Colspan, , , Content, font, alignment, table);
else
CreateCell(Colspan, , Content, font, alignment, table);
}
///
/// 生成单元格
///
/// 合并列数
/// 间距
/// 内容
/// 字体
/// 对齐方式
/// 此单元格填充的表
private void CreateCell(int Colspan, int Padding, string Content, Font font, string alignment, PdfPTable table)
{
CreateCell(Colspan, Padding, , Content, font, alignment, table);
}
///
/// 生成单元格
///
/// 合并列数
/// 间距
/// 边框线
/// 内容
/// 字体
/// 对齐方式
/// 此单元格填充的表
private void CreateCell(int Colspan, int Padding, int Border, string Content, Font font, string alignment, PdfPTable table)
{
CreateCell(Colspan, Padding, Border, , , Content, font, alignment, table);
}
///
/// 生成单元格
///
/// 合并列数
/// 间距
/// 边框线
/// 水平对齐方式
/// 垂直对齐方式
/// 内容
/// 字体
/// 对齐方式
/// 此单元格填充的表
private void CreateCell(int Colspan, int Padding, int Border, int HorizontalAlignment, int VerticalAlignment, string Content, Font font, string alignment, PdfPTable table)
{
PdfPCell cell = new PdfPCell();
cell.Colspan = Colspan;
cell.Padding = Padding;
if (HorizontalAlignment > )
cell.HorizontalAlignment = HorizontalAlignment;
if (VerticalAlignment > )
cell.VerticalAlignment = VerticalAlignment;
if (Border == )
cell.Border = Border;
Paragraph table_t = new Paragraph(Content, font);
table_t.SetAlignment(alignment);
cell.AddElement(table_t);
table.AddCell(cell);
} }
.net 生成pdf表格的更多相关文章
- MVC 生成PDf表格并插入图片
最近做的项目中有一个功能,将最终的个人信息生成PDF表格,并插入图片.对于没接触过的程序员来说回一片茫然,网上有多种生成PDf的方法,我给大家介绍一下我认为比较简单,好操作的一种. iTextShar ...
- Java 生成pdf表格文档
最近在工作做一个泰国的项目,应供应商要求,需要将每天的交易生成pdf格式的报表上传到供应商的服务器,特此记录实现方法.废话不多说,直接上代码: THSarabunNew.ttf该文件是泰国字体自行网上 ...
- java使用iText生成pdf表格
转载地址:http://www.open-open.com/code/view/1424011530749 首先需要你自己下载itext相关的jar包并添加引用,或者在maven中添加如下引用配置: ...
- java(itext) 一个很简单的PDF表格生成工具
先上个效果图 因为做的项目涉及到数据预测,其中有大量打印业务来支撑实体店的运营,因为注重的是数据,要求简洁,清晰,所以写了个很简单也很实用的工具类. 如果需要编写样式或者插入背景,都可以查阅itex官 ...
- iText生成PDF 格式报表
1.导包 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artif ...
- 【Java】itext根据模板生成pdf(包括图片和表格)
1.导入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar. 2.新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打 ...
- iTextSharp生成pdf的一个简单例子
效果图: 参考:http://www.cnblogs.com/CareySon/archive/2011/11/09/2243496.html http://www.cnblogs.com/julyl ...
- 用js生成PDF的方案
在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题. 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:J ...
- 【Java】使用iText生成PDF文件
iText介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
随机推荐
- jquery-ui 之draggable详解
举一个例子: <div class="box"> <div id="draggable"> <p>Drag me aroun ...
- springMVC get请求及其请求地址写法
今天,需要写一个接口,写完之后,测试的时候发线一直报404错误,不知道为什么报错.应该是get请求地址的问题,get请求有两个参数,改为一个参数的时候是好用的,可能那种方式不适合写两个参数的get请求 ...
- Flash Builder 创建CSS
1.global 选择器将样式应用于所有控件 在 Flash Builder 中创建新MXML 文件并切换到设计模式 属性视图右侧的外观视图可更改外观 Flash Builder 自动创建CS ...
- js防刷新的倒计时
近期在维护考试系统,在进行考试測试时无意中点击了刷新button.可是上面的倒计时并没有受到影响.同一时候在几篇博客中也有这种样例,所以我想看看它究竟是如何防止刷新的. 假设是用cs代码写.我们可能会 ...
- delphi 连接mysql
Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决.最后返璞归真,老老实实用ADO来连接,发现也不是很顺利,但最终还是连接成功了.多少有点心得:ADO各个组件的作 ...
- Tomcat部署web应用的三种方式
原文:http://my.oschina.net/sunchp/blog/90235 一:相关概念 CATALINA_HOME:tomcat安装目录 CATALINA_BASE:tomcat工作目录 ...
- [Heroku] How to pull, push changes
1. First you need to login heroku: heroku login 2. Then you need to download the code: heroku git:cl ...
- 使用Twisted进行socket编程
你的协议处理类通常是twisted.internet.protocol.Protocol的子类.许多协议处理继承于该类或者比该类更加方便的该类的子类.一个protocol类的实例可能反复连接,也可能在 ...
- 乐视mysql面试题
http://blog.itpub.net/28916011/viewspace-2093197/ 最近,朋友去乐视面试了mysql DBA,以下是我据整理的乐视mysql面试题答案,供大家参考 ...
- 从问题看本质: 研究TCP close_wait的内幕
Socket应用服务器TomcatOSUbuntu /* * @author: ahuaxuan * @date: 2010-4-30 */ 最近遇到的一个关于socket.close的问题,在某个 ...