|
|
|
проблемма с печатью графиков сигналов
|
|||
|---|---|---|---|
|
#18+
Добрый день, вернее утро. Есть html-страничка на которой русуеться график технологического процесса. Столкнулись с вот с какой проблеммой: если эту страницу смотреть на 23 дюймовом мониторе то не график помешаеться на странице формата А4. Не поскажите как мона график привести к размеру А4. Думаю самый простой способ получить графическую копию графика, так как стандартными средствами граф. файл легко масштабируеться к любому размеру. Хотя могу ощибаться Всем спасибо. Р. S. Вот код страницы <HTML xmlns:v='urn:schemas-microsoft-com:vml'><head><script language=JavaScript> <!-- var xxx, yyy, nnn, ggg, kolGr = 1; var grR, grW, startG = 28800, flag = 0; var SelData1 = new Array(0,0,1,3,5,7,9,11,13,15,17,20,23,28,32,36,39,42,45,48,51,54,57,60,63,66,68,70,72,74,76,78,79,80,81,82,84,85,88,89,90,91); var SelTime1 = new Array(0,-10007,2490,2497,2505,2511,2519,2526,2535,2540,2548,2553,2561,2567,2574,2582,2590,2595,2602,2610,2618,2625,2631,2638,2646,2653,2659,2666,2673,2681,2689,2695,2703,2708,2716,2724,2729,2737,2745,2753,2934,2969); var min_1 = -8, max_1 = 96; function reFreshGr(){ loadGr(min_1, max_1);} function DoublCl(){ var RetVol = window.showModalDialog('../Refresh.html', ''+min_1+';'+max_1+';0;0'+';0;0'+';0;0'+';0;0', 'dialogWidth:400px;dialogHeight:400px;help=no;status=0;dialogHide=1'); var RetParam = new Array(); RetParam = RetVol.split(';'); for (ii=0; ii<10; ii++) if (!RetParam[ii].length) RetParam[ii] = '0'; min_1 = parseInt(RetParam[0]); max_1 = parseInt(RetParam[1]); reFreshGr(); return false;} function reSizeWin(){ hhhh = document.body.clientHeight; wwww = document.body.clientWidth; for (ii = 0; ii < 1; ii++){ bbbb = 0.97 * hhhh / 1 * (ii+1) - 30; tttt = 0.97 * hhhh / 1 * ii; divL = eval("lineHor" + ii); divL.innerHTML = "<v:line from='16," + bbbb + "' to='"+(wwww - 30)+"," + bbbb + "'><v:stroke endarrow='block'endarrowwidth='narrow' endarrowlength='short'/></v:line>"; divL = eval("lineVer" + ii); divL.innerHTML = "<v:line from='16," + bbbb + "' to='16,"+tttt+"'><v:stroke endarrow='block'endarrowwidth='narrow' endarrowlength='short'/></v:line>"; for ( iii = 1; iii < 7; iii++){ vvvv = bbbb - (bbbb-tttt) / 6 * iii;divL = eval("multyLine"+ii+"_"+iii); divL.innerHTML = "<v:line strokecolor='#C0C0C0' from='16,"+vvvv+"' to='"+(wwww - 30)+","+vvvv+"'><v:stroke dashstyle='dashdot'/></v:line>"; } for (iii = 0; iii < 7; iii++){ vvvv = 16 + iii * (wwww-30-16) / 6; if ( iii ){ divL=eval("multyLineV"+ii+"_"+iii); divL.innerHTML = "<v:line strokecolor='#C0C0C0' from='"+vvvv+","+bbbb+"' to='"+vvvv+","+tttt+"'><v:stroke dashstyle='longDashDot'/></v:line>";} divL = eval("timeText"+ii+"_"+iii); divL.style.left = vvvv; divL.style.top = bbbb+16; } divL = eval("mouse"+ii); divL.style.top = tttt; divL = eval("namePar"+ii); divL.style.top = hhhh*0.97 * ii; } nameD.style.left = wwww - 145; bbut.style.left = wwww - 55; reFreshGr(); } function GrafCl() { flag = !flag; return false; } function zeroInt(vvv) { vvv = parseInt(vvv); if ( vvv < 10 ) return '0'+vvv; return vvv; } function printit(){ bbut.style.visibility='hidden'; window.print(); bbut.style.visibility='visible'; } function checkKey() { if (window.event.keyCode == 39 ) { if ( flag || xxx > (grR+10)) return; xxx++; drawLineV(); } else if (window.event.keyCode == 37 ) { if ( flag || xxx < 26) return; xxx--; drawLineV(); } } function drawLineV() { lineG.innerHTML = "<v:line from='" + (xxx-10) + ",0' to='" + (xxx-10) + ',' + (0.97 * document.body.clientHeight - 30) +"' strokecolor='#808080'></v:line>"; ggg = startG + (xxx-26)*3000/grW/10; nameD.innerHTML = '<b>Время: ' + zeroInt(ggg/3600) + ':' + zeroInt((ggg%3600)/60)+ ':' + zeroInt(ggg%60) + '</b>'; ggg = (ggg - startG) * 10; for ( ii = 0; ii<kolGr; ii++ ) { iii = 2; nnn = eval("SelData" + (ii+1)); nnnT = eval("SelTime" + (ii+1)); while ( iii < nnnT.length ) { if ( ggg < nnnT[iii] ) break; iii++; } nnnT = eval("mouse"+ii); yyy = '' + nnn[iii-1]; nnnT.innerHTML = '<b>'+yyy.substr(0,7)+'</b>'; } } function fnMouseMove(){ xxxx = event.x; if ( !flag || xxxx < 26 || xxxx > (grR+10) || xxx==xxxx) return; xxx = xxxx; drawLineV(); return;} function graficDiskr(grB, grT, dVol, dTime) { gr_Y = (grB + grT ) / 2; gr_N = (3 * grB + grT) / 4; longStr = "<v:polyline filled='f' strokecolor='#0000FF' points='"+(preT = 16)+","+(preV = dVol[1] ? gr_Y : gr_N); iii = 2; while ( iii < dVol.length ){ nasV = dVol[iii] ? gr_Y : gr_N; preT = 16 + dTime[iii] * grW / 3000; longStr += ("," + preT + "," + preV + "," + preT + "," + nasV); preV = nasV; iii++; } return (longStr + "," + grR + "," + preV + "'></v:polyline>"); } function grafik(min, max, grB, grT, volData, volTime, numGr) { var ii, foL = 0, grH = grB - grT, nasV, preV, razn = max-min; var tMore = '', preT; for ( ii = 0; ii < (8-kolGr); ii++) { nasV = grB - grH / (7-kolGr) * ii; preV = '' + (min + ii * razn / (7 - kolGr)); nnn = eval('multyTime' + (numGr - 1)+ '_' + ii); nnn.innerText = preV.substr(0,5); nnn.style.top = nasV + 8; } if ( volData[1] < min ) preV = grB; else if ( volData[1] > max ) preV = grT; else {//1 preV = grB - (volData[1] - min) * grH / razn; tMore += ("<v:polyline filled='f' strokecolor='#FF0000' points='" + 16 + ',' + preV + ','); } ii = 2; while ( ii < volData.length ) { preT = 16 + grW * volTime[ii] / 3000; if ( volData[ii-1] >= min && volData[ii-1] <= max) { //2 tMore += (preT + ',' + preV + ','); if ( volData[ii] < min ) //3 tMore += (preT + ',' + grB + "'></v:polyline>"); else if ( volData[ii] > max) //4 tMore += (preT + ',' + grT + "'></v:polyline>"); else //5 { preV = grB - (volData[ii] - min) * grH / razn; tMore += (preT + ',' + preV + ','); } } else if( volData[ii] >= min && volData[ii] <= max) //6 { //7 tMore += "<v:polyline filled='f' strokecolor='#FF0000' points='"; if( volData[ii-1] < min) //8 tMore += (preT + ',' + grB + ','); else tMore += (preT + ',' + grT + ','); preV = grB - (volData[ii] - min) * grH / razn; tMore += (preT + ',' + preV + ','); } ii++; } if ( volData[ii-1] >= min && volData[ii-1] <= max) //9 tMore += (grR + ',' + preV + "'></v:polyline>"); return tMore; } function loadGr(min1, max1){ grR = document.body.clientWidth - 30; grW = grR - 16; var grafT1 = document.body.clientHeight * (0); var grafB1 = document.body.clientHeight * (0.97) - 30; grafVOL1.innerHTML = ('' + grafik(min1, max1, grafB1, grafT1, SelData1, SelTime1, 1)); lineG.innerHTML = ""; } // --> </script><meta http-equiv=Content-Type content='text/html;charset=windows-1251'><META HTTP-EQUIV='Expires' CONTENT='July 20, 1996 14:25:27 ETS'><style> v\:* {behavior:url(#default#VML); position:absolute;} </style><title>Аналоговые сигналы за 24 апреля 2007 г. c 8 длительностью 5 мин.</title></head><body onmousemove='fnMouseMove()' onkeydown='checkKey()' ondblclick='DoublCl()' onclick='GrafCl()' onresize='reSizeWin()' text='000000'><script language=JavaScript> <!-- for (ii = 0; ii < 1; ii++){ document.write("<div id=lineHor"+ii+"></div>"); document.write("<div id=lineVer"+ii+"></div>"); for ( iii = 0; iii < 7; iii++){ if ( iii ) document.write("<div id=multyLine"+ii+"_"+iii+"></div>"); document.write("<div id=multyTime"+ii+"_"+iii+" style='position:absolute;left:0;font-size=8pt'>===</div>"); } for (iii = 0; iii < 7; iii++){ if ( iii ) document.write("<div id=multyLineV"+ii+"_"+iii+"></div>"); nnnn = 0 + iii * 5 / 6; document.write("<div id=timeText"+ii+"_"+iii+" style='position:absolute;font-size=8pt'>"+(zeroInt(nnnn > 59 ? (8 + nnnn/60)%24 : 8))+":"+(zeroInt(nnnn%60))+"</div>"); } document.write("<div id='mouse"+ii+"' style='position:absolute;left:90;font-size=8pt'>.</div>"); } document.write("<div id=namePar0 style='position:absolute;left:150;font-size=8pt'>Угол поворота конвертера №1</div>") // --> </script><div ID=grafVOL1></div> <div id=diskrVOL1></div> <INPUT id='bbut' style='position:absolute;top:0;font-size=7pt' TYPE=button VALUE='печать' onClick='printit()'><div id=nameD style='position:absolute;top:0;font-size=8pt'>---</div> <span id=lineG></span><script language=JavaScript> <!-- reSizeWin(); flag = 0; // --> </script></body></html> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 06:39 |
|
||
|
проблемма с печатью графиков сигналов
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 08:29 |
|
||
|
проблемма с печатью графиков сигналов
|
|||
|---|---|---|---|
|
#18+
Во первых не хочеться все переделывать, хотя скорее придеться во вторых в 40% у пользователь урезаны права и не получиться установить вьер для просмотра флеша, так это производство да и компов порядка 2-х сотен Ну и последнее не работал со флешем я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 11:08 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1458410]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 369ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...