AF
Impressão não fiscal daruma dr800 tamanho do papel
Boa noite. Estou criando um método para imprimir um pdf em uma impressora não fiscal daruma dr800.
A conexão está sendo feita corretamente. Eu crio um pdf de tamanho pequeno (6/7 cm) e ele aparece no tamanho correto no preview da impressão.
O problema é quando imprime, o tamanho do papel sai muito maior que a configuração (6/7 cm), ou seja, sai muito mais papel da bobina do que o tamanho configurado.
Alguém poderia me ajudar?
Saberia alguma configuração que teria que fazer?
Atenciosamente,
Ailton Furtado
public function onPrint($param)
{
try
{
if (isset($param['key']))
{
$key = $param['key'];
TTransaction::open('jorge');
$lancamentos = new Lancamentos($key);
$lancamentos->valor_lancamento = number_format($lancamentos->valor_lancamento, 2, ',', '.');
$pdf = new FPDF('P','cm',array(6,7));
$pdf->AddPage();
$pdf->SetFont('Times','',8);
$pdf->Cell(0,0.3,"Destino: ".$lancamentos->get_nome_contas(),'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Mensalista: ".utf8_decode($lancamentos->get_nome_mensalistas()),'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Valor: ".$lancamentos->valor_lancamento,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Ano: ".$lancamentos->ano_referencia,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,utf8_decode("Mês: ").$lancamentos->mes_referencia,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,utf8_decode("Data Lançamento: ").$lancamentos->data_lancamento,'C');
$pdf->Output("app/output/recibo.pdf");
parent::openFile("app/output/recibo.pdf");
TTransaction::close();
}
}
catch (Exception $e)
{
new TMessage('error',$e->getMessage());
TTransaction::rollback();
}
}
A conexão está sendo feita corretamente. Eu crio um pdf de tamanho pequeno (6/7 cm) e ele aparece no tamanho correto no preview da impressão.
O problema é quando imprime, o tamanho do papel sai muito maior que a configuração (6/7 cm), ou seja, sai muito mais papel da bobina do que o tamanho configurado.
Alguém poderia me ajudar?
Saberia alguma configuração que teria que fazer?
Atenciosamente,
Ailton Furtado
public function onPrint($param)
{
try
{
if (isset($param['key']))
{
$key = $param['key'];
TTransaction::open('jorge');
$lancamentos = new Lancamentos($key);
$lancamentos->valor_lancamento = number_format($lancamentos->valor_lancamento, 2, ',', '.');
$pdf = new FPDF('P','cm',array(6,7));
$pdf->AddPage();
$pdf->SetFont('Times','',8);
$pdf->Cell(0,0.3,"Destino: ".$lancamentos->get_nome_contas(),'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Mensalista: ".utf8_decode($lancamentos->get_nome_mensalistas()),'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Valor: ".$lancamentos->valor_lancamento,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,"Ano: ".$lancamentos->ano_referencia,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,utf8_decode("Mês: ").$lancamentos->mes_referencia,'C');
$pdf->ln(0.3);
$pdf->Cell(0,0.3,utf8_decode("Data Lançamento: ").$lancamentos->data_lancamento,'C');
$pdf->Output("app/output/recibo.pdf");
parent::openFile("app/output/recibo.pdf");
TTransaction::close();
}
}
catch (Exception $e)
{
new TMessage('error',$e->getMessage());
TTransaction::rollback();
}
}
Ailton,
Acredito que haja um caminho melhor para você traçar. As impressoras daruma possuem um framework específico para impressão através de php e/ou javascript de tal modo que a impressão pode acontecer de forma mais semelhante a sistemas desktops, sem aparecer o relatório desejado. Simplesmente a impressão sai a partir de um evento, de fechamento de pedido, por exemplo.
Obrigado Alisson.
Vou dar uma olhada.
Atenciosamente,
Ailton Furtado
Ailton Furtado, conseguiste resolver? Estou com o mesmo problema em uma TM t20 da Epson! :(
Bom dia João.
Consegui sim. Mas tive que utilizar o xampp com o php 5.4. As dll da Daruma só foram desenvolvidas para esse php, as versões superiores não funcionam.
.
Até hoje não vi nada em relação ao php mais recente.
Segue os links que me nortearam:
www.desenvolvedoresdaruma.com.br/sddn/ddcmkt/ddcmkt_004_13.html
https://www.youtube.com/watch?v=Yuhs5I9TMRA
Está funcionando corretamente, imprimo os recibos que necessito.
Qualquer dúvida, favor entre em contato.
Boa tarde João, respondi o post na correria pensando que era de conexão.
João, como o que precisava era a impressão de um simples recibo, mudei de pdf para essa função que criei abaixo, Veja se te ajuda?
Desculpe o erro na resposta anterior.
public function onPrint($param)
{
try
{
if (isset($param['key']))
{
$key = $param['key'];
TTransaction::open('xxx');
$lancamentos = new Lancamentos($key);
$lancamentos->valor_lancamento = number_format($lancamentos->valor_lancamento, 2, ',', '.');
$txt = utf8_decode(" xxxxn");
$txt .= "Destino: ".$lancamentos->get_nome_contas()."n";
$txt .= "Mensalista: ".utf8_decode($lancamentos->get_nome_mensalistas())."n";
$txt .= utf8_decode("Descrição: ".$lancamentos->descricao_lancamento)."n";
$txt .= "Valor: ".$lancamentos->valor_lancamento."n";;
$txt .= "Ano: ".$lancamentos->ano_referencia."n";;
$txt .= utf8_decode("Mês: ").$lancamentos->mes_referencia."n";
$txt .= utf8_decode("Data Lançamento: ").$lancamentos->data_lancamento."n";
$txt .= "n";
$txt .= "n";
$txt .= "n";
$txt .= "n";
$txt .= "n";
$txt .= "n";
$txt .= "n";
TTransaction::close();
$retorno = iImprimirTexto_DUAL_DarumaFramework($txt,0);
}
}
catch (Exception $e)
{
new TMessage('error',$e->getMessage());
TTransaction::rollback();
}
}