PULAR LINHA AO GERAR UM DOCUMENTO PDF
Salve pessoal, fiz um software que gera documentos em PDF, porém alguns campos que possuem vários caracteres acabam passando pela página, o certo seria que quando contasse certa quantidade de caractere quebrasse a linha automaticamente.
estou usando a dll reports.dll, disponÃvel pelo site do marcoratti
para inserir uma linha estou utilizando esse comando
page.AddAligned(150, 0, 200, 0, New RepString(fp, [Ô]TEXTO A SER ESCRITO NO PDF[Ô]))
alguém tem uma idéia de como fazer a quebra de linha ?
estou usando a dll reports.dll, disponÃvel pelo site do marcoratti
para inserir uma linha estou utilizando esse comando
page.AddAligned(150, 0, 200, 0, New RepString(fp, [Ô]TEXTO A SER ESCRITO NO PDF[Ô]))
alguém tem uma idéia de como fazer a quebra de linha ?
Valeu Elton, tentei de várias maneiras mas não deu certo o esquema do vbCrLf , porém consegui resolver este problema de outra forma, pra quem usa a reports.dll do Marcoratti para gerar documentos em PDF eu acho que vai ser bem útil esta resposta:
[ô]Registro é o campo texto que possui vários caracteres e passava a página sem quebrar linha, criei uma variável chamada lstrRegistro para armazenar o valor
Dim lstrRegistro As String
[ô]Outras 3 variáveis auxiliares
Dim tamLin As Long
Dim aux2 As Long
Dim cont2 As Long
[ô]A variável recebe o valor do Registro que estava em uma Grid
lstrRegistro = dgvConsultaContrato.SelectedRows(0).Cells([Ô]registro[Ô]).Value.ToString
[ô]Na tamLin você define a quantidade de caracteres até ocorrer a quebra de linha
tamLin = 40
If Not lstrRegistro Is Nothing Then
If lstrRegistro <> [Ô][Ô] Then
aux2 = lstrRegistro.Length / tamLin
cont2 = 0
Do While cont2 < aux2
page.AddAligned(135, 0, 487 + (cont2 * 15), 0, New RepString(fp, Mid(lstrRegistro, (cont2 * tamLin) + 1, tamLin)))
cont2 = cont2 + 1
Loop
End If
End If
Dessa maneira foi definido que se o valor do campo registro tiver mais que 40 caracteres ele quebra a linha automaticamente, evitando assim passar reto pela página, espero que ajude quem precisar algum dia.
[ô]Registro é o campo texto que possui vários caracteres e passava a página sem quebrar linha, criei uma variável chamada lstrRegistro para armazenar o valor
Dim lstrRegistro As String
[ô]Outras 3 variáveis auxiliares
Dim tamLin As Long
Dim aux2 As Long
Dim cont2 As Long
[ô]A variável recebe o valor do Registro que estava em uma Grid
lstrRegistro = dgvConsultaContrato.SelectedRows(0).Cells([Ô]registro[Ô]).Value.ToString
[ô]Na tamLin você define a quantidade de caracteres até ocorrer a quebra de linha
tamLin = 40
If Not lstrRegistro Is Nothing Then
If lstrRegistro <> [Ô][Ô] Then
aux2 = lstrRegistro.Length / tamLin
cont2 = 0
Do While cont2 < aux2
page.AddAligned(135, 0, 487 + (cont2 * 15), 0, New RepString(fp, Mid(lstrRegistro, (cont2 * tamLin) + 1, tamLin)))
cont2 = cont2 + 1
Loop
End If
End If
Dessa maneira foi definido que se o valor do campo registro tiver mais que 40 caracteres ele quebra a linha automaticamente, evitando assim passar reto pela página, espero que ajude quem precisar algum dia.
Tópico encerrado , respostas não são mais permitidas