打印网页中特定内容的实现方法-----网络收集

由于工作的需要,要求打印网页。而且是网页中的指定内容。有点多次一举“可是这就是客户的需求!!~”(某高人语)。收集了两个比较合适的解决方法。
首先是用JAVASCRIPT,以下是函数
<script language="javascript" type="text/javascript">
<!--

function Button3_onclick() 
{
bdhtml
=window.document.body.innerHTML;
 sprnstr
="<!--startprint-->";
 eprnstr
="<!--endprint-->";
 prnhtml
=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
 prnhtml
=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
 window.document.body.innerHTML
=prnhtml;
 window.print();

}

</script>

应用时把要打印的内容放到<!--startprint-->和<!--endprint-->之间。
二是C# documment类和print类的实现:
using System;
using System.ComponentModel;
using System.Collections;
using System.Drawing;
using System.Drawing.Printing;
using System.Globalization;
using System.IO;
using Print = System.Drawing.Printing.PrintDocument;

namespace Sanxing.NdtReprot.Internal
{
    
/// <summary>
    
/// 表示专用于大量文本打印的对象,该对象将输出至打印机。
    
/// </summary>

    [Description("表示专用于大量文本打印的对象,该对象将输出至打印机。")]
    
internal sealed class TextPrintDocument : Print, IDisposable
    
{
        
私有变量

        
属性

        
构造器

        
方法

        
私有帮助器

        
IDisposable 成员
    }


    
/// <summary>
    
/// 指定打印文本的模式。
    
/// </summary>

    internal enum PrintTextMode
    
{
        
/// <summary>
        
/// 换行文本。
        
/// </summary>

        WrapText,
        Truncate,
        BannerLike
    }

}

以上demo不是本人编写
posted @ 2006-08-16 11:39  郭大少  阅读(1713)  评论(1编辑  收藏  举报