c#操作pdf文件系列之创建文件
1.我使用的工具是vs2013,引用的第三方程序集itextpdf 具体安装方法,可以通过nuget搜索iTextSharp然后进行安装。
2具体代码如下 创建两个不同pdf文件,每个地方什么意思代码中已经详细加了注释。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Diagnostics;
namespace pdfWriter
{
class Program
{
static void Main(string[] args)
{
CreatePdf();
}
/// <summary>
/// create pdf
/// </summary>
private static void CreatePdf()
{
iTextSharp.text.Document doc1 = new Document(PageSize.A4);
iTextSharp.text.Document doc2 = new Document(PageSize.A4); try
{
PdfWriter.GetInstance(doc1, new FileStream(@"D:\test1.pdf", FileMode.Create));
PdfWriter.GetInstance(doc2, new FileStream(@"D:\test2.pdf", FileMode.Create)); #region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成
doc1.AddAuthor("cxa");
doc1.AddCreationDate();
doc1.AddCreator("cxa");
doc1.AddSubject("使用Do Net 创建了一个pdf1");
doc1.AddTitle("这是个标题");
doc1.AddKeywords("什么是keyword?不清楚反正这是个keyword"); doc2.AddAuthor("cxa");
doc2.AddCreationDate();
doc2.AddCreator("cxa");
doc2.AddSubject("使用Do Net 创建了一个pdf2");
doc2.AddTitle("这是个标题");
doc2.AddKeywords("什么是keyword?不清楚反正这是个keyword");
//自定义头
doc1.AddHeader("Expires", "0"); //0表示立即过期。我猜是立即生效
doc2.AddHeader("Expires", "0"); //0表示立即过期。我猜是立即生效
#endregion //打开document,此时打开啥呀没有
doc1.Open();
doc2.Open();
//载入字体
BaseFont bf = BaseFont.CreateFont("C:/Windows/Fonts/SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf);
doc1.Add(new Paragraph("这是一个由C#创建的pdf文件,6661", font));
doc2.Add(new Paragraph("这是一个由C#创建的pdf文件,6662", font));
doc1.Close();
doc2.Close();
Process.Start(@"D:\test1.pdf");
Process.Start(@"D:\test2.pdf");
}
catch (DocumentException de)
{
Console.WriteLine(de.Message); Console.ReadKey();
}
catch (IOException io) {
Console.WriteLine(io.Message); Console.ReadKey();
}
}
}
}
c#操作pdf文件系列之创建文件的更多相关文章
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- 【HDFS API编程】查看HDFS文件内容、创建文件并写入内容、更改文件名
首先,重点重复重复再重复: /** * 使用Java API操作HDFS文件系统 * 关键点: * 1)创建 Configuration * 2)获取 FileSystem * 3)...剩下的就是 ...
- Java创建文件夹、创建文件、上传文件,下载文件
1.创建文件夹 /** * 判断文件夹是否存在 * @param myPath */ public static void judeDirExists(File myPath) { if (!myPa ...
- Linux 删除文件夹和创建文件的命令
删除文件夹实例:rm -rf /var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 删除文件使用实例: rm -f /var/log ...
- PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限
一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前 ...
- centos下vsftpd登录后无法看见文件,无法创建文件及文件夹
centos下vsftpd不能显示文件,不能创建文件及文件夹 这是由于selinux的机制 运行如下命令查看: [root@SZCLC6X-AMP-4393 www]# getsebool -a|gr ...
- JetBrains系列IDE创建文件模板
#coding:utf-8 ''' @version: python3.6 @author: '$USER' @license: Apache Licence @contact: steinven@q ...
- [Xcode 实际操作]七、文件与数据-(2)创建文件夹
目录:[Swift]Xcode实际操作 本文将演示如何创建文件夹. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ViewC ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
随机推荐
- DjangoORM使用mysql注意
注意事项1:需要在project下的setting里面做设置.让Django生成MySQL类型的数据库. 注意事项2:在Django内部,连MySQL的时候,需要添加下面2句代码: 4.******* ...
- jQuery高度及位置操作
1. 获取滑轮位置,scrolltop:上下滚动的意思. <!DOCTYPE html> <html lang="en"> <head> < ...
- 【比赛】HNOI2018 毒瘤
虚树+dp 直接看zlttttt的强大题解 zlttttt的题解看这里 #include<bits/stdc++.h> #define ui unsigned int #define ll ...
- ZJOI2018 D1
归途的车上满是悲伤的气息 虽然早就预言到D1会滚粗,但一切都结束之后还是特别难过. 延时15min 50min T1 30pts 1.5h T2 10pts 2.5h T1 50pts 4.5h T3 ...
- Windows用户相关操作
获取所有用户 NET_API_STATUS NetUserEnum( LPCWSTR servername, DWORD level, DWORD filter, LPBYTE* bufptr, DW ...
- Redis Scan迭代器遍历操作原理(一)
Redis在2.8.0版本新增了众望所归的scan操作,从此再也不用担心敲入了keys*, 然后举起双手看着键盘等待漫长的系统卡死了··· 命令的官方介绍在这里, 中文版由huangz同学细心翻译了, ...
- 「CodePlus 2017 11 月赛」可做题
这种题先二进制拆位,显然改的位置只有每一段确定的数的开头和结尾,只需要对于每一个可决策位置都尝试一下填1和0,然后取min即可. #include<iostream> #include&l ...
- 网络编程----粘包以及粘包问题的解决、FTP上传
一.粘包现象 让我们基于tcp先制作一个远程执行命令的程序(1:执行错误命令 2:执行ls 3:执行ifconfig) 注意注意: res=subprocess.Popen(cmd.decode('u ...
- 课程14:get和post是神马
http://www.codeschool.cn/lesson/14.html get和post是神马? get和post是http中两种最常用到的请求类型 简单理解get请求 get请求多用于获取信 ...
- 洛谷P1029 最大公约数和最小公倍数问题
题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为 ...