Jump to content

vicentepc

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Comum

About vicentepc

  1. vicentepc

    apresentar número de página

    Desenvolvi um código em java em um Servlet para gerar uma página dinamicamente, que faz parte de uma API. De imediato, a página apresenta um cabeçalho com um botão Imprimir, um corpo padrão e um rodapé. Quando o usuário clicar no botão Imprimir, o conteúdo da página é visualizado em duas colunas (formatado com css para o navegador Chrome). Assim, o usuário poderá imprimi-la ou gravar o arquivo pdf como um documento em duas colunas. No entanto, desejo apresentar o número de cada página na parte superior direita. Como essa formatação está sendo realizada com CSS de forma dinâmica pelo Servlet, não estou conseguindo apresentar a numeração contínua em cada página. Como resolver isso? Por favor, se alguém possuir a solução, postar um código de exemplo.Uma parte do código Java está em anexo. Grato. html="<html>"+salto; html+="<head>"+salto; // html+="<link rel=\"stylesheet\" type=\"text/css\" href=\" + request.getContextPath() + \"style.css\" />"+salto; html+="<link rel=\"stylesheet\" type=\"text/css\" href=\"stylexx.css\" />"+salto; html+="<script type=\"text/javascript\" src=\"https://gc.kis.v2.scr.kaspersky-labs.com/A889A9A6-7DDA-F641-9080-50A30A6B2DB6/main.js\" charset=\"UTF-8\"></script>"+salto; //>>>>> script para number page /*html+="<script>"+salto; html+="pdfInfo = {};"+salto; html+="var x = document.location.search.substring(1).split('&');"+salto; html+="for (var i in x) { var z = x[i].split('=',2); pdfInfo[z[0]] = unescape(z[1]); }"+salto; html+="function getPdfInfo() {"+salto; html+=" var page = pdfInfo.page || 1;"+salto; html+=" var pageCount = pdfInfo.topage || 1;"+salto; html+=" document.getElementById('pdfkit_page_current').textContent = page;"+salto; html+=" document.getElementById('pdfkit_page_count').textContent = pageCount;"+salto; html+="}"+salto; html+="</script>"; */ html+="</head>"+salto; html+="<body onload=\"getPdfInfo()\">"+salto; //>> // html+="h1 { page-break-before: always;}"+salto; // html+="<h1>pág</h1>"; //> html+="<div class=\"page-header\" style=\"text-align: center\">"+salto; // html+=identificacao; html+="<br/>"+salto; html+="<button type=\"button\" onClick=\"window.print()\" style=\"background: #FFD700\">"+salto; html+="Imprimir"; html+="</button>"+salto; html+="</div>"+salto; html+="<div class=\"page-footer\">"+salto; html+="<div class=\"footer\">"+salto; //<input type="nome" name="" id="test" placeholder="Insira sua matéria aqui!"> //<button id="anexar">Anexar</button> html+="<div id=\"footer\"></div>"+salto; html+="</div>"+salto; html+="<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>"+salto; html+="<script>"+salto; html+=" $(document).ready(function(){"+salto; html+=" $(\"#anexar\").click(function(){"+salto; html+=" $(\"#anexar\").hide();"+salto; html+=" var texto = $(\"#test\").val();"+salto; html+=" $(\"#test\").hide();"+salto; html+=" $(\"#footer\").html(texto);"+salto; html+=" $(\"#footer\").show();"+salto; html+=" });"+salto; html+=" });"+salto; html+="</script>"+salto; html+=" </div>"+salto; html+="<table>"+salto; html+=" <thead>"+salto; html+=" <tr>"+salto; html+=" <td>"+salto; html+=" <!--place holder for the fixed-position header-->"+salto; html+=" <div class=\"page-header-space\"></div>"+salto; html+=" </td>"+salto; html+=" </tr>"+salto; html+=" </thead>"+salto; html+="<tbody>"+salto; html+="<tr>"+salto; html+=" <td>"+salto; html+=" <!--*** CONTENT GOES HERE ***-->"+salto; html+=" <div class=\"page\">"+salto; html+=" <div class=\"content\">"+salto; //elemento que mostra numero da pagina // html+="<div id=\"pdfkit_page_current\"></div>"+salto; rs = st.executeQuery(sql); String inicioP="";//"<p>"; String fimP="";//"</p>" String strBR="</br>"; while (rs.next()) { String texto1=inicioP+"<b>QUESTÃO No.: "+rs.getInt("numeroQuestao")+"</b><p/>"+salto; String texto2=inicioP+rs.getString("enunciado")+inicioP+strBR+salto; String alternativa=rs.getString("alternativaA"); int posicao=alternativa.indexOf("<p"); int posicaoPosP=-1; String alternativaParte1 = alternativa.substring(0,posicao+2); String novaAlternativa=""; if (posicao>=0) { for(int k=posicao;k<alternativa.length();k++) { if (alternativa.charAt(k)=='>') { posicaoPosP=k; break; } } if (posicaoPosP>0) { String alternativaP=alternativa.substring(0,posicaoPosP+1); novaAlternativa=alternativaP+"A) "+alternativa.substring(posicaoPosP+1); alternativa = novaAlternativa; } } String texto3=alternativa+fimP+strBR+salto; alternativa=rs.getString("alternativaB"); posicao=alternativa.indexOf("<p"); posicaoPosP=-1; alternativaParte1 = alternativa.substring(0,posicao+2); novaAlternativa=""; if (posicao>=0) { for(int k=posicao;k<alternativa.length();k++) { if (alternativa.charAt(k)=='>') { posicaoPosP=k; break; } } if (posicaoPosP>0) { String alternativaP=alternativa.substring(0,posicaoPosP+1); novaAlternativa=alternativaP+"B) "+alternativa.substring(posicaoPosP+1); alternativa = novaAlternativa; } } String texto4=alternativa+fimP+strBR+salto; alternativa=rs.getString("alternativaC"); posicao=alternativa.indexOf("<p"); posicaoPosP=-1; alternativaParte1 = alternativa.substring(0,posicao+2); novaAlternativa=""; if (posicao>=0) { for(int k=posicao;k<alternativa.length();k++) { if (alternativa.charAt(k)=='>') { posicaoPosP=k; break; } } if (posicaoPosP>0) { String alternativaP=alternativa.substring(0,posicaoPosP+1); novaAlternativa=alternativaP+"C) "+alternativa.substring(posicaoPosP+1); alternativa = novaAlternativa; } } String texto5=alternativa+fimP+strBR+salto; // texto5="<p>C)"+texto5+"</p>"; alternativa=rs.getString("alternativaD"); posicao=alternativa.indexOf("<p"); posicaoPosP=-1; alternativaParte1 = alternativa.substring(0,posicao+2); novaAlternativa=""; if (posicao>=0) { for(int k=posicao;k<alternativa.length();k++) { if (alternativa.charAt(k)=='>') { posicaoPosP=k; break; } } if (posicaoPosP>0) { String alternativaP=alternativa.substring(0,posicaoPosP+1); novaAlternativa=alternativaP+"D) "+alternativa.substring(posicaoPosP+1); alternativa = novaAlternativa; } } String texto6=alternativa+fimP+strBR+salto; String textor=""+salto; textor= texto1+ texto2+ texto3+ texto4+ texto5+ texto6; html+=textor; } } finally { // out.close(); } html+=" </div>"+salto;// fecha page html+=" </div>"+salto;// fecha page html+=" </td>"+salto; html+=" </tr>"+salto; html+=" </tbody>"+salto; html+="<tfoot>"+salto; html+=" <tr>"+salto; html+=" <td>"+salto; html+=" <!--place holder for the fixed-position footer-->"+salto; html+=" <div class=\"page-footer-space\"></div>"+salto; html+=" </td>"+salto; html+=" </tr>"+salto; html+="</tfoot>"+salto; html+="</table>"+salto; /* html+="<div class=\"footer\">"+salto; html+=" <div id=\"btnBox\"></div>"+salto; html+=" <input type=\"nome\" name=\"\" id=\"test\" placeholder=\"\">"+salto; html+=" <button id=\"anexar\">Anexar</button>"+salto; html+=" </div>"+salto; html+=" <div id=\"footer\"></div>"+salto; html+="</div>"+salto; */ contaPaginas++; html+="<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>"+salto; html+="<script>"+salto; //footer+=" $(document).ready(function(){"+salto; //footer+=" $('#anexar').click(function(){"+salto; html+=" $(\"#anexar\").hide();"+salto; html+=" var texto ='"+rodape+"';"+salto; // $('#test').val(); // String auxiliar = rodape +" - pág:"+contaPaginas; // html+=" var texto ='"+auxiliar+"';"+salto; // $('#test').val(); // $("#test").hide(); html+=" $('#footer').html(texto);"+salto; html+=" $('#footer').show();"+salto; // }); // }); html+="</script>"+salto; html+="</div>"+salto; html+="</body>"+salto; html+="</html>"+salto; out.println(html); /* * * <script> $(document).ready(function(){ $("#anexar").click(function(){ $("#anexar").hide(); var texto = $("#test").val(); $("#test").hide(); $("#footer").html(texto); $("#footer").show(); }); }); </script>
  2. Prezado(a)s: Estou tentando imprimir conteúdo de questões em duas colunas dinâmicas via php, mas gerando html, sendo que no final de cada página deve-se imprimir um rodapé centralizado na página. Esse rodapé não deve ser impresso nas duas colunas. Conforme o exemplo da imagem a seguir: A imagem apresenta um rodapé sendo impresso de forma errada e só é impresso na primeira página. Note que esse rodapé deve ser impresso em toda a extensão da página e as questões devem ser impressas em duas colunas dinâmicas. Utilizo um loop para obter as informações de cada questão em php, sendo que esse conteúdo está dentro de uma div definida com a classe two (css). Segue os respectivos códigos. <?php echo '<link rel="stylesheet" href="sigaiws_arquivoCSSphp.php"/>'; echo '<html>'; echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; include "adodb/adodb.inc.php"; include "sigaiws_conectaAdodb.php"; if (isset($_GET['prova'])) { $identificacao = $_GET['prova']; $sql = "select questoesprova.numeroQuestao, professor.matricula, professor.nome, disciplina.codigoDaDisciplina, identificacaoprova.identificacao, identificacaoprova.titulorodape,questoes.alternativaA, questoes.alternativaB, questoes.alternativaC, questoes.alternativaD, questoes.enunciado, questoes.resposta from questoesprova inner join professor on questoesprova.fk_professor = professor.id inner join disciplina on questoesprova.fk_disciplina = disciplina.id inner join identificacaoprova on questoesprova.fk_identificacaoProva= identificacaoprova.id inner join questoes on questoesprova.fk_questoes = questoes.id "; $sql=$sql." where identificacaoprova.identificacao ='".$identificacao."'"; $sql=$sql." order by questoesprova.numeroQuestao"; /*if (!$result->EOF) { //echo '<div align="center"><h3><b>Professor - Matricula : '.$result->fields["matricula"].' - Nome : '.$result->fields["nome"].' - Ano / Semestre : 2018 / 2</b></h3></div>'; } */ echo '<div class="two">'; //id='content text-center'>"."<br>"; //echo "<div id='pageFooter'><br>"; $result=$conexao->Execute($sql); $rodape=""; if (!$result->EOF) $rodape=$result->fields["titulorodape"]; $result=$conexao->Execute($sql); while (!$result->EOF) { // $texto0="<div><br>"; $texto1=" <h3><b>Questão : ".$result->fields["numeroQuestao"]."</b></h3><br/>"; $texto2=" <b>Enunciado</b></br>".$result->fields["enunciado"]."<br/>"; $texto3=" <b>Alternativa A</b></br>".$result->fields["alternativaA"]."<br/>"; $texto4=" <b>Alternativa B</b></br>".$result->fields["alternativaB"]."<br/>"; $texto5=" <b>Alternativa C</b></br>".$result->fields["alternativaC"]."<br/>"; $texto6=" <b>Alternativa D</b></br>".$result->fields["alternativaD"]."<br/>"; // $texto7="</div><br>"; $texto8="<br>"; // $texto9="&nbsp"; // $texto10="<div class='footer'>"; // $texto11=$result->fields["titulorodape"]; // $texto12="</div>"; $textor=""; $textor=$texto1.$texto2.$texto3.$texto4.$texto5.$texto6.$texto8; //$texto9.$texto10.$texto11.$texto12; echo htmlspecialchars_decode($textor); echo "<div class='footer'>".$rodape."</div>"; $result->MoveNext(); } echo "</div>"; // echo "<div style='page-break-inside: avoid;'>".$rodape."</div>"; } //if isset <?php header("Content-Type: text/css; charset=UTF-8"); ?> h1 { text-align: center } count::before { counter-increment: section; content: "\A I am flag " counter(section) ".\A "; font-weight: bold; white-space: pre; } @media print { .two { column-count: 2; -webkit-column-count: 2; -moz-column-count: 2; } .one { column-count: 1; -webkit-column-count: 1; -moz-column-count: 1; } input[type="button"] { display: none } } .footer { column-count: 1; position: fixed; text-align: center; bottom: 0; } .genClass5667 { } html { position: relative; min-height: 100%; } body { margin: 0 0 60px; /* bottom = footer height */ } Por favor, me ajudem. Um abração a todos!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.