itextsharp操作pdf删除某页

itextsharp没有删除方法,所以只能新建一个空的pdf,把你想留下的内容放在新的pdf里:

iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(oldPath);
            
iTextSharp.text.Document pdfDocument = new iTextSharp.text.Document();
iTextSharp.text.pdf.PdfWriter pdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDocument, new FileStream(pdfPath, FileMode.Create, FileAccess.ReadWrite));

pdfDocument.Open();
for (int i = 2; i < pdfReader.NumberOfPages + 1; i++)
{
    pdfDocument.NewPage();
    pdfDocument.PageCount = i-1;
    iTextSharp.text.pdf.PdfContentByte cb = pdfWriter.DirectContent;
    cb.AddTemplate(pdfWriter.GetImportedPage(pdfReader, i), 0, 0);
}

pdfDocument.Close();
### 使用iTextSharpPDF文档中的指定面进行编辑 为了针对PDF文档中的特定面执行操作,`iTextSharp`提供了多种方法来访问并修改单个面的内容。下面展示了一个具体的例子,说明怎样打开现有的PDF文件并对其中某一添加文本。 ```csharp using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; public void EditSpecificPage(string inputPdfPath, string outputPdfPath, int pageNumber) { // 打开原始PDF读取器实例 var reader = new PdfReader(inputPdfPath); // 创建一个新的临时内存流用于保存更改后的PDF数据 using (var ms = new MemoryStream()) { // 将输入的PDF复制到新的内存流中 using (var stamper = new PdfStamper(reader, ms)) { // 获取指定的对象 var pageContentByte = stamper.GetOverContent(pageNumber); // 设置字体和大小 BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); // 添加新文本至该 pageContentByte.BeginText(); pageContentByte.SetFontAndSize(bf, 18); pageContentByte.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "This is a test", 300, 600, 0); pageContentByte.EndText(); stamper.FormFlattening = true; } // 关闭reader以便释放资源 reader.Close(); // 把处理过的PDF写入目标路径 File.WriteAllBytes(outputPdfPath, ms.ToArray()); } } ``` 这段代码展示了如何通过`PdfStamper`类加载一个已有的PDF文件,并在其上应用改动——这里是在第`pageNumber`中心位置增加了一条消息[^2]。 对于更复杂的编辑需求,比如调整面布局、替换图片或是改变已有文本样式等,则可能涉及到更多高级特性的运用以及深入理解`iTextSharp` API 的细节[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值