Página 1 de 1
Tentando usar PDFLib
Enviado: 09 Out 2014 14:21
por DLZ
Boa tarde
Estou tentando utilizar o PDFLib e até consegui bons progressos...
Só fiquei com algumas dúvidas:
1 - Estou usando opdf:pdfAtSay( cText, Linha, Coluna, .T. ) para "escrever" um texto no pdf.. Notei que o documento inicia no final da página !! ou seja, se eu mandar imprimir na linha 1, ele imprime no rodapé da página !! Não tem como começar no início da página ?
2 - Quanto a configuração da fonte, estou usando opdf:PDFsetfont( CFont, nBold, nSize ).
Só tem como alterar o tamanho da fonte ?? não tem como mexer somente na largura da fonte ?
Só posso configurar Negrito ?? não tem opção de Itálico, subilinhado, etc.. ??
OBS: Estou usando essa lib pq não conheço outra.. Se alguém conhecer algo melhor, poste ai para que eu possa testar..
Se alguém puder me ajudar, ficarei grato
Obrigado.
Tentando usar PDFLib
Enviado: 09 Out 2014 19:43
por JoséQuintas
Você pode dar uma olhada na minha classe, fica em harbourdoc.com.br, categoria PDF, ou também pode dar uma olhada no mr print.
No PDF as linhas começam de baixo pra cima.
Seria só usar uma fórmula: Total - linha, 10
E se essa LIB for em pixels ou outra coisa, outra fórmula: Total - ( Linha * Pixels do fonte )
Ou criar uma função pra fazer isso, deixando o fonte menos complicado.Veja os fontes aonde mencionei acima.
Seria algo neste estilo:
Código: Selecionar todos
DrawText( 5, 5, "teste" )
DrawText( 10, 10, 150.00, "@E 999,999,999.99" )
FUNCTION DrawText( nRow, nCol, cText, cPicture, cFont )
// aqui as fórmulas pra calcular posição no pdf, e usar funções da sua LIB
RETURN NIL
Tentando usar PDFLib
Enviado: 10 Out 2014 09:15
por DLZ
Bom dia
Sim, já estou fazendo uma fórmula para calcular a linha, sendo que começa de baixo e não de cima... , porém, se eu alterar a fonte durante o documento, a referencia linha,coluna muda... Vou ter relatórios em que uma linha imprime expandido, outra condensado, outra normal outra negrito, etc, etc... sendo assim quando eu trocar de fonte muda a quantidade de linhas por página e assim o cálculo da linha vai resultar em um lugar incorreto.
Tentando usar PDFLib
Enviado: 10 Out 2014 09:30
por JoséQuintas
Se quiser trabalhar com linhas/colunas, então vai precisar definir o fonte default, e fazer os cálculos baseados no fonte default.
Se a letra ocupar duas linhas, de qualquer jeito vai usar linha/coluna baseada no fonte original.
Outra opção é adotar milímetros como referência.
Eu fazia isso pra formulários pré-impressos na matricial, pra facilitar.
Era só medir com a régua o formulário e colocar direto no código fonte.
Código: Selecionar todos
@ mmRow( 5 ), mmCol( 10 ) SAY "fddfdfd"
FUNCTION mmRow( nRow )
// fórmula convertendo mm em linhas
RETURN nRow
FUNCTION mmCol( nCol )
// fórmula convertendo mm em colunas
RETURN nCol
O fonte default seria o equivalente a uma impressora matricial, onde linha/coluna se baseiam no fonte original, independente de compactado ou não.
Tentando usar PDFLib
Enviado: 10 Out 2014 10:01
por DLZ
Uhhhh.. entendi...
Só mais uma dúvida... tem como configurar a fonte para itálico e sublinhado ?
Outra coisa que esqueci de perguntar... não tem como alterar apenas a largura da fonte, sem alterar sua altura ?
Tentando usar PDFLib
Enviado: 10 Out 2014 21:25
por JoséQuintas
Nesse caso teria que usar um fonte que seja dobrado só na largura.
E no caso de itálico e negrito é mesma coisa.
Nessas horas é que vemos como os editores de texto facilitam pra nós.