Jump to content
s3c0

Código de Barras FPDF e ASP

Recommended Posts

Prezados amigos,

 

estou precisando de um help.

 

Estou tentando gerar um arquivo em PDF utilizando a Classe FPDF em ASP.

 

Consigo normalmente gerar esse arquivo, porém não estou conseguindo inserir código de barra.

 

Tenho uma função, que estava funcionando em HTML , mas quando executo esse função, ao invés de aparecer as "barras", ele mostra o html.

 

Abaixo a Função para gerar as barras:

 

Function getCodigoBarras(ByVal Numeros)
	Dim F, F1, F2, i, Texto
	Dim arrCodigoBarra(99)
	Dim htmlCodigoBarra
	htmlCodigoBarra = ""
	Const Fino		= 1
	Const Largo		= 3
	Const Altura	= 50
	
	if isempty(arrCodigoBarra(0)) Then
		arrCodigoBarra(0) = "00110"
		arrCodigoBarra(1) = "10001"
		arrCodigoBarra(2) = "01001"
		arrCodigoBarra(3) = "11000"
		arrCodigoBarra(4) = "00101"
		arrCodigoBarra(5) = "10100"
		arrCodigoBarra(6) = "01100"
		arrCodigoBarra(7) = "00011"
		arrCodigoBarra(8) = "10010"
		arrCodigoBarra(9) = "01010"
		For F1 = 9 To 0 Step -1
			For F2 = 9 To 0 Step -1
				F = F1 * 10 + F2
				Texto = ""
				For i = 1 To 5
					Texto = Texto & Mid(arrCodigoBarra(F1), i, 1) + Mid(arrCodigoBarra(F2), i, 1)
				Next
				arrCodigoBarra(f) = Texto
			Next
		Next
	End if
 
	'Construindo o código HTML do código de barras
	'Guarda inicial
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/p.jpg width=" & Fino & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/b.jpg width=" & Fino & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/p.jpg width=" & Fino & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/b.jpg width=" & Fino & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img"
'Response.Write htmlCodigoBarra
	Texto = Numeros
	if Len(Texto) Mod 2 <> 0 Then Texto = "0" & Texto End if
	'HTML dos dados
	Do While Len(Texto) > 0
		i		= Cint(Left(Texto,2))
		Texto	= Right(Texto, Len(Texto)- 2)
		F		= arrCodigoBarra(i)
		For i = 1 To 10 Step 2
			If Mid(F, i, 1) = "0" Then
				F1 = Fino
			Else
				F1 = Largo
			End If
			
			htmlCodigoBarra = htmlCodigoBarra & " src=arquivos/p.jpg width=" & F1 & " height=" & Altura & " border=0><img"
			
			If mid(F, i + 1, 1) = "0" Then
				F2 = Fino
			Else
				F2 = Largo
			End If
 
			htmlCodigoBarra = htmlCodigoBarra & " src=arquivos/b.jpg width=" & F2 & " height=" & Altura & " border=0><img"
	
		Next
	Loop
	
	'Guarda final
	htmlCodigoBarra = htmlCodigoBarra & " src=arquivos/p.jpg width=" & Largo & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/b.jpg width=" & Fino & " height=" & Altura & " border=0>"
	htmlCodigoBarra = htmlCodigoBarra & "<img src=arquivos/p.jpg width=1 height=" & Altura & " border=0>"
	
	'Retornando a função
	getCodigoBarras	= htmlCodigoBarra
End Function

E agora o comando que tentei usar para gerar as barras:

 

pdf.cell "98","100",getCodigoBarras(cep)

e também já tentei assim:

 

pdf.text "98","100",getCodigoBarras(cep)

 

mas ambos os comando retorna o seguinte:

 

<img src=arquivos/p.jpg width=1 height=50 border=0>

 

Alguém teria alguma dica de como posso resolver com essa classe que é gratuita?

 

Pesquisei no site do desenvolvedor, porém eles fornecem apenas exemplos em PHP.

 

Desde já agradeço a atenção de todos!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By s3c0
      Amigos,
       
      boa noite. Estou tentando gerar um simples documento em PDF, porém sempre retorna erro quando adiciono imagem.
       
      Utilizo o componente FPDF.
       
      Abaixo a página que é gerada o erro.
      <!--#include file="fpdf.asp"--> <% dim pdf Dim imagem '// criando o pdf set pdf=CreateJsObject("FPDF") '// aki poderemos adcionar várias funções como titulos padroes para todas as páginasm numeração de páginas e etc. '// montando o corpo do pdf, setando o tipo da folha, tipo de medida e o tamanho da folha pdf.CreatePDF "P","mm","A4" pdf.SetPath("fpdf/") pdf.Open() '// adcionando página pdf.AddPage() pdf.Image "arquivos/background1.jpg",0,0,200 pdf.Close()  
      Alguém saberia me dizer onde está o erro?
    • By marcelocardoso
      olá pessoal.

      Estou disponibilizando um script para paginação de noticias, ele funciona, porém, ao adaptar codigo usado da internet, não encontrei maneiras de LIMITAR os REGISTROS.
      Se alguém quiser contribuir, na parte da paginação, agradeço.

      preciso limitar os registros em 10 em 10 a paginação
      primeiro < 1 2 3 4 5 6 7 8 9 10 > ultimo

       
      <section class="container-fluid"> <div class="row mb-5"> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb-5"> <h1 class="text-center"> Informações e noticias </h1> <h3 class="text-center"> Atualizações diárias de conteúdos advocatícios e judiciais </h3> </div> <div class="col-xl-8 col-lg-8 col-md-8 col-sm-8 col-xs-12 mt-2 p-5" style="height: auto;"> <% IF IsEmpty(Request.QueryString("idnot")) OR IsNull(Request.QueryString("idnot")) THEN SQL1 = "SELECT * FROM dbluz_noticias ORDER BY id DESC LIMIT 1" ELSE SQL1 = "SELECT * FROM dbluz_noticias WHERE id = "& Request.QueryString("idnot") &" ORDER BY id DESC LIMIT 1" END IF SET strNoticias = Server.CreateObject("ADODB.Recordset") strNoticias.Open SQL1, conexao, 3, 3 IF strNoticias.EOF THEN %> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center"> <h1>AVISO!</h1> <h4 style="color: green;"> Não existem noticias cadastradas no momento, <br> ou não existe registro para este ID informado. </h4> </div> <% ELSE DO WHILE NOT strNoticias.EOF %> <div class="box-noticias-data"> <%=strNoticias("dbluz_data")%> </div> <div class="box-noticias-subtitulo"> <%=strNoticias("dbluz_subtitulo")%> </div> <div class="box-noticias-titulo mt-4"> <%=strNoticias("dbluz_titulo")%> </div> <div class="box-noticias-descricao mt-5 text-justify"> <%=strNoticias("dbluz_descricao")%> </div> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 text-right box-noticias-fonte line-dotted-top mt-3 mb-5 p-2"> <span class="mb-5 mt-2 p-2 bg-success"> <a href="index.asp?idnot=<%=strNoticias("id")%>" role="button" class="btn btn-clean"> <span class="fa fa-print fa-1x font-color-var1"></span> </a> </span> </div> <% strNoticias.MoveNext Loop SET strNoticias = Nothing %> </div> <div class="col-xl-4 col-lg-4 col-md-4 col-sm-4 col-xs-12 mt-5 p-0"> <% SQL2 = "SELECT * FROM dbluz_noticias " SET strNoticiasBlocos = Server.CreateObject("ADODB.Recordset") strNoticiasBlocos.Open SQL2, conexao, 3, 3 IF strNoticiasBlocos.EOF THEN %> <div class="row"> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center"> <h1>AVISO!</h1> <h4 style="color: green;">Não existem noticias cadastradas no momento, <br> ou não existe registro para este ID informado.</h4> </div> </div> <% ELSE ItensExibidos = 1 'Qtde de Itens' NumeroDaPagina = Request.QueryString("pg") IF NumeroDaPagina = "" THEN NumeroDaPagina = 1 TotalDeRegistros = UBound(strNoticiasBlocos.GetRows,2)+1 InicioDaPagina = ((ItensExibidos*NumeroDaPagina)-ItensExibidos) FinalDaPagina = ItensExibidos IF TotalDeRegistros <= ItensExibidos THEN PaginaTotal = 1 ELSEIF (TotalDeRegistros MOD ItensExibidos = 0) THEN PaginaTotal = (TotalDeRegistros/ItensExibidos) ELSE PaginaTotal = (TotalDeRegistros/ItensExibidos) + 1 PaginaTotal = Cint(PaginaTotal) END IF strNoticiasBlocos.close SQL3 = SQL2 & "WHERE id != (SELECT max(id) FROM dbluz_noticias) ORDER BY id DESC LIMIT "& InicioDaPagina &" , "& FinalDaPagina &"" strNoticiasBlocos.Open SQL3, conexao, 3, 3 %> <div class="row"> <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 mb-2"> <% DO WHILE NOT strNoticiasBlocos.EOF %> <div class="box-noticias-data-min"><%= strNoticiasBlocos("dbluz_data")%></div> <div class="box-noticias-titulo-min mt-1 mb-1"> <a href="index.asp?idnot=<%=strNoticiasBlocos("id")%>" class=""> <%= strNoticiasBlocos("dbluz_titulo")%> </a> </div> <div class="box-noticias-descricao-min hidden-sm hidden-xs mb-4 line-dotted-top"> <%= LEFT(strNoticiasBlocos("dbluz_descricao"),200)%> </div> <% strNoticiasBlocos.MoveNext Loop %> </div> <% END IF END IF %> </div> <div class="col-xl-12 col-lg-12 col-md-12 col-md-12 col-xs-12"> <ul class="pagination pagination-sm"> <% IF Cint(NumeroDaPagina) = 1 THEN %> <li class="page-item disabled"> <a class="page-link fa fa-home" href="?pg=1" tabindex="-1"></a> </li> <li class="page-item disabled"> <a class="page-link" href="?pg=<%=NumeroDaPagina-1%>" tabindex="-1">Anterior</a> </li> <% ELSE %> <li class="page-item"> <a class="page-link fa fa-home" href="?pg=1" tabindex="-1"></a> </li> <li class="page-item"> <a class="page-link" href="?pg=<%=NumeroDaPagina-1%>" tabindex="-1">Anterior</a> </li> <% END IF %> <% FOR intID = 1 TO PaginaTotal IF intID = Cint(NumeroDaPagina) THEN %> <li class="page-item active"><a class="page-link" href="#"><b><%=intID%></b></a></li> <% ELSE %> <li class="page-item"> <a class="page-link" href="?pg=<%=intID%>"> <%=intID%> </a> </li> <% END IF NEXT %> <% IF Cint(NumeroDaPagina) = PaginaTotal THEN %> <li class="page-item disabled"> <a class="page-link" href="?pg=<%=NumeroDaPagina+1%>">Proxima</a> </li> <li class="page-item disabled"> <a class="page-link fa fa-arrow-circle-right" href="?pg=<%=PaginaTotal%>"></a> </li> <% ELSE %> <li class="page-item"> <a class="page-link" href="?pg=<%=NumeroDaPagina+1%>">Proxima</a> </li> <li class="page-item"> <a class="page-link fa fa-arrow-circle-right" href="?pg=<%=PaginaTotal%>"></a> </li> <% END IF %> </ul> </div> <div class="col-xl-12 col-lg-12 col-md-12 col-md-12 col-xs-12"> <div class="text-right p-1" style="font-size: 10px;"> Navegando na página <b id="barra_numero"><%= NumeroDaPagina %></b> de <b id="barra_total"><%= PaginaTotal %></b> </div> <div class="text-right p-1" style="font-size: 10px; color: dimgray;"> TOTAL DE <b id="barra_registro"><%= TotalDeRegistros %></b> REGISTROS </div> </div> </div> </div> </section> CODIGO DA PAGINACAO EXTRAIDO DA PARTE DE CIMA, a parte que preciso ajustar....

       
      <ul class="pagination pagination-sm"> <% IF Cint(NumeroDaPagina) = 1 THEN %> <li class="page-item disabled"> <a class="page-link fa fa-home" href="?pg=1" tabindex="-1"></a> </li> <li class="page-item disabled"> <a class="page-link" href="?pg=<%=NumeroDaPagina-1%>" tabindex="-1">Anterior</a> </li> <% ELSE %> <li class="page-item"> <a class="page-link fa fa-home" href="?pg=1" tabindex="-1"></a> </li> <li class="page-item"> <a class="page-link" href="?pg=<%=NumeroDaPagina-1%>" tabindex="-1">Anterior</a> </li> <% END IF %> <% FOR intID = 1 TO PaginaTotal IF intID = Cint(NumeroDaPagina) THEN %> <li class="page-item active"><a class="page-link" href="#"><b><%=intID%></b></a></li> <% ELSE %> <li class="page-item"> <a class="page-link" href="?pg=<%=intID%>"> <%=intID%> </a> </li> <% END IF NEXT %> <% IF Cint(NumeroDaPagina) = PaginaTotal THEN %> <li class="page-item disabled"> <a class="page-link" href="?pg=<%=NumeroDaPagina+1%>">Proxima</a> </li> <li class="page-item disabled"> <a class="page-link fa fa-arrow-circle-right" href="?pg=<%=PaginaTotal%>"></a> </li> <% ELSE %> <li class="page-item"> <a class="page-link" href="?pg=<%=NumeroDaPagina+1%>">Proxima</a> </li> <li class="page-item"> <a class="page-link fa fa-arrow-circle-right" href="?pg=<%=PaginaTotal%>"></a> </li> <% END IF %> Desde já obrigado...
       
    • By CrysMorais
      Boa tarde pessoal,
      Sou nova por aqui e também sou nova na programação, e gostaria da ajuda de alguém, se possível.
      Eu montei uma pagina que cria questionários, onde o usuário  pode criar perguntas com 4 tipos de respostas (Radio, Checkbox, Text e Number).
      Porém não sei como verificar se no questionário, foi criado pelo menos uma pergunta de cada tipo.
       
      Montei assim:
       
      <select name="tipoconsquestao" id="tipoconsquestao" style="color:#000000; font-size:9px; width:130px; ">
                   <option value="1" selected >Única escolha</option>
                   <option value="2">Múltipla escolha</option>
                   <option value="3">Texto livre</option>
                   <option value="4">Número livre</option>
      </select>
       
      Criei um bloco desses para cada tipo de pergunta:
       
      <%if (ArrayQuestions(6,i) = 1) then%>
      <td width="8%" align=center>
             <input name="<%=conta_grupo%>" data-sm-tipo="<%=ArrayQuestions(6,i)%>" data-sm-vrmaxquestao="<%=ArrayQuestions(11,i)%>" data-sm-questao-numero="<%=ArrayQuestions(2,i)%>"  data-sm- alternativa="<%=ArrayQuestions(3,i)%>" data-sm-questao="<%=conta_grupo%>" id="<%=conta_Alternativa%>" type="radio" value="<%=ArrayQuestions(3,i) %>" <%if ArrayQuestions(4,i) = 1 then response.write "checked"%>/>
      </td>
      <td width="92%" >&nbsp;&nbsp;&nbsp;<b><%=ArrayQuestions(1,i)%><b></td>
      <% end if %>
       
       
      Recebo aqui:
       
              var arrayquestoes = [];
              var arrayalternativas = [];
              var questionarioRadio = [];
              var questionarioCheck = [];
              var questionarioText = [];
              var questionarioNum = [];
       
      for (var i = 1; i <= n_grupos; i++) {
                  var countRadio = 0;
                  var countCheck = 0;
                  var countText = 0;
                  var countVrText = 0;
                  var countVariosVrText = 0;
                  var countNum = 0;
                  
                  $("[data-sm-questao='" + i + "']").each(function (index, value) {
                      var questao = $(this).attr("data-sm-questao-numero");
                      var alternativa = $(this).attr("data-sm-alternativa");
                      //alert(alternativa);
                      var vralternativa = $(this).val();
                      var tipoalternativa = $(this).attr("data-sm-tipo");
                      
                      
                      vrmaxtotalizacao = $(this).attr("data-sm-vrmaxquestao");
                      
                      
                      arrayquestoes[i - 1] = questao;
          
                      //==============================================================================================================    
                      // Verifica todos os campos tipo questão 1 (Radiobuttons) e carrega o array questionarioRadio com true ou false
                      //==============================================================================================================  
                      if (eval(tipoalternativa) == 1)
                      {
                          if (this.checked) {
                              questionarioRadio[countRadio] = true;
                              if (textoalternativas == '') {
                                  textoalternativas = questao + '|' + alternativa + '|' + 1;
                              }
                              else {
                                  textoalternativas = textoalternativas + ';'+ questao + '|' + alternativa + '|' + 1;
                              }
                          }
                          else
                          {
                              questionarioRadio[countRadio] = false;
                          }
                          countRadio = countRadio + 1;
                          //console.log(cont);
                          
                      }
       
       
          Faço a validação aqui:
       
                
       for (var k = 0; k < questionarioRadio.length; k++) {
                  if (questionarioRadio[k])
                  {
                      if (!saidafinalRadio)
                      {
                          saidafinalRadio = true;
                      }
                  }
              }
              if (questionarioRadio.length == 1)
              {
                  saidafinalRadio = true;
              }
      }
       
      if (!saidafinalRadio)
              {
                  alert('Por favor responda todas as questões de única escolha.');
                  return;
              }
       
       
      E mando para o banco de dados.
       
       
       
    • By Marcos Vinícius
      Pessoal,
       
      Tô tentando mostrar o resultado de uma consulta mysql em um pdf com o fpdf. Só que os dados do banco foram salvos com o ckeditor, ou seja, tem dados de formatação junto mas não encontrei a forma certa do pdf exibir o dado já formatado. 
       
      Por exemplo:
      no bd tá assim: <p>Teste</p><br>quebra
       
      Numa página normal, exibiria 
       
      Teste
      quebra
       
      mas com o uso do fpdf só conseguir mostrar o campo todo como uma frase:
       
      <p>Teste</p><br>quebra
       
      Alguém sabe com fazer para o fpdf ler essas tags de formatação?
    • By s3c0
      Prezados,
       
      Estou precisando consumir um JSON em ASP Classic, porém nunca me deparei com um resultado JSON desta maneira.
      {"Generation":{"@attributes":{"version":"3.3.0","timestamp":"1554501899"}},"Options":{"@attributes":{"tempFormat":"c","byteFormat":"auto_binary","datetimeFormat":"utc","refresh":"60000","threshold":"90"}},"Vitals":{"@attributes":{"Hostname":"WIN2K","IPAddr":"127.0.0.1","Kernel":"6.1.7600 (64-bit)","Distro":"Microsoft Windows Server 2008 R2 Enterprise","Distroicon":"WinVista.png","Uptime":"381618","Users":"0","LoadAvg":"","CPULoad":"0","SysLang":"Portuguese - Brazil (1046)","CodePage":"windows-1252","Processes":"58","OS":"WINNT"}},"Network":{},"Hardware":{"@attributes":{"Name":"VMware, Inc. VMware Virtual Platform"},"PCI":{"Device":[{"@attributes":{"Name":"PCI standard PCI-to-PCI bridge","Count":"2"}},{"@attributes":{"Name":"PCI Express standard Root Port","Count":"32"}},{"@attributes":{"Name":"Standard AHCI 1.0 Serial ATA Controller","Manufacturer":"Standard AHCI 1.0 Serial ATA Controller"}},{"@attributes":{"Name":"Intel(R) PRO\/1000 MT Network Connection","Manufacturer":"Intel"}},{"@attributes":{"Name":"Intel(R) PRO\/1000 MT Network Connection #2","Manufacturer":"Intel"}},{"@attributes":{"Name":"Intel(R) PRO\/1000 MT Network Connection #3","Manufacturer":"Intel"}},{"@attributes":{"Name":"LSI Adapter, SAS 3000 series, 8-port with 1068","Manufacturer":"LSI"}},{"@attributes":{"Name":"Intel 82371AB\/EB PCI to ISA bridge (ISA mode)","Manufacturer":"Intel"}},{"@attributes":{"Name":"VMware SVGA 3D","Manufacturer":"VMware, Inc."}},{"@attributes":{"Name":"Intel(R) 82371AB\/EB PCI Bus Master IDE Controller","Manufacturer":"Intel"}},{"@attributes":{"Name":"VMware VMCI Bus Device","Manufacturer":"VMware, Inc."}},{"@attributes":{"Name":"Intel 82443BX Pentium(R) II Processor to PCI Bridge","Manufacturer":"Intel"}}]},"IDE":{"Device":{"@attributes":{"Name":"NECVMWar VMware SATA CD00 ATA Device"}}},"SCSI":{"Device":{"@attributes":{"Name":"VMware Virtual disk SCSI Disk Device","Capacity":"128849011200"}}},"CPU":{"CpuCore":[{"@attributes":{"Model":"Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz","CpuSpeed":"3400","Cache":"0"}},{"@attributes":{"Model":"Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz","CpuSpeed":"3400","Cache":"0"}},{"@attributes":{"Model":"Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz","CpuSpeed":"3400","Cache":"0"}},{"@attributes":{"Model":"Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz","CpuSpeed":"3400","Cache":"0"}}]}},"Memory":{"@attributes":{"Free":"1575329792","Used":"2719170560","Total":"4294500352","Percent":"63"},"Swap":{"@attributes":{"Free":"2833252352","Used":"900726784","Total":"3733979136","Percent":"24"},"Mount":{"@attributes":{"MountPointID":"1","FSType":"swap","Name":"SWAP","Free":"2833252352","Used":"900726784","Total":"3733979136","Percent":"24","MountPoint":"C:\\pagefile.sys"}}}},"FileSystem":{"Mount":[{"@attributes":{"MountPointID":"1","FSType":"","Name":"Removable Disk (3 1\/2 in.)","Free":"0","Used":"0","Total":"0","Percent":"0","MountPoint":"A:"}},{"@attributes":{"MountPointID":"2","FSType":"NTFS","Name":"Local Disk","Free":"16396288","Used":"128725663744","Total":"128742060032","Percent":"100","MountPoint":"C:"}},{"@attributes":{"MountPointID":"3","FSType":"","Name":"Compact Disc","Free":"0","Used":"0","Total":"0","Percent":"0","MountPoint":"D:"}}]},"MBInfo":{},"UPSInfo":{},"Plugins":{},"Errors":{}} Preciso pegar alguns valores desse resultado.
       
      Esses valores são CPULoad, Memory e Hard Disk.
       
      oJSON.loadJSON("http://127.0.0.1/xml.php?plugin=complete&json") 'Loop through collection For Each dados In oJSON.data("Vitals") Set this = oJSON.data("Vitals").item(dados) processador = this.item("CPULoad") Next For Each dados In oJSON.data("Memory") Set this = oJSON.data("Memory").item(dados) memoria = this.item("Total") Next For Each dados In oJSON.data("FileSystem") Set this = oJSON.data("FileSystem").item(dados) if this.item("MountPointID") = "2" then hd = this.item("Percent") end if Next  
      Tentei de algumas formas, mas sem sucesso.
       
      Alguém teria alguma idéia de como posso pegar esses valores?
       
      Agradeço a atenção de todos.
×

Important Information

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