Imprimir para impressoras em PHP
Estou tentando configurar um aplicativo PHP da CLI para imprimir um conjunto de páginas da web em uma impressora padrão ou especificada. Estou em uma máquina Windows 7 com o PHP 5.2.11 em execução em uma CLI. Para testar a funcionalidade de impressão, carreguei o PHP_printer.dll e estou imprimindo no Onenote, uma opção de impressão em arquivo, usando o nome exato da impressora fornecido em PRINTER_ENUM_LOCAL.
Atualiza: Aqui está o código mais recente:
$handle = printer_open("Send To OneNote 2010");
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$filename='index.html';
$fhandle=fopen($filename, 'r');
$contents = fread($fhandle, filesize($filename));
fclose($fhandle);
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle,$contents);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
Eu recebi esse código para imprimir uma página em branco na impressora correta, mas não consigo imprimir as seqüências de caracteres que eu passo para printer_write. Eu confirmei que$contents
é preenchido corretamente com o conteúdo do meu arquivo html de teste. Não importa o que forneço como o segundo argumento (sequência a ser impressa), recebo uma página em branco. Falta alguma coisa para pelo menos permitir que eu imprima algum texto em uma página?
Alternadamente, existe uma maneira melhor de fazer isso (usando arquivos PHP / javascript)? O que estou tentando fazer é imprimir páginas da Web como elas aparecem (CSS incluído) por meio de um aplicativo CLI, o site está escrito em PHP e estou tentando minimizar a complexidade. Se houver uma maneira melhor de imprimi-las (converter para PDF e imprimir é uma opção, aparentemente), estou aberto, mas parecia que esse era o método mais simples / de fato no PH