首页 新闻 搜索 专区 学院

C#如何实现图片的批量打印功能?

0
悬赏园豆:60 [已关闭问题]

我在本机上有一个文件夹,命名为Images,Images文件夹里包含多张图片,我现在想通过点击打印按钮实现对这个文件夹中所有图片的一次性打印,请问高手要如何实现呢?愁......

问题补充: 我想把每张图片放在单独的页面上打印出来,也就是说,当我点击批量打印按钮,如果images文件夹下有5张图片, 打印预览要显示5个页面!
熊出没的主页 熊出没 | 初学一级 | 园豆:0
提问于:2009-07-16 18:24
< >
分享
其他回答(1)
0

后台代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Lifetime;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DirectoryInfo imagesfile = new DirectoryInfo(Server.MapPath("./images"));
        DataList1.DataSource = imagesfile.GetFiles("*.jpg");
        DataList1.DataBind();
       

    }
   
}

前台代码:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>遍历文件夹下所有图片 http://blog.csdn.net/21aspnet 清清月儿</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;<asp:DataList ID="DataList1" runat="server" RepeatColumns="3">
            <ItemTemplate>
                <asp:image ID="Image1" runat="server" width="120" ImageUrl='<%#"images/" +Eval("Name")%>'/>
            </ItemTemplate>
        </asp:DataList></div>
    </form>
</body>
</html>

说明:如果大家想生成真正的缩略图就要在另个页面生成
ImageUrl='<%#"AAA.aspx 取得生成的结果即可。可参考以下代码:

 

 

Example: SimpleImageHandler.ashx
<%@ WebHandler Language="C#" Class="SimpleImageHandler" %>

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web;
using System.Web.Caching;

public class SimpleImageHandler : IHttpHandler {

    public void ProcessRequest(HttpContext context)
    {
        // Load image.
        Bitmap bmap = new Bitmap(@"C:\Temp\TEST.JPG");

        // You could do something here, e.g. add some texts to image.
        
        // Send back image.
        context.Response.ContentType = "image/jpeg";
        context.Response.BufferOutput = false;
        bmap.Save(context.Response.OutputStream, ImageFormat.Jpeg);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

jackyong | 园豆:149 (初学一级) | 2009-07-16 21:08
-1

这是打印一张的例子,你可以遍历文件,整个队列打印。

Code

winzheng | 园豆:8797 (大侠五级) | 2009-07-16 21:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册