Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonio Tadeu

Geração de Código de barras - FPDF

Recommended Posts

Boa noite ,

estou usando este script apresentou o codigo de barras no PDF porém errado.
O que eu fiz foi trocar a varialvel valor_barras pela texto, isso porque esta

primeira vinha sempre zerada e nao achei a origem dela.



Aguem pode da um apoio?



Penso que nao entendi onde é carreagda a variável valor_barras.


======================================================================
Boa noite ,



Aguem pode da um apoio?



Penso que nao entendi onde é carreagda a variável valor_barras.



Sub fbarcode(Valor)
Dim f, f1, f2, i
Dim texto
Dim p11
p11=11
Const fino = 0.4
Const largo = 0.7
Dim BarCodes(99)
if isempty(BarCodes(0)) then
BarCodes(0) = "00110"
BarCodes(1) = "10001"
BarCodes(2) = "01001"
BarCodes(3) = "11000"
BarCodes(4) = "00101"
BarCodes(5) = "10100"
BarCodes(6) = "01100"
BarCodes(7) = "00011"
BarCodes(8) = "10010"
BarCodes(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(BarCodes(f1), i, 1) + mid(BarCodes(f2), i, 1)
next
BarCodes(f) = texto

next
next
pdf.Text "30","225",texto
end if

xPos=55
p201=230
pdf.rect xPos, p201, fino, p11, "F"
xPos = xPos + fino + fino
pdf.rect xPos, p201, fino, p11, "F"
xpos = xpos + fino + fino


For n = 1 To Len(valor_barras) Step 2
cASC = cint(Mid(valor_barras, n, 2))
For i = 1 To 10 Step 2
If Mid(BarCodes(cASC), i, 1) = "0" Then
F = fino
Else
F = largo
End If


pdf.rect xpos, p201, F, p11, "F"
xpos = xpos + F
If Mid(BarCodes(cASC), i + 1, 1) = "0" Then
xpos = xpos + fino
Else
xpos = xpos + largo
End If

Next
Next
pdf.Text "30","235",xpos

pdf.rect xpos, p201, largo, p11, "F"
xpos = xpos + fino + largo
pdf.rect xpos, p201, fino, p11, "F"


end Sub

valor_barras substituído por valor.

 

Gerou o código de barras porem nas condições descritas abaixo.

 

outra observação inseri o valor sendo:

"905224210 00020"

Nro rastreamento Nro Palete



foi impresso :2421000020





Se for possível dar uma apoio Agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me deparei com outra questão,
na máquina da empresa localhost executa.

No servidor de homologação na rotina pdf.Output() ocorre o seguinte erro:
" O arquivo nao inicia com %PDF"

 

Alguem já passou por esta situação,

pedi para verificar as permissões , foram todas dadas.

 

Fiz outros testes mas, o erro continua.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável não é carregada nessa função, provavelmente é uma propriedade que está sendo setada em outra classe.

 

Bom dia KhaosDoctor,

 

O brigado pelo retorno.

Alterei a variável em questão pela que carrega o valor.

O código foi gerado, porem com quma quantidade menor de digitos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

KhaosDoctor,

 

Resolvi a questão do código de barras.

O problemas é que na geração invés de sair os 13 números que compunham o valor do código de barra,

só estava saindo parte dele.

Na leitura só era visualizado 2421000020 invés disto 90522421000020.

Deixo outra questão:

existe a possibilidade da mandar direto para impressora usando pdf.Output () .

 

Consigo visualizar no browse e gravar fisicamente

mas, preciso que seja enviado direto para impressora.

 

já tentei usar algumas alternativas mas neste resultado.

 

se tiver uma ideia será de grande ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agúem sabe como ler os arquivos que foram gravados e mandar direito para

impressora mesmo que tenha que abrir a caixa de seleção das impressoras.

Ou seja, após gerar os PDF, o sistema já abre a opção de impressão?

Encontrei esse script mas, é para PHP eu uso ASP Classico.

//ou assim:

$file_handler = fopen("c:\\teste.pdf", "r");
$contents = fread($file_handler, filesize("c:\\teste.pdf"));
fclose($file_handler);
echo $contents;

print "<script>window.print()</script>";
sc_redir(form_facturas);

​Se for possível dar um apoio agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala KhaosDoctor,

 

Depois de muita pesquisa consegui visualizar o .PDF.

 

Segue a Dica:

 

|-> Endereço do arquivo .PDF

<iframe src=<%=arquivo%> id="PDFtoPrint" marginwidth="0" marginheight="0"
frameborder="0" width="900" height="620"></iframe>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei outro probleminha, a função abaixo calcula o codigo de barras com um digito a mais,

Se alguem puder ajudar encontrar o erro agradeço.

 

Fiz diversas alterações porém nao consegui chegar no resultado..

 

O valor que deveria ser apresentado é : 481115243200001 porém,

apresenta : 4811152432000001 um zero a mais.

 

estou usando esta rotina para o padrão DS-1

 

Sub fbarcode(Valor)
Dim f, f1, f2, i
Dim texto
Dim p11
p11=11
Const fino = 0.4
Const largo = 0.7
Dim BarCodes(99)
if isempty(BarCodes(0)) then
BarCodes(0) = "00110"
BarCodes(1) = "10001"
BarCodes(2) = "01001"
BarCodes(3) = "11000"
BarCodes(4) = "00101"
BarCodes(5) = "10100"
BarCodes(6) = "01100"
BarCodes(7) = "00011"
BarCodes(8) = "10010"
BarCodes(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(BarCodes(f1), i, 1) + mid(BarCodes(f2), i, 1)
next
BarCodes(f) = texto

next
next
pdf.Text "30","225",texto
end if

xPos=55
p201=230
pdf.rect xPos, p201, fino, p11, "F"
xPos = xPos + fino + fino
pdf.rect xPos, p201, fino, p11, "F"
xpos = xpos + fino + fino


For n = 1 To Len(valor_barras) Step 2
cASC = cint(Mid(valor_barras, n, 2))
For i = 1 To 10 Step 2
If Mid(BarCodes(cASC), i, 1) = "0" Then
F = fino
Else
F = largo
End If


pdf.rect xpos, p201, F, p11, "F"
xpos = xpos + F
If Mid(BarCodes(cASC), i + 1, 1) = "0" Then
xpos = xpos + fino
Else
xpos = xpos + largo
End If

Next
Next
pdf.Text "30","235",xpos

pdf.rect xpos, p201, largo, p11, "F"
xpos = xpos + fino + largo
pdf.rect xpos, p201, fino, p11, "F"


end Sub

 

 

Valeu Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.