データベースからのページロード画像パスが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内でレンダリングせずに画像を印刷するシナリオが必要です