Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблемма с печатью графиков сигналов / 4 сообщений из 4, страница 1 из 1
24.04.2007, 06:39
    #34482140
topa1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемма с печатью графиков сигналов
Добрый день, вернее утро.
Есть 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>
...
Рейтинг: 0 / 0
24.04.2007, 08:29
    #34482215
Green2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемма с печатью графиков сигналов
я бы рисовал во флеше

--



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.04.2007, 11:08
    #34482657
topa1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемма с печатью графиков сигналов
Во первых не хочеться все переделывать, хотя скорее придеться
во вторых в 40% у пользователь урезаны права и не получиться установить вьер для просмотра флеша, так это производство да и компов порядка 2-х сотен

Ну и последнее не работал со флешем я.
...
Рейтинг: 0 / 0
24.04.2007, 11:26
    #34482732
Куликов Алексей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемма с печатью графиков сигналов
Поставь своим пользователям IE7-ку там уже реализован механизм нормального размешения содержимого html-документа на листе заданных размеров.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблемма с печатью графиков сигналов / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]