Imprimir em PDF com Clipper Summer 87
Moderador: Moderadores
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Imprimir em PDF com Clipper Summer 87
Pessoal, é possível imprimir relatórios de um sistema compilado com Clipper Summer 87 em documentos .PDF?
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Imprimir em PDF com Clipper Summer 87
Amiguinho,
Tem sim e são duas formas, virtual e programada.
Virtual - usando impressoras virtuais com WinPDF, PDF4U(melhor). Após instaladas, coloque como padrão, gere o arquivo em seu sistema e envie para estas impressoras virtuais.
Programada - usando código compilado ao seu sistema, que faça o trabalho de geração forçada dos arquivos.
Veja em nfPDF - Gera arquivos Portable Document File. PDF baixe os arquivos e de uma analisada. Com um pouco de esforço será possivel voce transportar o código para o Summer.
O ponto chave para o downgrade do código são as expressões, que no Summer devem estar no formato mais didático possivel, exemplo:
:= deverá ser alterado para = retirando-se o caracter :
--diminui severá ser transformado para diminui = diminui - 1
As funções que trabalham diretamente com o registro podem ser desativadas.
Baixando os arquivos contidos no tópico voce encontrará o arquivo nfwhpdf.prg que contém o código completo com funções para manipulação do arquivo que será gerado.
Verifique quais funções são usadas no TESTPDF.PRG e monte somente elas e as que forem por elas chamadas, gerando um set menor de funções de forma que consiga gerar o arquivo.
Tem sim e são duas formas, virtual e programada.
Virtual - usando impressoras virtuais com WinPDF, PDF4U(melhor). Após instaladas, coloque como padrão, gere o arquivo em seu sistema e envie para estas impressoras virtuais.
Programada - usando código compilado ao seu sistema, que faça o trabalho de geração forçada dos arquivos.
Veja em nfPDF - Gera arquivos Portable Document File. PDF baixe os arquivos e de uma analisada. Com um pouco de esforço será possivel voce transportar o código para o Summer.
O ponto chave para o downgrade do código são as expressões, que no Summer devem estar no formato mais didático possivel, exemplo:
:= deverá ser alterado para = retirando-se o caracter :
--diminui severá ser transformado para diminui = diminui - 1
As funções que trabalham diretamente com o registro podem ser desativadas.
Baixando os arquivos contidos no tópico voce encontrará o arquivo nfwhpdf.prg que contém o código completo com funções para manipulação do arquivo que será gerado.
Verifique quais funções são usadas no TESTPDF.PRG e monte somente elas e as que forem por elas chamadas, gerando um set menor de funções de forma que consiga gerar o arquivo.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Rochinha, muito obrigado pelas explicações.
No caso de usar impressoras virtuais, com elas é possível usar as portas tipo LPT1? porque no meu sistema só tenho saída paras as matriciais nesse tipo de porta.
Estou pensando em estudar mais para refazer o sistema todo usando alguma versão mais nova tipo orientada ao objeto. Até porque ainda estou usando o Dbase III como base de dados e estou com muitos problemas com indices e etc. . .
Mas enquanto nao altero gostaría de diminuir a emissão de impressos em papel e achei que imprimir em PDF poderia ser uma solução provisória.
Novamente muito obrigado, também vou pesquisar sobre o material que você mencionou para o caso de programar para esse tipo de impressão.
Abraço.
Julio.
No caso de usar impressoras virtuais, com elas é possível usar as portas tipo LPT1? porque no meu sistema só tenho saída paras as matriciais nesse tipo de porta.
Estou pensando em estudar mais para refazer o sistema todo usando alguma versão mais nova tipo orientada ao objeto. Até porque ainda estou usando o Dbase III como base de dados e estou com muitos problemas com indices e etc. . .
Mas enquanto nao altero gostaría de diminuir a emissão de impressos em papel e achei que imprimir em PDF poderia ser uma solução provisória.
Novamente muito obrigado, também vou pesquisar sobre o material que você mencionou para o caso de programar para esse tipo de impressão.
Abraço.
Julio.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Imprimir em PDF com Clipper Summer 87
Amiguinho,
Entre recompilar seu sistema usando uma versão melhor ou mais avançada e fazer uma adaptação de um código. Prefira fazer a adaptação.
Se voce usa bibliotecas de terceiros é provavel que voce consiga atualizar seu sistema para compilação com Clipper 5.2 sem problemas, apenas terá que adaptar em seu código algumas pequenas linhas, não me lembro bem, mas existia um pequeno probleminha na sintaxe de algums comandos que impediam a compilação total, que não me lembro.
Se voce não usa nenhuma biblioteca extra, somente as do Clipper, sugiro voce instalar a versão Harbour 1.1.1 e compilar seu sistema.
Não se iluda de inicio por esta GUI ou aquela GUI, Fivewin, ou outra coisa.
Pense na recompilação total de todos .PRGs. Nenhum .OBJ do summer poderá ser linkado com Harbour.
Entre recompilar seu sistema usando uma versão melhor ou mais avançada e fazer uma adaptação de um código. Prefira fazer a adaptação.
Se voce usa bibliotecas de terceiros é provavel que voce consiga atualizar seu sistema para compilação com Clipper 5.2 sem problemas, apenas terá que adaptar em seu código algumas pequenas linhas, não me lembro bem, mas existia um pequeno probleminha na sintaxe de algums comandos que impediam a compilação total, que não me lembro.
Se voce não usa nenhuma biblioteca extra, somente as do Clipper, sugiro voce instalar a versão Harbour 1.1.1 e compilar seu sistema.
Não se iluda de inicio por esta GUI ou aquela GUI, Fivewin, ou outra coisa.
Pense na recompilação total de todos .PRGs. Nenhum .OBJ do summer poderá ser linkado com Harbour.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Rochinha, vou pesquisar o Harbour, Mas por hora pra resolver o problema de impressão, o que eu estou precisando mesmo sería imprimir os meus relatórios que vão para a porta LPT1 vindos do Clipper para documento PDF então a impressora virtual WinPDF ou PDF4u teriam como capturar a saída da LPT1? Tipo tenho um relatório que é gerado pelo Clipper eu queria ver se imprimia ele em documento PDF para evitar a impressão em papel.
Tem muito desses documentos que são impressos e depois digitalizados para serem guardados num arquivo digital que fica na rede. ?Então sería bem melhor já gera-los em formato digital .
Muito obrigado pelas dicas.
Abraço.
Julio.
Tem muito desses documentos que são impressos e depois digitalizados para serem guardados num arquivo digital que fica na rede. ?Então sería bem melhor já gera-los em formato digital .
Muito obrigado pelas dicas.
Abraço.
Julio.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Imprimir em PDF com Clipper Summer 87
Amiguinho,
Voce poderá colocar o PDF4U como impressora pdrão e no momento da impressão ele lhe indagará o nome do arquivo que será gerado.
Uma vez gerado este arquivo voce pode colocá-lo em qualquer lugar.
Quanto ao código fonte para geração, neste voce mesmo poderá definir o nome e logo após a geração criticar se o mesmo realmente existe e então copiá-lo para uma pasta especifica.
Voce poderá colocar o PDF4U como impressora pdrão e no momento da impressão ele lhe indagará o nome do arquivo que será gerado.
Uma vez gerado este arquivo voce pode colocá-lo em qualquer lugar.
Quanto ao código fonte para geração, neste voce mesmo poderá definir o nome e logo após a geração criticar se o mesmo realmente existe e então copiá-lo para uma pasta especifica.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Olá amigo Rochinha, ainda estou "apanhando" pra imprimir os relatórios que vão para LPT1 em PDF, a idéia aqui é que não se imprimam mais esses relatórios em papel e que estes sejam arquivados em PDF. O que acontece hoje é: o relatório é impresso e depois digitalizado para que fique disponivel na rede e o papel é arquivado em arquivo físico normal, o problema é que isso ocuma muito espaço e da trabalho extra. Se por acaso souber de alguma dica para esse caso, desde já o meu muito obrigado.
Julio.
Julio.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Imprimir em PDF com Clipper Summer 87
Julio, se você conseguiu transformar seus relatórios em PDF, perfeito. Mas senão, agora visto que não precisam mais serem impressos, você pode obtar com gerar em arquivo texto mesmo. E se ainda precisar imprimir, faça mais uma opção para transformar em PDF. Daí, os arquivos textos de cada relatório, você pode criar os arquivos com nomenclatura sequenciais, assim você poderá manter arquivos e poderá acessar quando quiser. Seja em pdf ou txt.
Por exemplo: R0000001.TXT, R0000002.TXT, R0000003.TXT... e assim consequentemente ou R0000001.PDF, R0000002.PDF, R0000003.PDF e assim por diante
Por exemplo: R0000001.TXT, R0000002.TXT, R0000003.TXT... e assim consequentemente ou R0000001.PDF, R0000002.PDF, R0000003.PDF e assim por diante
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.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Imprimir em PDF com Clipper Summer 87
Amiguinho,
Arquivos em texto puro ou arquivos gerados como relatorios em formato texto com certeza não serão impressos diretamente em impressora USB ou PDF pelos comandos diretos do SUMMER.
O que se pode fazer é enganar a impressão, de forma que ela ganhe no caminho alguma ajuda.
Voce pode formatar o conteudo via texto mesmo e depois usar algum aplicativo para forçar o resultado.
command.com /c copy /b arquivo lpt1
ou
WRITE /p arquivo
Bastará um comando RUN com uma das opções acima para se obter algum resultado.
Arquivos em texto puro ou arquivos gerados como relatorios em formato texto com certeza não serão impressos diretamente em impressora USB ou PDF pelos comandos diretos do SUMMER.
O que se pode fazer é enganar a impressão, de forma que ela ganhe no caminho alguma ajuda.
Voce pode formatar o conteudo via texto mesmo e depois usar algum aplicativo para forçar o resultado.
command.com /c copy /b arquivo lpt1
ou
WRITE /p arquivo
Bastará um comando RUN com uma das opções acima para se obter algum resultado.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Paulo Cesar, eu ainda não consegui imprimir em PDF a partir do Clipper, eu fiz uns testes direcionando a saida da impressão para arquivo .TXT e observei que a formatação foi perdida, como compressão e expansão de caracteres.
Então achei que se pudesse imprimir em PDF, os relatórios ficariam em arquivo e no formato original. Será que é possível enviar a impressão para arquivo texto mas com a formatação?
Então achei que se pudesse imprimir em PDF, os relatórios ficariam em arquivo e no formato original. Será que é possível enviar a impressão para arquivo texto mas com a formatação?
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Rochinha, vou tentar essa dica e posto o resultado, muito obrigado pela ajuda.
Abraço.
Julio.
Abraço.
Julio.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Usei a primeira opção command.com. . . e o arquivo foi impresso na LX-86 em LPT1, tem como usar esse comando para enviar para um DoPDF no lugar de LPT1?
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Imprimir em PDF com Clipper Summer 87
Sim e não. Rochinha, a razão de eu ter mencionado em guardar em arquivo texto, foi porque o Julio mencionou que na empresa não tem mais interesse de imprimir e sim visualizar. A outra razão foi porque sabendo que a impressão poderá ocorrer uma só vez e gerando o arquivo pdf certamente poderá ser impressa em qualquer impressora seja matricial, seja a jato de tinta seja a laser, seja em lpt1, seja em usbs. Sabemos que se há necessidade de manter todos os relatórios armazenados para posterior consulta ou até mesmo impressão dos mesmo. Achei conveniente indicar que seja guardado em forma de texto puro. Que é o que menos ocupa espaço em disco. Agora se a questão é imprimir em forma de pdf, existe outra opção muito prática: "converter arquivos txts em pdfs". Esta opção existe de forma gratuita na internet, eis o link: TXTtoPDFRochinha escreveu:Arquivos em texto puro ou arquivos gerados como relatorios em formato texto com certeza não serão impressos diretamente em impressora USB ou PDF pelos comandos diretos do SUMMER.
Claro que esta solução apenas transformará o texto sem muita formatação, aliás apenas num tamanho de fonte e dá para confirgurar margem esquerda, margem direita, tamanho da fonte, cor da fonte, tamanho da folha, orientação de impressão e se deseja abrir no pdf_editor default. Isso pode ser feito em Summer ou qualquer linguagem. Basta criar um arquivo texto (sem formatação, ou sem comando de formatação) e mandar executar esse aplicativo externo que converterá o TXT em PDF daí o usuário faz o que quer, visualiza ou imprime (ou até mesmo editá-lo se tiver um pdf_editor).
A questão de gerar arquivos textos com nomenclatura sequencial, é apenas para que não repitam-se os nomes e fique arquivado em determinada pasta. Funciona e bem legal de fazê-lo.
Julio, agradeceria que você não mude o meu nome. Meu nome é Pablo não Paulo. Se você não conseguiu fazer uma função como o Rochinha indicou, então vai ficar muito dificil formatar a contento se você não domina as opções de geração em pdf que o Rochinha disponibilizou. Você pode apelar outra opção em Harbour, mas dependerá do seu conhecimento e tempo para aprender a lidar com a ferramenta. A outra opção, bem mais simples e barata é utilizar esse aplicativo que indiquei. Só que você possui apenas um tamanho de fonte, isso quer dizer que transformará o arquivo texto com uma formatação de fonte apenas. Isto é, não alternará o tamanho dos caracteres de para outro.Paulo Cesar, eu ainda não consegui imprimir em PDF a partir do Clipper, eu fiz uns testes direcionando a saida da impressão para arquivo .TXT e observei que a formatação foi perdida, como compressão e expansão de caracteres.
Então achei que se pudesse imprimir em PDF, os relatórios ficariam em arquivo e no formato original. Será que é possível enviar a impressão para arquivo texto mas com a formatação?
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.
-
JulioNSP
- Usuário Nível 3

- Mensagens: 244
- Registrado em: 22 Dez 2009 09:25
- Localização: São Paulo - SP
Re: Imprimir em PDF com Clipper Summer 87
Muito legal essa dica, usando o TXTtoPDF já baixei e vou fazer os testes. Agora voltando ao meu caso, talvez seja melhor mesmo manter os documentos em TXT pois, ficam com tamanho bem reduzido e fácil de guardar, quanto à formatação eu tento dar um jeito de evitazr até porque o importante mesmo são os dados e nao exatamente a formatação. O que percebi que mandando a impressão para um arquivo texto nele a formatação não aparece, mas se eu imprimir usando o command. . . que o Rochinha mencionou o documento imprimi com a formatação.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Imprimir em PDF com Clipper Summer 87
Pois é... muito bom mesmo, uma solução bem prática. Aqui tem o help online: http://www.adultpdf.com/products/txttop ... index.htmlMuito legal essa dica, usando o TXTtoPDF já baixei e vou fazer os testes.
Aliás os que dominam [x]Harbour poderiam desenvolver um aplicativo que possa interpretar os comandos de impressão padrão EPSON assim como o USBPRINT do MarcosV mas versão para PDFs. Acontece que eu não dou muito pé com bola com xHarbour e vejo que o Harbour é mais prático mas quando trata-se de MiniGUI eu ja começo entrar em parafuso... Aliás esse exemplo do Rochinha eu não conseguí compilar. Mas prometo que ainda irei estudar, pois não desisto fácil. E você Julio, conseguiu então compilar o exemplo do Rochinha, poderia mostrar como compilou e de ser possível disponibilizar o executável ?
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.