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
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tentando usar PDFLib
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:
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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Tentando usar PDFLib
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.
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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tentando usar PDFLib
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.
O fonte default seria o equivalente a uma impressora matricial, onde linha/coluna se baseiam no fonte original, independente de compactado ou não.
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
Código: Selecionar todos
@ 5, 5 say Chr(15) + "texto" + Chr(18)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Tentando usar PDFLib
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 ?
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 ?
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tentando usar PDFLib
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.
E no caso de itálico e negrito é mesma coisa.
Nessas horas é que vemos como os editores de texto facilitam pra nós.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/