da uma olhada na rotina que tem quebra de pagina
oPDF := PDFClass()
IF oPDF == NIL
hwg_msginfo("Falha da criação do objeto PDF")
RETURN .F.
ENDIF
HB_GTINFO( HB_GTI_CLIPBOARDDATA, ::cFileName)
oPDF:cFileName := ::cFileName
oPDF:cDefaultPrinter := ::cDefaultPrinter
oPDF:SetType( PDFCLASS_LANDSCAPE )
oPDF:Begin()
nLinha := 100
nPagina := 1
nMaxCol := oPDF:MaxCol()
DO WHILE ! oQuery:Eof()
IF nLinha > 96
oPDF:AddPage()
oPDF:DrawBox( 0, 0, 9, 41, Nil, Nil, Nil ) // box esquerdo
oPDF:DrawImageSize( 0.5, 0.5, 8, 39, "logotipo.jpg" ) // logotipo
oPDF:DrawBox( 0, 41, 9, 117, Nil, Nil, Nil ) // box centro
oPDF:DrawText( 2.0, 42, RTRIM(oQuery1:Fields( "NomeUsuario" ):Value), nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawText( 3.5, 42, RTRIM(oQuery1:Fields( "n_xLgr" ):Value) + ', ' + RTRIM(oQuery1:Fields( "n_nro" ):Value), Nil, 8, "Helvetica", Nil, Nil )
oPDF:DrawText( 5.0, 42,'BAIRRO - ' + RTRIM(oQuery1:Fields( "n_xBairro" ):Value), Nil, 8, "Helvetica", Nil, Nil )
oPDF:DrawText( 6.4, 42, "CEP " +oQuery1:Fields( "n_CEP" ):Value + ' - ' + RTRIM(oQuery1:Fields( "n_xMun" ):Value) + ' - ' + oQuery1:Fields( "n_xUF" ):Value + " - FONE: " +oQuery1:Fields( "n_fone" ):Value, Nil, 8, "Helvetica", Nil, Nil )
oPDF:DrawText( 8.0, 42, 'CNPJ-'+RTRIM(oQuery1:Fields( "n_CNPJ" ):Value) + ' Insc.Est.-' + RTRIM(oQuery1:Fields( "n_IE" ):Value) , Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawBox( 0, nMaxCol, 9, 41, Nil, Nil, Nil ) // box direito
oPDF:DrawText( 2, 120, "CONTAS A RECEBER 2" , Nil, 10, "Helvetica", Nil, Nil )
oPDF:DrawText( 4, 120, "PAGINA Nr.: " + STRZERO(nPagina,4,0), Nil, 10, "Helvetica", Nil, Nil )
oPDF:DrawText( 6, 120, "DATA: " + DTOC(M->DAT_HOJE), Nil, 10, "Helvetica", Nil, Nil )
oPDF:DrawText( 8, 120, "HORA: " + TIME(), Nil, 10, "Helvetica", Nil, Nil )
oPDF:DrawBox( 9, 0, 12, nMaxCol, Nil, Nil, Nil )
oPDF:DrawText( 11, 1, "RELACAO DAS RECEITAS EM ABERTO DE "+DTOC(::dPERINI)+" A "+DTOC(::dPERFIN), Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawBox( 12, 0, 14.5, nMaxCol, Nil, Nil, Nil )
oPDF:DrawText( 14, 01, "TITULO", Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawText( 14, 21, "CLIENTE" , Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawText( 14, 81, "VALOR TITULO", Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawText( 14, 104, "ACRESCIMOS", Nil, 10, "Helvetica-Bold", Nil, Nil )
oPDF:DrawText( 14, 126, "TOTAL RECEBER", Nil, 10, "Helvetica-Bold", Nil, Nil )
nLinha := 16
nPagina += 1
ENDIF
IF oQuery:Fields( "DATVEN" ):Value != dDATVEN
oPDF:DrawText( nLinha++, 10, "Total a RECEBER no Dia "+DTOC(dDATVEN)+" --->"+transform(TOTDIARIO,"@E 99,999,999,999.99") , Nil, 10, "Courier-Bold", Nil, Nil )
oPDF:DrawLine( nLinha-0.5, 0, nLinha-0.5, nMaxCol, 1 )
nLinha++
TOTDIARIO := 0.00
dDATVEN := oQuery:Fields( "DATVEN" ):Value
ENDIF
MULTA:=0.00
JUROS:=0.00
IF (M->DAT_HOJE-oQuery:Fields( "DATVEN" ):Value) > 0
IF M->DAT_HOJE > oQuery:Fields( "VENPRO" ):Value
MULTA=oQuery:Fields( "MORA" ):Value*(M->DAT_HOJE-oQuery:Fields( "DATVEN" ):Value)
JUROS=(oQuery:Fields( "VALOR" ):Value*oQuery:Fields( "PER_MULTA" ):Value*(M->DAT_HOJE-oQuery:Fields( "DATVEN" ):Value))/3000
END
END
ACRESCIMOS+=MULTA+JUROS
TOTALARECEBER+=oQuery:Fields( "VALOR" ):Value+MULTA+JUROS
oPDF:DrawText( nLinha, 00, STRZERO(oQuery:Fields( "DOCUMENTO" ):Value,9,0) + "/" + STRZERO(oQuery:Fields( "PARCELA" ):Value,2,0), Nil, 10, "Courier-Bold", Nil, Nil )
oPDF:DrawText( nLinha, 21, STRZERO(oQuery:Fields( "CLIENTES_ID" ):Value,9,0)+"-"+SUBSTR(oQuery:Fields( "nraz_soc" ):Value,1,27) , Nil, 10, "Courier-Bold", Nil, Nil )
oPDF:DrawText( nLinha, 80, oQuery:Fields( "VALOR" ):Value, "@E 99,999,999.99", 10, "Courier-Bold", Nil, Nil )
oPDF:DrawText( nLinha, 108, MULTA+JUROS, "@E 99,999.99", 10, "Courier-Bold", Nil, Nil )
oPDF:DrawText( nLinha, 128, oQuery:Fields( "VALOR" ):Value+MULTA+JUROS, "@E 99,999,999.99", 10, "Courier-Bold", Nil, Nil )
nLinha +=2
TOTDIARIO += oQuery:Fields( "VALOR" ):Value
TOTGERAL += oQuery:Fields( "VALOR" ):Value
oQuery:MoveNext()
ENDDO
oPDF:DrawText( nLinha++, 10, "Total a RECEBER no Dia "+DTOC(dDATVEN)+" --->"+transform(TOTDIARIO,"@E 99,999,999,999.99") , Nil, 10, "Courier-Bold", Nil, Nil )
oPDF:DrawBox( nLinha, 0, nLinha+3, nMaxCol, Nil, Nil, Nil )
oPDF:DrawText( nLinha+2, 10, "TOTAL A RECEBER NO PERIODO ==> "+transform(TOTGERAL,"@E 99,999,999,999.99") , Nil, 12, "Courier-Bold", Nil, Nil )
oPDF:End( )
oPDF:PrintPreview( )
RETURN NIL