Fazendo um relatório FPDF

Jean você pode pegar esse código e fazer na blank, eu tenho um exemplo se vc se interessar eu te mostro.

Eu usei o recordset do SC. sc_select();

Irmao,se puder me mandar eu agradeço…

http://svconesoft.no-ip.org:8887/conehotel/

login: teste
senha: teste

Vá em check-in, clique no X de finalizar hospedagem. Na tela que aparecer clica na Lupa Detalhar.

Essa tela foi feita na app Blank.

Eu errei não foi sc_select, foi lookup mesmo.

Segue o código:

$sql_acomp = "SELECT NOME FROM HOT004 WHERE TIPO = 2"
				. " AND COD_HOSPEDAGEM = '" . [glo_reserva] . "'";
sc_lookup(cs, $sql_acomp);
$nacomp = count({cs});	
if (isset({cs[0][0]})) {
	$valor_add = $nacomp * 30.00;
}
else {
	$valor_add = 0.00;
}
	
// SQL
$check_sql = "SELECT HOT003.DATA_ENTRADA, HOT003.DATA_SAIDA, HOT003.HORA_SAIDA, HOT001.NOME, CAD001.NOME, HOT003.HORA_ENTRADA"
   . " FROM HOT003"
   . " JOIN HOT001 ON HOT001.CODIGO = HOT003.COD_SUITE"
   . " JOIN CAD001 ON CAD001.CODIGO = HOT003.COD_CLIENTE"
   . " WHERE HOT003.CODIGO = '" . [glo_reserva] . "'";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]}))     // ENCONTRADO
{
	$entrada = {rs[0][0]};
	//$saida = {rs[0][1]};
	$saida = date("Y-m-d");
		
	$data_entrada = pegaTimeStamp($entrada);
	$data_saida = pegaTimeStamp($saida);
	
	$diferenca = $data_saida - $data_entrada;	
	$dias = (int)floor($diferenca / (60 * 60 * 24));
	
	$entrada = sc_date_conv({rs[0][0]},"db_format","dd/mm/aaaa");
	$saida = sc_date_conv({rs[0][1]},"db_format","dd/mm/aaaa");
	?>
			<script>
				function imprime_form()
				{				
					if (confirm('Deseja imprimir essa pagina?')) {
						document.getElementById('imprimir').style.visibility = 'hidden';
						document.getElementById('voltar').style.visibility = 'hidden';
						window.print();	
					}
				}
				function voltar_blank() 
				{
					history.back();
					/*var iframe = document.getElementById('nmsc_iframe_consulta_checkin');
					var src = "../blank/blank.php";
					iframe.src = src;*/
				}
			</script>

		<!-- CÓDIGO DE GERAÇÃO DE DIÁRIAS E CONSUMOS -->
			<style>
				tr {
					border: 1px solid black;
				}
				#main {
					border: 1px solid black;
					font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
					font-size: 13px;
				}
				.title {
					font-size: 25px;
					text-align: center;
				}
				.nome {
					font-size: 14px;
				}
				#info {
					font-size: 13px;
					text-align: center;		
				}
				#endereco {
					border: 0px;
					font-size: 12px;
				}
				.total {
					color: #CC0000;
					font-size: 13px;
					vertical-align: top;
				}
				
				
			</style>
			
			<table id="main" border=0 width="680" cellspacing=0 cellpadding=0>
				<tr>
					<td height=120 rowspan=2 colspan=1 style="border-bottom: 1px solid black; border-right: 1px solid black" align="center">
						<img src="../_lib/img/logo_ext.png">
					</td>
					<td colspan=5 height=60 class="title" style="border-bottom: 1px solid black;">
						<b><i> APIDES PALACE HOTEL </i></b> <br>
						<b><span id="info">Extrato para simples conferência</span></b>
					</td>
				</tr>
				<tr>
					<td colspan=5 style="border-bottom: 1px solid black;">
						<table border=0 cellspacing=0 cellpadding=0 width="100%" id="endereco">
							<tr>
								<td><b>Endereço:</b></td>
								<td colspan=2> ROD BR 101 NORTE KM 17, 809 </td>
								<td> <b>CEP:</b> 29830-000</td>
							</tr>
							<tr>
								<td><b>Cidade:</b></td>
								<td> PEDRO CANÁRIO - ES </td>
								<td><b>Fone:</b> (27) 3764-2223</td>
								<td><b>Fax:</b> (27) 3764-0045</td>
							</tr>
							<tr>
								<td><b>CNPJ:</b></td>
								<td> 07.683.292/0001-53 </td>
								<td><b>Inscri&ccedil;&atilde;o Estadual:</b></td>
								<td> ISENTO</td>
							</tr>
						</table>
					</td>
				</tr>
				<tr>
					<td class="nome" colspan=5>
						<b>Titular:</b><b><?php echo " " . {rs[0][4]} ?></b>
					</td>
					<td>
						<?php echo date("d/m/Y"); ?>
					</td>
				</tr>
				<tr>
					<td>
						<b>Empresa:</b>
					</td>
					<td colspan=5>
						
					</td>
				</tr>
				<tr>
					<td style="border-bottom: 1px solid black;" colspan=2>
						<b>Data Chegada:</b><?php echo " ". $entrada . " " . {rs[0][5]} ?>
					</td>
					<td style="border-bottom: 1px solid black;">
						<b>Saída:</b>
					</td>
					<td style="border-bottom: 1px solid black;" colspan=2>
						<?php echo $saida . " " . {rs[0][5]}; ?>
					</td>
					<td class="nome" style="border-bottom: 1px solid black;">
						<b>Apartamento:</b>&nbsp;&nbsp;<b><?php echo {rs[0][3]} ?></b>
					</td> 
				</tr>
			<tbody bgcolor="#D0D0D0">
				<tr>
					<td style="border-bottom: 1px solid black;">
						Ponto de Venda
					</td>
					<td style="border-bottom: 1px solid black;">
						Comanda
					</td>
					<td style="border-bottom: 1px solid black;">
						Data
					</td>
					<td style="border-bottom: 1px solid black;" align="center">
						Quant.
					</td>
					<td style="border-bottom: 1px solid black;">
						Produto
					</td>
					<td style="border-bottom: 1px solid black;" align="right">
						Valor
					</td>
				</tr>
			</tbody>
				<!-- LOOP COMEÇA AQUI  -->
<?php
			$check_sql = "SELECT HOT002.VALOR FROM HOT003"
    			. " JOIN HOT001 ON HOT001.CODIGO = HOT003.COD_SUITE"
				. " JOIN HOT002 ON HOT002.TIPO_SUITE = HOT001.TIPO"
   				. " WHERE HOT003.CODIGO = '" . [glo_reserva] . "'"
				. " AND HOT002.COD_MODELO = '".[glo_modelo]."'"
				. " AND HOT002.TIPO = '".[glo_tipo]."'";
			sc_lookup(rs, $check_sql);
			
			$valor_diaria = 0.00;
			if (isset({rs[0][0]}))
			{
				$dia_acomp = $valor_add + {rs[0][0]};
				for ($i=1; $i<=$dias; $i++) {
					$valor_diaria = (float)$valor_diaria + $dia_acomp;
					if ($i == 1) {
						$titulo = "DIÁRIA";
						$borda = "border-right: 1px solid black; border-bottom: 0px";
					}
					else if ($i < $dias) {
						$titulo = "";
						$borda = "border-right: 1px solid black; border-bottom: 0px";
					}
					else {
						$titulo = "";
						$borda = "border-right: 1px solid black; border-bottom: 1px solid black;";
					}
?>
					<tr>
						<td style="<?php echo $borda; ?>">
							<?php echo $titulo; ?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							0
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							<?php 
								$explode = sc_date($entrada, "dd/mm/aaaa", "+", $i, 0, 0);
								$explode = explode("/", $explode);
								$dia = $explode[0];
								$mes = $explode[1];
								
								echo $dia ."/". $mes;
							?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;" align="center">
							1,00
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							DIÁRIA
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;" align="right">
							<?php 
								echo number_format($dia_acomp,2,",","."); // Valor da diária
							?>
						</td>
					</tr>
				<!-- FECHA TR DO LOOP -->
<?php
				}
			}
?>
				<!-- LOOP COMEÇA AQUI PRODUTOS -->
<?php
			$sql = "SELECT MES002.QTDE, EST003.NOME, MES002.TOTAL, MES002.CODIGO, HOT001.CODIGO FROM HOT003"
					. " JOIN HOT001 ON HOT001.CODIGO = HOT003.COD_SUITE"
					. " JOIN mes002 ON MES002.cod_mesa = hot001.nome"
					. " JOIN est003 ON est003.codigo = mes002.COD_PRODUTO"
					. " JOIN mes001 ON mes001.cod_hospedagem = hot003.CODIGO"
   					. " WHERE HOT003.CODIGO = '" . [glo_reserva] . "'"
					. " AND MES001.SITUACAO <> 0";
			sc_lookup(bs, $sql);
			$valor_frigobar = 0.00;
			$count = count({bs});
			if (isset({bs[0][0]})) {
				for ($j=0; $j<$count; $j++) {
					$valor_frigobar = $valor_frigobar + {bs[$j][2]};
					if ($j == 0) {
						$titulo = "PRODUTOS";
						$borda = "border-right: 1px solid black; border-bottom: 0px";
					}
					else if ($j < ($count-1)) {
						$titulo = "";
						$borda = "border-right: 1px solid black; border-bottom: 0px";
					}
					else {
						$titulo = "";
						$borda = "border-right: 1px solid black; border-bottom: 1px solid black;";						
					}
?>
					<tr>
						<td style="<?php echo $borda; ?>">
							<?php echo $titulo; ?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							<?php echo {bs[0][3]} ?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							DATA
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;" align="center">
							<?php 
								echo number_format({bs[$j][0]},2,",",".");  
								// Quantidade
							?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;">
							<?php 
								echo {bs[$j][1]};
								// Descrição
							?>
						</td>
						<td style="border-right: 1px solid black; border-bottom: 1px solid black;" align="right">
							<?php 
								echo number_format({bs[$j][2]},2,",","."); 
								// Valor
							?>
						</td>
					</tr>
					<!-- FECHA TR DO LOOP -->
<?php
				}
			}
?>
				
				<tr>
					<td rowspan=7 colspan=4 style="border-right: 1px solid black;" valign="top">
						<br>OBS: Detalhes são insuficientes.
					</td>
					<td colspan=1>
						DIÁRIAS
					</td>
					<td align="right">
						<? 
							echo number_format($valor_diaria,2,",","."); 
							// Total das diárias
						?>
					</td>
				</tr>	
				<tr>
					<td colspan=1>
						FRIGOBAR
					</td>
					<td align="right">
						<?php 
							echo number_format($valor_frigobar,2,",","."); 
							// Total Frigobar  
						?>
					</td>
				</tr>	
				<tr>
					<td colspan=1 style="border-bottom: 1px solid black;">
						LAVANDERIA
					</td>
					<td style="border-bottom: 1px solid black;" align="right">
						0,00
					</td>
				</tr>	
				<tr>
					<td colspan=1>
						TOTAL DA CONTA
					</td>
					<td align="right">
						<?php 
							$total_parcial = $valor_frigobar + $valor_diaria;
							echo number_format($total_parcial,2,",",".");  // Total parcial						
						?>
					</td>
				</tr>	
				<tr>
					<td colspan=1>
						DESCONTO
					</td>
					<td align="right">
						<?php //Falta criar campo desconto
							$desconto = 0.00;
							echo number_format($desconto,2,",",".");
						?>
					</td>
				</tr>	
				<tr>
					<td colspan=1 style="border-bottom: 1px solid black;">
						ADIANTAMENTO
					</td>
					<td style="border-bottom: 1px solid black;" align="right">
						<?php //Falta criar campo adiantamento
							$adiantamento = 0.00;
							number_format($adiantamento,2,",",".");
						?>
					</td>
				</tr>	
				<tr>
					<td colspan=1 height="70" class="total">
						<b>TOTAL GERAL</b>
					</td>
					<td class="total" align="right">
						<?php 
							$total_geral = ($valor_frigobar + $valor_diaria) - $desconto - $adiantamento;
							echo number_format($total_geral,2,",","."); // Total Geral
						?>
					</td>
				</tr>
			</table>
			<table id="botoes" border=0 width="680" cellspacing=0 cellpadding=0>
				<tr>
					<td width="50%" align="right">
						<a href="../blank/blank.php">VOLTAR</a>
						<input id="voltar" name="voltar" value="Voltar" type="button" onClick="voltar_blank()">
					</td>
					<td align="left">
						<input id="imprimir" name="imprimir" value="Imprimir" type="button" onClick="imprime_form()">
					</td>
				</tr>
			</table>
	<!-- FIM DO CÓDIGO --> 
	<?php
	
	/*$inicio = '08-10-2008 10:00:00';
	$tolerancia = "02:00:00";
	
	$resultado = somaHoras($inicio, 1, $tolerancia);
	echo "<br>". $resultado;*/
}
else     // NÃO ENCONTRADO
{
	sc_error_message("ERRO DE PROCURA!");
}

Obrigado. vou estudar esse código.
parece que é isso mesmo que preciso.

Cara tem que ver o conteúdo da sua blank, acredito que dá pra adaptar pro formato livre mas sem ver o código complica. Mas uma opção é usar o include da biblioteca FPDF e chamar pra converter o html gerado.

Eu tenho mania de desenhar HTML com php e mysql então eu sempre faço assim, ainda nem parei pra estudar a consulta com sub-consultas. Mas em breve eu vou tentar usa-la pra ver se me poupa tempo.

Olá Saulo,

No momento estou tentando utilizar umas bibliotecas externas para gerar o pdf apartir do html. Veja que no final tem o código comentado das mesmas.
Segue código:

//Parametros passados pelas telas ctrl_imprime_boleto_venda e nf_saida
//Formatacao das datas: inicial e final
if ([p6] == “F”) {
[p2] = sc_date_conv([p2],“aaaammdd”,“dd/mm/aaaa”);
[p3] = sc_date_conv([p3],“aaaammdd”,“dd/mm/aaaa”);
} else {
[p4] = “(”.[p4].")";
}

//Montagem da clausula WHERE
$var_where = " id_forma_pagamento = 3 AND nsp.id NOT IN (SELECT id_nf_saida_parcela FROM recebimento) AND (bol.impresso = ‘[p5]’ OR ‘[p5]’ = ‘T’)";

if (!empty([p1])) {
$var_where .= " AND cli.codigo = ‘[p1]’";
}

if (!empty([p2])) {
$var_where .= " AND nfs.data_venda between ‘[p2]’ AND ‘[p3]’";
}

if (!empty([p4])) {
$var_where .= " AND cli.id IN [p4]";
}

if (!empty([p8])) {
$var_where .= " AND cli.cnpj = ‘[p8]’";
}

/Inicio Lookups: para obtencao de dados para preenchimento do boleto/
sc_lookup(rs, “SELECT distinct cli.razao_social, cli.logradouro, cli.cidade, cli.uf, cli.cep,
nfs.numero_nf, nsp.parcela, nsp.data_vencimento, bol.valor,
cli.nome_fantasia, cli.codigo, nfs.id, cli.cnpj, cli.bairro, bol.nosso_numero,
bol.gerado_data, nfs.valor_total
FROM boleto bol
INNER JOIN nf_saida_parcela nsp ON nsp.id = bol.id_nf_saida_parcela
INNER JOIN nf_saida nfs ON nfs.id = nsp.id_nf_saida
INNER JOIN nf_saida_item nfsi ON nfsi.id_nf_saida = nfs.id
INNER JOIN cliente cli ON cli.id = nfs.id_cliente
WHERE “. $var_where .” ORDER BY nsp.parcela”);

sc_lookup(cedente, “SELECT ced.nosso_numero, ced.agencia, ced.agencia_digito,
ced.conta, ced.conta_digito, ced.carteira, ced.id, ced.nome,
bco.codigo, ced.convenio
FROM cedente as ced
INNER JOIN banco bco ON ced.id_banco = bco.id”);

sc_lookup(carta, “SELECT conteudo, id FROM modelo_carta”);

/Fim Lookups/

if (isset($rs) && !empty($rs)) {/Verifico se esta setado array vindo do lookup rs/
//Contagem de parcelas
sc_lookup(count_parc, “SELECT count(*) FROM nf_saida_parcela nsp
INNER JOIN nf_saida nfs ON nfs.id = nsp.id_nf_saida
INNER JOIN cliente cli ON cli.id = nfs.id_cliente
WHERE nfs.id = “. $rs[0][11].””);

//Verifica o num.de registros, recebe cast para inteiro e armazena na count_reg.
$count_reg = (int)count($rs);

//Rodrigo: SQL para busca de produtos do item da PRIMEIRA NF		
sc_lookup(pdt, "SELECT prod.nome, nfi.quantidade,
	nfi.valor_unitario, nfi.valor_total FROM produto prod
	INNER JOIN nf_saida_item nfi ON nfi.id_produto = prod.id
	WHERE nfi.id_nf_saida = ". $rs[0][11] ." ORDER BY prod.nome");		

//Recebe id da NF_SAIDA.
$id_nfSaida = $rs[0][11]; 

for ($i = 0; $i < $count_reg; $i++) { //Realiza repeticao até o ultimo registro encontrado.
	// DADOS DO BOLETO PARA O SEU CLIENTE
	$dias_de_prazo_para_pagamento = 10;
	$data_venc = sc_date_conv($rs[$i][7],"aaaa-mm-dd", "dd/mm/aaaa");// Prazo de X dias OU informe data: "13/04/2006"; 
	$valor_cobrado = $rs[$i][8]; // Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal
	$valor_boleto= number_format($valor_cobrado, 2, ',', '');
	$dadosboleto["nosso_numero"] = $rs[$i][14];  //Conforme instruções do cliente
	$dadosboleto["numero_documento"] = $rs[$i][5];// Num do pedido ou do contrato
	$dadosboleto["data_vencimento"] = $data_venc; // Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA
	$dadosboleto["data_documento"] = date("d/m/Y"); // Data de emissão do Boleto
	$dadosboleto["data_processamento"] = sc_date_conv($rs[$i][15],"aaaa-mm-dd", "dd/mm/aaaa"); // Data de processamento do boleto (opcional)
	$dadosboleto["valor_boleto"] = $valor_boleto; 	// Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula
	$dadosboleto["carta"] = $carta[0][0];
	
	//Alterar o texto da carta colocando o vencimento e numero da parcela dinamicamente
	$modelo_carta = str_replace('|vencimento|', $data_venc, $carta[0][0]);
	$modelo_carta = str_replace('|parcela_inicio|', $rs[$i][6], $modelo_carta);
	$modelo_carta = str_replace('|parcela_fim|', $count_parc[0][0], $modelo_carta);
	$dadosboleto["carta"] = $modelo_carta;
			
	// DADOS DO SEU CLIENTE
	$dadosboleto["sacado"] = $rs[$i][0];
	$dadosboleto["sacado_cnpj"] = $rs[$i][12];
	$dadosboleto["endereco1"] = $rs[$i][1] . " - " . $rs[$i][13];
	$dadosboleto["endereco2"] = $rs[$i][2] ." - ". $rs[$i][3] ." - ". $rs[$i][4];
	$dadosboleto["fantasia"] =  $rs[$i][9];
	$dadosboleto["codcliente"] = $rs[$i][10];
	
	//PARCELA
	$dadosboleto["parcela"] = $rs[$i][6];								
	
	//Verifica se houve mudanca de id da NF_SAIDA
	if($id_nfSaida != $rs[$i][11] ){
		//Atribui o id da nova NF_SAIDA
		$id_nfSaida = $rs[$i][11];
		
		//Recontagem de parcelas
		sc_lookup(count_parc, "SELECT count(*) FROM nf_saida_parcela nsp
			INNER JOIN nf_saida nfs ON nfs.id = nsp.id_nf_saida 
			INNER JOIN cliente cli ON cli.id = nfs.id_cliente
			WHERE cli.id_tipo_cliente = 2 and nfs.id = $id_nfSaida ");
			
		//Rodrigo: SQL para busca de produtos APOS A PRIMEIRA NF (Se houver)		
		sc_lookup(pdt, "SELECT prod.nome, nfi.quantidade,
			nfi.valor_unitario, nfi.valor_total FROM produto prod
			INNER JOIN nf_saida_item nfi ON nfi.id_produto = prod.id
			WHERE nfi.id_nf_saida = $id_nfSaida ORDER BY prod.nome");			 
	}
	
	// INFORMACOES PARA O CLIENTE
	$dadosboleto["instrucoes1"] = "- ESTE BOLETO REFERE-SE A CAMPANHA LIQUIDA SALVADOR 2013";
	$dadosboleto["instrucoes2"] = "- NÃO RECEBER ESTE BOLETO COM 10 DIAS DE VENCIDO";
	$dadosboleto["instrucoes3"] = "- NÃO RECEBER ESTE BOLETO COM DESCONTO";
	$dadosboleto["instrucoes4"] = "- Em caso de dúvidas entre em contato conosco: financeiro@cdl.com.br";
	$dadosboleto["instrucoes5"] = "&nbsp&nbspParcela " . $dadosboleto["parcela"] . " de " . $count_parc[0][0];
									
	// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE
	$dadosboleto["quantidade"] = "001";
	$dadosboleto["valor_unitario"] = $valor_boleto;
	$dadosboleto["aceite"] = "";		
	$dadosboleto["especie"] = "R$";
	$dadosboleto["especie_doc"] = "DS";
	
	// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //
	// DADOS DA SUA CONTA - Bradesco
	$dadosboleto["agencia"] = $cedente[0][1]; // Num da agencia, sem digito
	$dadosboleto["agencia_dv"] = $cedente[0][2]; // Digito do Num da agencia
	$dadosboleto["conta"] = $cedente[0][3]; 	// Num da conta, sem digito
	$dadosboleto["conta_dv"] = $cedente[0][4]; 	// Digito do Num da conta
	
	// DADOS PERSONALIZADOS - Bradesco
	$dadosboleto["conta_cedente"] = $cedente[0][3];; // ContaCedente do Cliente, sem digito (Somente Números)
	$dadosboleto["conta_cedente_dv"] = $cedente[0][4]; // Digito da ContaCedente do Cliente
	$dadosboleto["carteira"] = $cedente[0][5];  // Código da Carteira: pode ser 06 ou 03
	$dadosboleto["banco"] = $cedente[0][8]; // Codigo do banco
	$dadosboleto["convenio"] = $cedente[0][9]; //Convenio do cedente
	
	// SEUS DADOS
	$dadosboleto["identificacao"] = "CDL - Boleto de cobrança bancária";
	$dadosboleto["cpf_cnpj"] = "15.178.692/0001-30";
	$dadosboleto["endereco"] = "Rua Carlos Gomes, 1063 - Aflitos";
	$dadosboleto["cidade_uf"] = "Salvador / Bahia";
	$dadosboleto["cedente"] = $cedente[0][7];
	
	//Rodrigo: LISTAR PRODUTOS DA NF		
	$tab_produtos = '';
	$dadosboleto["kitnome"] = '';
	for($x = 0; $x < count($pdt); $x++){
		//Verifica se o produto eh kit e adciona o nome do kit sem discriminacao de
		//socio ou nao socio para uso no layout_bradesco_prevenda.php (include).
		if(strtoupper(substr($pdt[$x][0], 0, 3)) == "KIT"){
			//Verifica se o kit tem o separador (-) de NO/PP '-' socio/nao socio
			if(!strrpos($pdt[$x][0], "-")){ 
				$dadosboleto["kitnome"] .= $pdt[$x][1]  . " - " . 
				$pdt[$x][0] . "; ";
			}else{
				$dadosboleto["kitnome"] .= $pdt[$x][1]  . " - " . 
				substr($pdt[$x][0] , 0, strrpos($pdt[$x][0], "-")) . "; ";					
			}
		}			
		
		//Montagem dinamica das linhas e celulas da tabela de produtos no boleto
		//iniciada no layout_bradesco_venda.php (include).
		$tab_produtos .= "<tr>
				<td class='cp' align='left'>					
				" . $pdt[$x][0] ."
				</td>
				<td class='cp' align='right'>					
				" . $pdt[$x][1] ."				
				</td>
				<td class='cp' align='right'>					
				" . number_format($pdt[$x][2] , 2 , ',' , '.') . "					
				</td>
				<td class='cp' align='right'>					
				" . number_format($pdt[$x][3] , 2 , ',' , '.') ."					
				</td>
				</tr>";
	}
	//Rodrigo: Montagem estatica das informacoes de parcelas, total parcela e total venda.
	$tab_produtos .= "<tr>
			  	<td colspan='4' style='border-bottom:1px solid; border-bottom-color:#000000'>&nbsp;
			  	</td>				  
			  </tr>
			  <tr>
			  	<td class='cp' align='left'>
			  		PARCELA " . $rs[$i][6] . " DE " . $count_parc[0][0] . " 
			  	</td>
			  	<td class='cp' align='right'>
			  		VALOR DESTA PARCELA R$ " . number_format($valor_cobrado , 2 , ',' , '.') . "
			  	</td>				  
			  	<td colspan='2' class='cp' align='right'>
			  		TOTAL DA VENDA R$ " . number_format($rs[0][16], 2, ',' , '.') . "
			  	</td>
			  </tr>
			  ";
	$dadosboleto["produtos"] = $tab_produtos;		
	
	
	 //inicia o buffer		
	//ob_start();
	
	// NÃO ALTERAR!
	include_once("include/funcoes_bradesco.php");	
	
	
	//gera_boleto(&$dadosboleto);
	$dadosboleto = gera_boleto_2($dadosboleto);
		

	//O Teste abaixo verifica o parametro P7 quanto a tipo de boleto (P=prevenda / V=venda) que deve ser impresso.
	if([p7] == "P"){
		include("include/layout_bradesco_prevenda.php");
	}else{
		include("include/layout_bradesco_venda.php");
	}
	
		
	include("include/layout_correio.php");

	//$htmlBoleto = ob_get_clean();
	
	//Criando um novo arquivo
	//file_put_contents("boleto.htm", $htmlBoleto);
	
	//require_once('..\..\..\..\dompdf\dompdf_config.inc.php');
	//$html = file_get_contents("boleto.htm"); 
	//$dompdf = new DOMPDF();
	//$boletoPdf = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
	//$dompdf->load_html($boletoPdf);
	//$dompdf->set_paper("A4", "portrait");
	//$dompdf->render();
	//$dompdf->stream('boleto.pdf');
	

	//C:\Arquivos de programas\netmake\v6\wwwroot\


	//require_once('..\..\..\..\html2pdf\html2pdf.class.php');
	//$html = file_get_contents("boleto.htm"); 
 	//$html2pdf = new HTML2PDF('P','A4','fr');
 	//$html2pdf->WriteHTML($html);
 	//$html2pdf->Output('boleto.pdf');
	//exit;
	
	//Flegar o boleto como IMPRESSO
	$sql = "UPDATE boleto SET impresso = 'S' WHERE nosso_numero = '".$rs[$i][14]."'";
	sc_exec_sql($sql);
}

} else {
sc_alert(“Estes boletos jah foram impressos ou nao existem”);
}

Resolvi o problema de imprimir várias páginas e repetir o layout sem a necessidade de interferir no código do reportPDF…
apenas desenho o formulario com a biblioteca e o resto com o proprio report…

na proxima semana vou publicar em vídeo …

Tatauzinho, o seu script esta certinho, o que você pode fazer é jogar o buffer direto para a FPDF:

Isso aqui tem no manual do SC

sc_include_lib ("fpdf");

$pdf=new FPDF();
$pdf->Output('../tmp/boleto.pdf'); //aqui no output você pode especificar a variável com o conteúdo do buffer e salvar em um diretório.

Olá Saulo,

Já tentei ler do buffer e inlusive ler o html gerado salvo em um diretório. Tudo isso com várias bibliotecas. E todas deram erros muito loucos…rsrs.
Não encontrei meneira de ler o html com a FPDF. Tenho que recontruir todo meu boleto?

Obrigado mais uma vez.

Já testou essa?

http://imasters.com.br/artigo/10394/php/convertendo-html-para-pdf-em-php

Tatauzinho, leia a documentação da FPDF, tudo esta disponível no SC, na verdade eu te passei o esquema errado deveria ter passado assim, esse trecho é de um código meu que faz exatamente o que vc esta tentando:

sc_include_lib("fpdf_html");
$pdf=new HTML2FPDF();
$pdf->WriteHTML("aqui vc coloca a variável que esta com o buffer html armazenado");
$pdf->Output("aqui você especifica um diretório para salvar juntamente com o nome do arquivo que deseja salvar");

Olá Saulo,

Já havia tentado isso também. Não obtive sucesso. Apresentou seguintes erros:
ERRO
Undefined index: cp
ERRO
Undefined index: s
.
.
.

Estou atualmente trabalhando com o BoletoPhp + mPDF. Até agora é o que estou conseguindo melhores resultados com pouca adaptação no código html que vai dentro da variável. Apesar da formatação do boleto no PDF ainda estar meio desformatada.

Segue o exemplo que nosso amigo nos indicou:
http://blog.fragasoft.com/salvando-boleto-php-em-pdf/

Obrigado mais uma vez.

Jean você poderia me dar uma força com isso aí? Tô me arrebentando aqui pra tentar resolver esse problema de repetir a imagem (layout) de fundo na páginas e não consigo. Só aparece a imagem na primeira (na opção de relatório de um Registro por Página).