记 iTextSharp 剪裁 PDF 指定区域的方法

原文

引用

itextsharp 5.5.13.2

itextsharp.xtra 5.5.13.2

方法

/// <summary>
/// 截取pdf文件,例如把A4截出指定的A6区域
/// </summary>
/// <param name="file"></param>
/// <param name="oldchar"></param>
/// <param name="repChar"></param>
/// <param name="size"></param>
public void CropDocument(string file, string oldchar, string repChar, iTextSharp.text.Rectangle size)
{
    int pageNumber = 1;//第一页
    PdfReader reader = new PdfReader(file);
    Document document = new Document(size);
    PdfWriter writer = PdfWriter.GetInstance(document,
    new FileStream(file.Replace(oldchar, repChar),
    FileMode.Create, FileAccess.Write));
    document.Open();
    PdfContentByte cb = writer.DirectContent;
    document.NewPage();
    PdfImportedPage page = writer.GetImportedPage(reader,
    pageNumber);
    cb.AddTemplate(page, 0, 0);
    document.Close();
}

用法

CropDocument("E:\Desktop\test.pdf","test.pdf","new.pdf",new iTextSharp.text.Rectangle(0,0,100,100));
//Rectangle参数说明
//圆点为页面左下角
//前两个参数x1,y1为区域的开始点
//后两个参数x2,y2为区域的结束点
posted @ 2021-12-27 22:09  ShaynChow  阅读(857)  评论(0编辑  收藏  举报