c# iText使用

作者 : admin 本文共1758个字,预计阅读时间需要5分钟 发布时间: 2024-06-10 共2人阅读

引入包

用nuget安装itext和itext.bouncy-castle-adapter包:
c# iText使用插图
c# iText使用插图(1)

创建pdf

string path = "a.pdf";
PdfWriter writer = new PdfWriter(path);
PdfDocument pdfDoc = new PdfDocument(writer);
var doc=new Document(pdfDoc);
Paragraph p = new Paragraph("hello,测试一下");
PdfFont font = PdfFontFactory.CreateFont(@"C:\Windows\Fonts\SIMKAI.TTF", PdfEncodings.IDENTITY_H);
p.SetFont(font);

doc.Add(p);
doc.Close();

操作表格

string path = "a.pdf";
PdfWriter writer = new PdfWriter(path);
PdfDocument pdfDoc = new PdfDocument(writer);
var doc = new Document(pdfDoc);
var headerTexts = new[] {
"标识", "姓名"
};
var table = new Table(headerTexts.Length)  // 设置表格列数
.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER);
//设置字体
PdfFont font = PdfFontFactory.CreateFont(@"C:\Windows\Fonts\SIMKAI.TTF", PdfEncodings.IDENTITY_H);
table.SetFont(font);
//添加表头
foreach (var header in headerTexts)
{
table.AddHeaderCell(new Cell()
.Add(new Paragraph(header))
.SetBold()//设置粗体
);
}
//第一行
table.AddCell(new Cell(0, 1).Add(new Paragraph("1"))//序号
.SetVerticalAlignment(iText.Layout.Properties.VerticalAlignment.MIDDLE))
.AddCell(new Cell(0, 1).Add(new Paragraph("abc,测试")).SetMinWidth(25)//姓名  设置最小列宽25,方便名字横向显示
.SetVerticalAlignment(iText.Layout.Properties.VerticalAlignment.MIDDLE));
//增加一行
table.StartNewRow();
//第二行
table.AddCell(new Cell(0, 1).Add(new Paragraph("2"))//序号
.SetVerticalAlignment(iText.Layout.Properties.VerticalAlignment.MIDDLE))
.AddCell(new Cell(0, 1).Add(new Paragraph("abc,测试2")).SetMinWidth(25)//姓名  设置最小列宽25,方便名字横向显示
.SetVerticalAlignment(iText.Layout.Properties.VerticalAlignment.MIDDLE));
//增加到文档
doc.Add(table);
//关闭文档
doc.Close();

读取文本

string path = "a.pdf";
PdfReader reader = new PdfReader(path);
PdfDocument pdfDoc= new PdfDocument(reader);
int numberOfPages = pdfDoc.GetNumberOfPages();
for(int i = 1; i <= numberOfPages; i++)
{
var page=pdfDoc.GetPage(i);
//提取文本
string s=PdfTextExtractor.GetTextFromPage(page);
}
reader.Close();
本站无任何商业行为
个人在线分享 » c# iText使用
E-->