zoukankan      html  css  js  c++  java
  • C# 打印多页tif

    注意点:

    1.计算image对象总页数

    image.GetFrameCount(FrameDimension.Page);

    2.初始化当前页,并获取指定页内容

    image.SelectActiveFrame(FrameDimension.Page, m_CurrentPage);
    

    3.设置PrintPage时间PrintPageEventArgs参数值,判断是否有额外页打印(次数是打印多页关键)

    e.HasMorePages = (m_CurrentPage < m_PageCount);
    

      

    基本DEMO(转载)

    private Image m_Image;
    private Int32 m_CurrentPage;
    private Int32 m_PageCount;
    
    private void Form1_Load(object sender, EventArgs e)
    {
        m_Image = Image.FromFile(".\Test-2-Page-Image.tif");
        m_PageCount = m_Image.GetFrameCount(FrameDimension.Page);
    }
    
    private void printDocument_BeginPrint(object sender, PrintEventArgs e)
    {
        m_CurrentPage = 0;
        m_PageCount = m_Image.GetFrameCount(FrameDimension.Page);
    }
    
    private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
    {
        m_Image.SelectActiveFrame(FrameDimension.Page, m_CurrentPage);
        e.Graphics.DrawImage(m_Image, 0, 0);
        ++m_CurrentPage;
        e.HasMorePages = (m_CurrentPage < m_PageCount);
    }
    
    private void btnPrint_Click(object sender, EventArgs e)
    {
        printDocument.Print();
    }
    

      

  • 相关阅读:
    asp.net 启动关闭iis
    vue 界面关闭触发事件 ---实例销毁之前调用
    ElmentUI 设置禁止点击遮罩关闭 el-dialog 弹窗
    C#反射
    SQL Server 创建游标(cursor)
    文件解压缩
    文件流操作
    Linq查询
    C#线程 多线程 进程
    匿名类型和反射
  • 原文地址:https://www.cnblogs.com/ericyi/p/4577306.html
Copyright © 2011-2022 走看看