asp.net 인쇄 컨트롤 사용 방법

인쇄 의 효과 와 통제 성 은 그리 좋 지 않 지만 억지로 사용 할 수 있 으 므 로 일반적인 인쇄 에 대처 하 는 것 이 좋다.코드 는 다음 과 같 습 니 다.코드
 
// PrintControl.ExecWB(?,?) 。( print() )
//preview: 。null/false: ,true:
function printPage(preview)
{
try
{
var content=window.document.body.innerHTML;
var oricontent=content;
while(content.indexOf("{$printhide}")>=0) content=content.replace("{$printhide}","style='display:none'");
if(content.indexOf("ID=\"PrintControl\"")<0) content=content+"<OBJECT ID=\"PrintControl\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
window.document.body.innerHTML=content;
//PrintControl.ExecWB(7,1) ,(1,1) ,(4,1) ,(17,1) ,(10,1) ,(6,1) ,(6,6) ,(8,1)
if(preview==null||preview==false) PrintControl.ExecWB(6,1);
else PrintControl.ExecWB(7,1); //OLECMDID_PRINT=7; OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1
window.document.body.innerHTML=oricontent;
}
catch(ex){ alert(" Javascript 。"); }
}
function printConten(preview, html)
{
try
{
var content=html;
var oricontent=window.document.body.innerHTML;
while(content.indexOf("{$printhide}")>=0) content=content.replace("{$printhide}","style='display:none'");
if(content.indexOf("ID=\"PrintControl\"")<0) content=content+"<OBJECT ID=\"PrintControl\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
window.document.body.innerHTML=content;
//PrintControl.ExecWB(7,1) ,(1,1) ,(4,1) ,(17,1) ,(10,1) ,(6,1) ,(6,6) ,(8,1)
if(preview==null||preview==false) PrintControl.ExecWB(6,1);
else PrintControl.ExecWB(7,1); //OLECMDID_PRINT=7; OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1
window.document.body.innerHTML=oricontent;
}
catch(ex){ alert(" Javascript 。"); }
}
위의 두 함 수 는 하나의 Js 파일 에 놓 여 있 습 니 다.페이지 내용 에서 이 스 크 립 트 파일 을 응용 하고 더 봉 인 된 함 수 를 호출 하면 지정 한 부분의 내용 을 인쇄 할 수 있 습 니 다
 
<script language="javascript">
function Print(preview) {
var text = document.getElementById("content").innerHTML;
printConten(preview, text);
}
인쇄 효 과 는 대체적으로 다음 그림 과 같 습 니 다.만약 에 인쇄 된 페이지 가 프레임 페이지 에 있다 면...그러면'선택 한 프레임 만 인쇄 하기'옵션 을 선택해 야 합 니 다
이런 방법 을 사용 하면 어떠한 컨트롤 도 설치 하지 않 아 도 좋 은 호환성 을 가진다.그러나 나 온 보고서 내용 은 통제 하기 가 비교적 번 거 로 울 것 같다.특히 일부 보고서 의 인쇄 에 있어 복잡 한 내용 을 출력 해 야 하 는 것 은 어느 정도 결함 이 있 지만 전체적으로 보면 좋 은 선택 이다.
나중에 증명서 세트 작업 을 해 야 하기 때문에 이 컨트롤 은 할 수 없 기 때문에 방법 이나 컨트롤 이 필요 해서 세트 작업 을 잘 처리 할 수 있 습 니 다.
본의 아니 게 비교적 좋 은 인쇄 컨트롤 을 발 견 했 습 니 다.각종 형식의 인쇄 를 지원 하고 제 가 관심 을 가 지 는 증명서 세트 기능 도 있 습 니 다.기능 이 강하 고 사용 도 간단 합 니 다.추천 할 만 합 니 다.
컨트롤 주소:
컨트롤 다운로드
컨트롤 블 로그 소개:https://www.jb51.net/codes/23956.html
 
이 컨트롤 을 사용 하면 일반 보고서 의 인쇄 효 과 는 다음 과 같 습 니 다.

 
위의 두 보고서 의 인쇄 는 사실 차이 가 많 지 않 고 모두 인쇄 부분의 HTML 내용 이지 만 후 자 는 좀 좋아 보이 고 완선 한 보고서 기능 설정 을 제공한다.
코드 는 대체로 다음 과 같다.코드
 
<script language="javascript">
function Print(preview) {
var text = document.getElementById("content").innerHTML;
printConten(preview, text);
}
</script>
<script language="javascript" src="http://www.cnblogs.com/Scripts/CheckActivX.js"></script>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> </object>
<script language="javascript">
var LODOP = document.getElementById("LODOP"); // DTD
CheckLodop();
</script>
<script language="javascript" type="text/javascript">
function Preview() {//
CreateLicenseData();
LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1);
LODOP.PREVIEW();
};
function Setup() {//
CreateLicenseData();
LODOP.PRINT_SETUP();
};
function Design() {//
CreateLicenseData();
LODOP.PRINT_DESIGN();
};
function CreateLicenseData() {
LODOP.PRINT_INIT(" ");
LODOP.ADD_PRINT_HTM(20, 40, 610, 900, document.all("content").innerHTML);
LODOP.PREVIEW();
}
</script>
우리 도 없 는 내용 이 CSS 를 통 해 아름 다운 것 을 제어 하 는 경우 가 많 습 니 다.그래서 가끔 은 HTML 부분 을 인쇄 합 니 다.이런 스타일 이 없 으 면 나 오 는 Table 형식 과 글꼴 이 달라 지고 예 쁘 지 않 을 수도 있 습 니 다.그럼 HTML 스타일 설정 이 필요 합 니 다
인쇄 내용 에 스타일 을 설정 하면 화면 효과 가 많이 좋아 집 니 다.
4.567916.스타일 을 설정 하 는 코드 는 다음 과 같다.코드

좋은 웹페이지 즐겨찾기