PDF按模板出力,多个PDF合并
const string TEMP_PREXFIX = "Temp_"; | ||||||||||||||||
string _tempfilename01; | ||||||||||||||||
PdfReader _pdfReader = null; | ||||||||||||||||
BaseFont _baseFont = null; | ||||||||||||||||
PdfStamper _pdfStamper = null; | ||||||||||||||||
string _sourcefilename01 = ".\\PDF\\faxcre01.pdf"; | ||||||||||||||||
string _targetfilename01 = ".\\PDF\\faxcre01_生成.pdf"; | ||||||||||||||||
string fileName01 = Path.GetFileName(_targetfilename01); | ||||||||||||||||
string path = Path.GetDirectoryName(_targetfilename01); | ||||||||||||||||
_tempfilename01 = path + @"\TEMP\" + TEMP_PREXFIX + fileName01; | ||||||||||||||||
_baseFont = BaseFont.CreateFont(@"c:\windows\fonts\msmincho.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); | ||||||||||||||||
BaseFont bfTimes = BaseFont.CreateFont(@"c:\windows\fonts\msmincho.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); | ||||||||||||||||
iTextSharp.text.Font times = new Font(bfTimes, 12, iTextSharp.text.Font.BOLD, iTextSharp.text.BaseColor.RED); | ||||||||||||||||
Font palatino = FontFactory.GetFont(@"c:\windows\fonts\msmincho.ttc,0", BaseFont.CP1252, BaseFont.EMBEDDED, 10, Font.ITALIC, BaseColor.GREEN); | ||||||||||||||||
//--------------------template1-------------------- | ||||||||||||||||
FileStream ReadPdf = new FileStream(_tempfilename01, FileMode.Create); | ||||||||||||||||
//pdf reader | ||||||||||||||||
_pdfReader = new PdfReader(_sourcefilename01); | ||||||||||||||||
_pdfStamper = new PdfStamper(_pdfReader, ReadPdf); | ||||||||||||||||
_pdfStamper.AcroFields.AddSubstitutionFont(_baseFont); | ||||||||||||||||
////set field: MSゴシック | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_print_date", "textfont", _baseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_print_time", "textfont", _baseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_jusyo_kana", "textfont", _baseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_hoken_syurui", "textfont", _baseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info1", "textfont", _baseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info2", "textfont", _baseFont, null); | ||||||||||||||||
//Font font = FontFactory.GetFont(FontFactory.COURIER, 8f, iTextSharp.text.Font.BOLD); | ||||||||||||||||
////_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info2", "textfont", font.BaseFont, null); | ||||||||||||||||
//_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info2", "textfont", times.ToString(), null); | ||||||||||||||||
Font font = new Font(_baseFont, 8f, iTextSharp.text.Font.BOLD); | ||||||||||||||||
FontFactory.Register(@"c:\windows\fonts\msmincho.ttc,0", "myFont"); | ||||||||||||||||
//FontFactory.GetFont(FontFactory.GetFont("myFont").ToString(), 28,iTextSharp.text.BaseColor.RED); | ||||||||||||||||
Font myFont = FontFactory.GetFont("myFont"); | ||||||||||||||||
//Font myFont = FontFactory.GetFont("myFont", 56, Font.BOLD); | ||||||||||||||||
BaseFont bf = myFont.BaseFont; | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_print_date", "textfont", bf, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_print_time", "textfont", bf, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_jusyo_kana", "textfont", bf, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_hoken_syurui", "textfont", bf, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info1", "textfont", bf, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetFieldProperty("f_sfx_info2", "textfont", _baseFont, null); | ||||||||||||||||
_pdfStamper.AcroFields.SetField("f_print_date", "2016/7/07"); | ||||||||||||||||
_pdfStamper.AcroFields.SetField("f_print_time", "13:21"); | ||||||||||||||||
_pdfStamper.AcroFields.SetField("f_jikoseiribango", "1332658-9"); | ||||||||||||||||
_pdfStamper.AcroFields.SetField("f_karino", "040A0001664"); | ||||||||||||||||
//編集不可設定 | ||||||||||||||||
_pdfStamper.FormFlattening = true; | ||||||||||||||||
_pdfStamper.Close(); | ||||||||||||||||
_pdfReader.Close(); | ||||||||||||||||
ReadPdf.Close(); | ||||||||||||||||
// 合成pdf文件 | ||||||||||||||||
string _targetfilename = "faxcre_000.pdf"; | ||||||||||||||||
string _tempfilename = path + @"\TEMP\" + TEMP_PREXFIX + _targetfilename; | ||||||||||||||||
PdfReader reader01; | ||||||||||||||||
Document document = new Document(); | ||||||||||||||||
PdfSmartCopy copy = new PdfSmartCopy(document, new FileStream(_tempfilename, FileMode.Create)); | ||||||||||||||||
document.Open(); | ||||||||||||||||
reader01 = new PdfReader(_tempfilename01); | ||||||||||||||||
copy.AddDocument(reader01); | ||||||||||||||||
reader01.Close(); | ||||||||||||||||
if (File.Exists(_tempfilename01)) | ||||||||||||||||
{ | ||||||||||||||||
File.Delete(_tempfilename01); | ||||||||||||||||
} | ||||||||||||||||
_pdfStamper.Dispose(); | ||||||||||||||||
_pdfReader.Dispose(); | ||||||||||||||||
ReadPdf.Dispose(); | ||||||||||||||||
document.Close(); | ||||||||||||||||
PDF按模板出力,多个PDF合并的更多相关文章
- java根据模板HTML动态生成PDF
原文:https://segmentfault.com/a/1190000009160184 一.需求说明:根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看. 二.解决方案: ...
- pdf 使用模板下载
//根据模板下载模板 /** * * 政策5-8条的创建的pdf的模板 */public String createPdfCashTemplate(PdfCashParam pdfCashParam) ...
- iTextSharp生成pdf含模板(二)---C#代码部分
参考地址:https://www.cnblogs.com/ibeisha/p/itextsharp-pdf.html 一.先在程序中使用Nuget安装iTextSharp(我是创建的控制台程序) 二. ...
- 使用pdf文本域模板生成对应的pdf
第一步: 下载jar包 <!-- itext的pdf的依赖--> <dependency> <groupId>com.itextpdf</groupId> ...
- 【PDF】java使用Itext生成pdf文档--详解
[API接口] 一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ...
- 【强大的PDF格式转换工具】Lighten PDF Converter OCR for Mac 6.2.0
[简介] Lighten PDF Converter OCR 是一款Mac上强大的PDF格式转换工具,可以将PDF文档快速批量的转换为Office (Word, Excel, PowerPoint), ...
- Word转pdf,再转图片插入PDF
WORD转PDF所需jar包: https://yangtaotao.lanzous.com/ice1jlc PDF转图片所需jar包: https://yangtaotao.lanzous.com/ ...
- 插件Spire.PDF帮你高效搞定PDF打印
Spire.PDF介绍 Spire.PDF是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight.Spire.PDF的PDF ...
- 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
随机推荐
- Linux 数据流重定向
1.三种数据流重定向1)标准输入(stdin):代码为0,使用0<或0<<,其中代码0可以省略2)标准输出(stdout):代码为1,使用1>或1>>,其中代码1可 ...
- 【转】用 PHP 内置函数 file_put_contents 写入文件
PHP 内置函数 file_put_contents 用于写入文件. file_put_contents 函数最简单的写法,可以只用两个参数,一个是文件路径,一个是要写入的内容,语法如下: file_ ...
- 一步一步理解Paxos算法
一步一步理解Paxos算法 背景 Paxos 算法是Lamport于1990年提出的一种基于消息传递的一致性算法.由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到 TOCS ...
- 基于LBS的地理位置附近的搜索以及由近及远的排序
Nosql学习之Redis资料(一) http://redis.io/download 目前基于LBS地理位置的搜索已经应用非常广了,的确是个很方便的东西. 我们做程序的就是要考虑如何通过这些功能,来 ...
- C语言strlen函数和sizeof操作符
字符'x'于字符串"x"的区别 'x' 属于基本类型(char)字符类型-----------------由1个字符组成('x') "x"属于派生类型(char ...
- mysql5.7.9 源码安装 (转)
1,安装所有包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgc ...
- 关于双击事件.MouseEvent.DOUBLE_CLICK
as3提供了双击事件的调用,但有时候碰到双击事件无法响应,所以总结下原因.先摘录一段官方关于 doubleClick 事件发生的条件.如果 InteractiveObject 的 doubleClic ...
- CK方程
上文中,“到时间n为止进入任意一个特定的状态集合”应理解为“在时间n及之前进入的都算”. 只要进入了该状态集合,之后是否离开已经不重要了.这个可类比于“先赢若干局”的赌徒问题:即使在赢得若干局后继续赌 ...
- Spring实战4:面向切面编程
主要内容 面向切面编程的基本知识 为POJO创建切面 使用@AspectJ注解 为AspectJ的aspects注入依赖关系 在南方没有暖气的冬天,太冷了,非常想念北方有暖气的冬天.为了取暖,很多朋友 ...
- C++编程新思维中的技巧
1.编译器断言 技巧大致跟后面的一样,都是利用偏特化,但是在C++ 0X里面已经有static_assert,所以感觉这东西也没什么用处了,更多的只是开阔眼界 2.偏特化 就是专门对一个类型去进行特殊 ...