Ir para conteúdo

POWERED BY:

Arquivado

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

Alex_ps

[Resolvido] Erro no FPDF - Função MultiCell

Recommended Posts

Oi amigos,

 

Estou utilizando o Asp Fdpf e tudo funciona direito até a hora que tenho que resgatar de um banco do Access, um campo que pode conter uma string de 2 a 3 linhas até um conjunto de vários parágrafos de várias linhas.

Ao utilizar a função MultiCell, algumas vezes, que eu não tenho certeza porque, a quebra de linha não funciona e o texto estoura a margem direita, estoura a página e todo conteúdo se perde, até atingir o final deste parágrafo.

No próximo parágrafo o erro pode retornar ou não.

Às vezes imprimo textos enormes sem nenhum erro. Outras vezes tenho 2 ou 3 erros dentro de um único texto.

Olhando mais a fundo, tenho a impressão que o problema ocorre como um bug na classe, e que pode estar relacionado na quebra de palavras no momento da quebra de linha.

Alguém já teve este erro?

Não estou encontrando nada em fóruns nacionais e nem em fóruns internacionais.

Por favor, uma ajudinha.

É muito importante.

Valeu e um abraço.

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Felipe,

 

Obrigado por sua resposta!

O tópico sugerido, até é relacionado.

O problema é que uma das sugestões do tópico é o uso de uma outra classe, só que PHP.

O restante, não sugere nenhuma solução.

 

Veja, eu tenho usado o Fpdf há algum tempo e este erro ocorre sem dó nem piedade.

Não sei por que cargas d'água, mas acho que é um problema de quebra de palavra para a formação do layout.

Eu já fiz alguns casos e, se eu quebro a linha problema com um enter ou se dou um espaço, ou coisa do gênero, a mais, o problema pode sumir nesta linha e não aparecer mais ou pode sumir nesta linha e aparecer na linha seguinte.

O Fpdf é pelo que eu entendi, uma classe javascript.

Eu dei uma olhada no código, mas sou uma nhaca em javascript e não identifiquei o lugar que provoca a quebra da linha.

Eu acho que é alguma coisa do tipo, se a linha termina com uma palavra de 15 caracteres, só que não aparece nenhum espaço, vá pulando caractere por caractere de 1 a 15. Só que se a palavra tiver 16 caracteres, pronto, o erro aparece.

Só que no caso, o erro aparece às vezes com palavras de 4 caracteres apenas.

É curioso.

 

Eu já quebrei a string em várias linhas e "printei" uma a uma, pensando que podia ser o tamanho do "paragrafo", mas não é.

Às vezes o erro aparece com parágrafos de apenas 2 linhas, ou seja, já na primeira quebra, aparece o erro.

 

Já coloquei /n, tirei, coloque vbcrlf, tirei, dupliquei o enter, tirei e o erro é o mesmo.

 

De qualquer forma valeu por sua ajuda!

 

Alguém tem mais alguma idéia por favor?

 

Abraço,

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se ele gera algum numero do erro , poste o numero e linha do code

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Xamburzum,

 

Pois é, o problema é punk.

Não tem erro, a coisa toda funciona até o final, por favor dê uma olhada na imagem de exemplo.

Veja que este é apenas um pedaço retirado ao acaso.

O primeiro parágrafo teria continuidade, mas a falta da quebra de linha faz com que parte do texto seja perdido.

Já, no parágrafo seguinte, não tem erro. E assim vai, de acordo com a boa vontade sei lá eu do que.

texto.jpg

Valeu pela força.

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

Depois de literalmente 3 dias brigando contra um erro temperamental que, hora aparecia, hora não, descobri o porque da linha não "quebrar" de jeito nenhum.

Caracteres especiais!

Pois é, o fpdf de alguma forma deve ler o comprimento de uma linha e na hora de realizar a quebra ele deve ficar sem saber o que fazer pois, imagino eu o cálculo inicial dele, não bate com o cálculo da hora da quebra da linha, por causa de tais caracteres e daí, da nó.

Os problemas apareciam em textos que haviam sido cadastrados, com aspas francesas, travessão grande e deve aparecer em outros casos também.

Voltei para alertar outras possíveis vítimas.

Resolvi o problema com uma função que subtistuirá os caracteres que derem problemas por outros não tão ameaçadores. Hehehe

Abraços a todos.

 

Alex

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.