0

データベースからのページロード画像パスがPrintTest.aspxあり、それを div でレンダリングして、これらの画像を最大 20000 image まで印刷します 。

       for (int i = 0; i < Files.Count; i++)
    {
    HtmlImage image=new HtmlImage();
        image.ID="ImageAN"+i.ToString();
        image.Src=Files[i].ToString();
        image.Alt="PrintImage";
        image.Attributes.Add("class","PrintImage");

    div_Print.Controls.Add(image);
    }

次に、JavaScript 関数を呼び出して div_Print の内容を印刷します。

 this.ClientScript.RegisterStartupScript(this.GetType(), "ClientScript", " PrintContent('div_Print')", true);

JavaScript 関数 >

 <script type="text/javascript">
function PrintContent(divName) {
    var DocumentContainer = document.getElementById(divName);
    var WindowObject = window.open();
    WindowObject.document.writeln(DocumentContainer.innerHTML);
    WindowObject.document.close();
    WindowObject.focus();
    WindowObject.print();
    WindowObject.close();
}
</script>

しかし、このシナリオでは、ブラウザがクラッシュして閉じたままになります。

これを回避するか、HTML内でレンダリングせずに画像を印刷するシナリオが必要です

4

1 に答える 1