iTextSharp生成pdf文档案例
1.
using iTextSharp.text;
using iTextSharp.text.pdf;
2.设置页面大小
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(610f, 760f);
设置背景颜色
pageSize.BackgroundColor = new BaseColor(100,100,100);
3.创建文档:
Document document = new Document(pageSize);
对于一些常用尺寸比如:A4、A5\A6可以使用PageSize类,如果是横向页面可以调用它的Rotate方法。eg:
PageSize.A4.Rotate().
设置margion:
Document doc = new Document(PageSize.A4.Rotate(), 5f, 5f, 5f, 5f);
4.创建writer
PdfWriter pw = PdfWriter.GetInstance(doc, new FileStream(@"...\my.pdf",FileMode.OpenOrCreate,FileAccess.ReadWrite));
5.设置相关信息:
BaseFont baseFT = BaseFont.CreateFont(@"c:\windows\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT); //写入一个段落, Paragraph
#region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成
doc.AddAuthor("尚层装饰");
doc.AddCreationDate();
doc.AddCreator("AddCreator");
doc.AddSubject("AddSubject");
doc.AddTitle("title");
doc.AddKeywords("111");
//自定义头
doc.AddHeader("Expires", "0");
#endregion
doc.Open();
doc.NewPage();
6.插入文字:
Paragraph ph = new Paragraph("PPPPpppzzzzpppPPPP" + "", font);
ph.Alignment = iTextSharp.text.Rectangle.ALIGN_CENTER;
doc.Add(ph);
7.插入图片
iTextSharp.text.Image image =
iTextSharp.text.Image.GetInstance(@"...\20140527030942838.png");
image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN;
//image.SetAbsolutePosition(0f, 40f);
image.ScaleToFit(610f, 760f);
doc.Add(image);
8.插入表格:
iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(2); // 表格有 2 列
iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell(); // 创建单元格
cell.AddElement(new Phrase("sfdsdf"));
cell.Colspan = 2;
table.AddCell(cell);
//cell.HorizontalAlignment=1; // 在单元格中添加数据
table.SetWidths(new int[]{200, 100});
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.HorizontalAlignment = 1;
doc.Add(table);
doc.Close();
============asp.net直接下载pdf文件案例:
//pdf页面大小
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(610f, 360f);
Document doc = new Document(pageSize, 0f, 0f, 0f, 0f);
//设置边界
MemoryStream Memory = new MemoryStream();
try
{
PdfWriter.GetInstance(doc, Memory);
BaseFont baseFT = BaseFont.CreateFont(@"c:\windows\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT); //写入一个段落, Paragraph
#region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成
doc.AddAuthor("尚层装饰");
doc.AddCreationDate();
doc.AddCreator("" + model.FirstOrDefault().SliCreateTime + "");
doc.AddSubject("");
doc.AddTitle("" + model.FirstOrDefault().SolTitle + "");
doc.AddKeywords("");
//自定义头
doc.AddHeader("Expires", "0");
#endregion
doc.Open();
foreach (var item in model)
{
doc.NewPage();
doc.Add(new Paragraph("" + item.SliName ?? "1111" + "", font));
iTextSharp.text.Image image =
iTextSharp.text.Image.GetInstance(SFast.MyUrl.ToAb(item.SliImagePath));
image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN;
// image.SetAbsolutePosition(0f, 40f);
image.ScaleToFit(610f, 360f);
doc.Add(image);
}
doc.Close();
string Strfilename = "" + model.FirstOrDefault().SolTitle + "";
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Strfilename = HttpUtility.UrlEncode(Strfilename + ".pdf", System.Text.Encoding.GetEncoding("UTF-8"));
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", Strfilename));
HttpContext.Current.Response.ContentType = "application/octet-streem";
Response.OutputStream.Write(Memory.GetBuffer(), 0, Memory.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.End();
}
catch (DocumentException de) { Console.WriteLine("图片路径未找到"); Console.ReadKey(); }
}
转载于:https://www.cnblogs.com/guozefeng/p/4166729.html
iTextSharp生成pdf文档案例相关推荐
- 手把手教你使用 Java 在线生成 pdf 文档
一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...
- PHP生成PDF文档的FPDF类
以前在PHP4的早期版本中用PDFlib生成PDF文档比较容易,现在升级到PHP5了,发现更麻烦了,装的PHP 5.2.4默认没有PHPlib,从php.net上找了一个,装上竟一直报错,开始以为是版 ...
- java pdf 中文_java-pdf-itext 生成pdf 文档(支持中文字体)
java-pdf-itext 生成pdf 文档(支持中文字体) itext 版本:2.1.7 package com.demo.preview; import java.io.ByteArrayOut ...
- qt 利用 HTML 生成PDF文档,不能显示jpg图片
利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...
- 【报表技术】IReport图形化报表开发工具生成PDF文档
[报表技术]IReport图形化报表开发工具生成PDF文档 新建一个文件. 由于IReport的默认设置是不支持中文的,IReport没有内置中文的包. 了解报表模板结构. ①title:报表标题. ...
- app canvas渲染后图片黑色_H5 基于 canvas 实现电子签名并生成PDF文档
(给前端大全加星标,提升前端技能) 转自:coyota666 https://juejin.cn/post/6901273585428463624 前言 电子签名通俗来说就是通过技术手段实现在电子文档 ...
- php源生生成pdf_TCPDF - 可生成PDF文档和条形码PHP库
TCPDF 用于生成PDF文档的开源PHP类 主要特点 基本功能不需要外部库: 所有标准页面格式,自定义页面格式,自定义边距和度量单位: UTF-8 Unicode和从右至左的语言: TrueType ...
- c语言调用pdf文档,使用PDFLib生成PDF文档方法介绍(C语言版)
本文简单介绍了PDFLib生成PDF文档(C语言版)的基本使用方法. 1.基本环境 ① 打开.关闭.文档信息设定: 新建PDFLib对象,PDF_new() 设定错误处理的方式,PDF_set_par ...
- php操作pdf文档输出,PHP生成PDF文档实用技巧
PHP生成PDF文档实用技巧 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速 ...
- php header 生成pdf,PHP如何生成PDF文档
PHP如何生成PDF文档? 使用PHPTCPDF 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TC ...
最新文章
- CactiEz 无法登陆 、重启不画图处理
- SAP QM高阶之检验点(Inspection Point)
- 运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)
- 编程语言python特点-常用编程语言介绍及各特点
- java 闭包_公司新来的女实习生问我什么是闭包?
- MySQL多个线程同时写数据_多个线程可以同时将数据写入文件吗?
- SUN服务器清除所有报错信息,SUN服务器可能遇到的问题总结.doc
- python基础面试题1
- C++ 实验3 类和对象
- 电子开发网---一个硬件很好的网站
- 二叉树的宽度 java_Java语言描述二叉树的深度和宽度
- html写一个轮播图响应式布局,响应式banner图片轮播布局代码
- oracle 进程占cpu使用率,ORACLE进程占用CPU情况分析
- 为电商而生的知识图谱,如何感应用户需求? 1
- 生日祝福html_祝我家的猪,生日快乐 | 告白墙第21期
- logrotate 管理日志文件不生效
- 如何使用工厂模式让自己的代码更加优雅
- 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传
- Android 自定义图片点击放大、缩小
- python实现键盘记录木马
热门文章
- mysql 中的 SCHEMATA 表
- 登录服务器时显示 IE COOKIE阻止,复制Cookie跨域,为什么其他浏览器使用SCRIPT标记发送IE阻止Cookie...
- Davids实操笔记:Spring Boot使用docker整合ElasticSearch ik分词搜索和拼音搜索
- 数据治理成功要素篇1:数据战略管理
- 从零学计算机网络、TCP、IP、路由器、Vlan、HCIA-数通
- 用python计算工程量_总算懂了工程造价工程量计算方法
- codeforces1299C Water Balance
- Endnote 导出英文、中文(知网)参考文献进入Word
- php 验证码不正确,php验证码提示错误
- 2020-05-15-用于深度学习训练的分布式多租户GPU集群分析