Oi, pessoal
Andei olhando no fórum sobre um aplicativo chamado lpansi, que serve para enviar um arquivo para a impressora.
Eu baixei 2 fontes na net, compilei o arquivo mas não está dando certo.
No putty eu selecionei a impressora PDF e só.
No servidor eu faço lpansi <nome do arquivo texto>
Eu até recebo o arquivo, mas os utilitários que eu testei não funcionaram. O PDF não abre no primopdf, no cutepdf ele abre mas a página está em branco. O pdf24 é o que melhor desempenho apresenta, mas nem todas as páginas aparecem.
Testei o cutepdf, primopdf e pdf24
Se alguém usa esse método eu queria saber se ele pode ser usado com impressoras virtuais (pdf) e se tem alguma configuração a fazer no putty além de selecionar a impressora.
Se não for pedir demais alguem poderia colar o arquivo de configuração que usa no putty ?
Valeu pessoal.
lpansi
Moderador: Moderadores
lpansi
Editado pela última vez por Pablo César em 28 Mai 2013 06:58, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Harbour.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Harbour.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
lpansi
Eu nunca usei lpansi, mas como faltou o código fui a procura dele e vi dois exemplos. Só que achei mais completo este:
Não sei se ajuda, mas veja se é o mesmo e compile para testar.
Código: Selecionar todos
/********************************************************
* lpansi.c *
* Original author: Gary Day, 11/30/93 *
* Current version: 2.1 by Noel Hunter, 10/20/94 *
* *
* Basic structure based on print -- format files for *
* printing from _Pratical_C_Programming by Steve *
* Oualline, O'Reilly & Associates *
********************************************************/
#include <stdio.h>
#include <stdlib.h> /* ANSI Standard only */
#include <string.h>
#ifdef VMS
#include <unixio.h>
#include <unixlib.h>
#endif /* VMS */
int verbose = 0; /* verbose mode (default = false) */
int formfeed = 1; /* form feed mode (default = true) */
char *program_name; /* name of the program (for errors) */
/* Ansi C function prototypes */
void ansi_printer_on(void);
void ansi_printer_off(void);
int main(int argc, char *argv[]);
main(int argc, char *argv[])
{
void do_file(char *); /* print a file */
void usage(void); /* tell user how to use the program */
/* save the program name for future use */
program_name = argv[0];
/*
* loop for each option.
* Stop if we run out of arguments
* or we get an argument without a dash.
*/
while ((argc > 1) && (argv[1][0] == '-')) {
/*
* argv[1][1] is the actual option character.
*/
switch (argv[1][1]) {
/*
* -v verbose
*/
case 'v':
verbose = 1;
(void)printf("VERBOSE mode ON\n");
break;
case 'f':
formfeed = 0;
break;
default:
(void)fprintf(stderr,"Bad option %s\n", argv[1]);
usage();
}
/*
* move the argument list up one
* move the count down one
*/
argv++;
argc--;
}
/*
* At this point all the options have been processed.
* Check to see if we have no files in the list
* and if so, we need to process just standard in.
*/
if (argc == 1) {
do_file("stdin");
} else {
while (argc > 1) {
do_file(argv[1]);
argv++;
argc--;
}
}
return (0);
}
/********************************************************
* do_file -- send a file to the printer *
* *
* Parameter *
* name -- name of the file to print *
********************************************************/
void do_file(char *name)
{
int ch; /* Where we store our characters */
FILE *fp; /* File pointer */
if ( verbose == 1 ) (void)printf("Processing: %s\n", name);
ansi_printer_on();
if ( strcmp(name,"stdin") == 0 )
{
while ((ch=getc(stdin))!=EOF)
{
putc(ch,stdout);
}
}
else /* Reading from a file */
{
if ((fp=fopen(name, "r"))==NULL)
{
printf("Can't open %s\n",name);
exit(1);
}
while ((ch=getc(fp))!=EOF)
{
putc(ch,stdout);
}
fclose(fp);
}
if ( formfeed == 1 )
{
printf("\n\x0C"); /* Do a form feed at the end of the document */
}
ansi_printer_off();
if ( verbose == 1 ) (void)printf("Finished processing: %s\n", name);
}
/********************************************************
* usage -- tell the user how to use this program and *
* exit *
********************************************************/
void usage(void)
{
(void)fprintf(stderr,"Usage is %s [options] [file-list]\n",
program_name);
(void)fprintf(stderr,"Options\n");
(void)fprintf(stderr," -f form feed OFF\n");
(void)fprintf(stderr," -v verbose\n");
exit (1);
}
/********************************************************
* Send a printer on escape sequence *
*******************************************************/
void ansi_printer_on(void)
{
if ( verbose == 1 ) (void)printf("ANSI printer ON\n");
printf("\x1B[5i");
}
/********************************************************
* Send a printer off escape sequence *
*******************************************************/
void ansi_printer_off(void)
{
printf("\x1B[4i");
if ( verbose == 1 ) (void)printf("ANSI printer OFF\n");
}Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
