quarta-feira, 21 de dezembro de 2016

Aula 1005 - Relatorio - 40 - Pdf - Ler e Extrair Texto









Video no Youtube Se Gostou clique aqui para dar joinha




Aula 1 Pdf - Extrair Nfe Numero Chave
Aula 2 Pdf - Extrair Matricula e Nome
DICAS 1833- PUBLICA - WINDEV 23 - PDF 3 - INICIO NESSA AULA vamos aprender PDF
iPrintPDF - LISTAR PDF - DICAS 1905 - WINDEV 23 - PDF 4 - 



//Nessa Aula Vou ensinar como ler Um Arquivo Pdf
//Ler a Imagen dele
//e Transformar em uma String
//Para ler campos dentro do Relatorio

//Isso tive de Fazer , pois uma transportadora,recebe
//Relatorios, e nao arquivos txt. Sao Varias paginas,
//e varias chaves..

//De Um trabalho manual de digitacao que levava horas,
//é feito em pouquissimos segundos


// Summary: <specify the procedure action>
// Syntax:
// pdf_Ler_Gera_Txt_ChaveNfe ()
//
// Parameters:
//    None
// Return Value:
//     None
//
// For instance:
// Indicate an example.
//
PROCEDURE pdf_Ler_Gera_Txt_ChaveNfe()
//43161088587357003770550010012864181342864186|
//12345678901234567890
//88587357003770
arquivo_pdf is string = "" // fSelect("", "", "Seleciona Um Arquivo Pdf ... ", "Pdf" + TAB + "*.pdf", "*.pdf")
//n_quantas_nfe is int=0
_imagen_string is string = fImageSelect(arquivo_pdf,"","Selecione PDF...","PDF"+TAB+"*.PDF")
_chaves_array is array of string
n_procura is int=0
IF _imagen_string<>"" THEN
    //IMG_pdf = _imagen_string
    nPaginas is int=0   
    LOOP
        nPaginas++
        sPagina_atual is string=nPaginas       
        EDT_pdf_texto =  PDFToText(_imagen_string,sPagina_atual) // extrai texto pg 1   
        IF EDT_pdf_texto="" THEN BREAK
        nSoma is int=0
        LOOP
            nSoma++
            Message("Pesquisando Pagina do Pdf Numero:"+nPaginas+" "+CR+EDT_pdf_texto_1[[1 TO 44]]+CR+nSoma)
            EDT_pdf_texto_1 = ExtractString(EDT_pdf_texto,nSoma," ")
            IF EDT_pdf_texto_1[[1 TO 2]]=estado.codigo_uf_ibge THEN
                IF EDT_pdf_texto_1[[7 TO 20]]=empresa.cnpj THEN
                    _chave_ is string=EDT_pdf_texto_1[[1 TO 44]]
                    n_tamanho is int=Length(_chave_)                   
                    IF _chave_<>"" AND n_tamanho=44 THEN
                        n_procura=Seek(_chaves_array,asLinearFirst,_chave_)
                        IF n_procura=-1 THEN
                            TableAddLine(TABLE_conhecimento_nfe)
                            n_quantos is int=TABLE_conhecimento_nfe..Occurrence
                            TABLE_conhecimento_nfe[n_quantos]=_chave_
                        END
                    END
                END   
            END       
            IF EDT_pdf_texto_1=EOT THEN BREAK
        END
    END
END
TableDisplay(TABLE_conhecimento_nfe)
Message()
Info("Fim da Importação do Relatorio com Chaves")
////ler arquivo texto
////|43161088587357003770550010012864181342864186|
////|43161088587357003770550010012864191342864191|
//
//sFile is string = fSelect("", "", "Seleciona Um Arquivo Txt - Chaves Nfe", "Txt" + TAB + "*.txt", "*.txt")
//nArquivoid is int=0
//sFimarquivo is string=""
//
//nArquivoid=fOpen(sFile,foReadWrite)   //nArquivoid=fOpen(CompleteDir(fCurrentDir()) +sFile,foReadWrite)
//IF nArquivoid<>-1 THEN
//    Slinha is string=""   
//    LOOP       
//        Slinha=fReadLine(nArquivoid)       
//        IF Slinha=EOT THEN           
//            BREAK           
//        ELSE           
//            sFimarquivo=ExtractString(Slinha,firstRank,"|")       
//            _chave_ is string=ExtractString(Slinha,nextRank,"|")       
//            IF _chave_<>"" THEN
//                TableAddLine(TABLE_conhecimento_nfe)
//                n_quantos is int=TABLE_conhecimento_nfe..Occurrence
//                TABLE_conhecimento_nfe[n_quantos]=_chave_
//            END           
//        END       
//    END     
//END
//





help2

















Blog - WinDev - Relatorio - 001/... Configura e Filtro
Blog - WinDev - Relatorio - 002/... IParameterReport
Blog - WinDev - Relatório - 003/... Marca D´Agua
Blog - WinDev - Relatorio - 004/... Layout 
Blog - WinDev - Relatorio - 005/... Campo Vertical - Angle 
Blog - WinDev - Relatorio - 006/... Como fazer quando sai duas paginas? 
Blog - WinDev - Relatorio - 007/... Imprimir Linha Multi Line
Blog - WinDev - Relatorio - 008/... Relatorio Valor Zero deixar Branco
Blog - WinDev - Relatorio - 009/... Relatorio Alinhar Texto 
Blog - WinDev - Relatorio - 010/... Colocar Totalizador
Blog - WinDev - Relatorio - 011/... Imprime Somente os Selecionados ou Todos da Tabela 
Blog - WinDev - Relatorio - 012/... Break e totalizadores de valores
Blog - WinDev - Relatorio - 013/... Retorno de Relatorio - Result 
Blog - WinDev - Relatorio - 014/... Zerar Totalizador  
Blog - WinDev - Relatorio - 015/... Relatorio - Totalmente Manual
Blog - WinDev - Relatorio - 016/... Linha Zebrada
Blog - WinDev - Relatorio - 017/... Posicoes do Relatorio Alterar
Blog - WinDev - Relatorio - 018/... Alterar Fonte
Blog - WinDev - Relatorio - 019/... Linha Acrescentar
Blog - WinDev - Relatorio - 020/... Relatorio - Gerar Pdf
Blog - WinDev - Relatorio - 021/... Filtro
Blog - WinDev - Relatorio - 022/... Pagina Inicial/Final - Data Hora
Blog - WinDev - Relatorio - 023/... Pular Página Break - IpageEnd()
Blog - WinDev - Relatorio - 024/... Imprimir Tabela com TablePrint
Blog - WinDev - Relatorio - 025/... Relatorio Mudar Orientação
Blog - WinDev - Relatorio - 026/... Mostrar impressoras/Selecionar e Imprimir
Blog - WinDev - Relatorio - 027/... IDestination - Destino do Relatorio
Blog - WinDev - Relatorio - 028/... Iprint - Relatorio Manual
Blog - WinDev - Relatorio - 029/... Dica Tabela e print
Blog - WinDev - Relatorio - 030/... Totalizadores
Blog - WinDev - Relatorio - 031/... Caption Mudar
Blog - WinDev - Relatorio - 032/... Intervalo Bancos
Blog - WinDev - Relatorio - 033/... Manual Linha - IHLine
Blog - WinDev - Relatorio - 034/... Borda - Iborder
Blog - WinDev - Relatorio - 035/... IPageNum
Blog - WinDev - Relatorio - 036/... Numero Com Espaco
Blog - WinDev - Relatorio - 037/... Fonte Seleciona - ISelectFont -
Blog - WinDev - Relatorio - 038/... Linha Mais de 2 - Mais informacoes no Campo
Blog - WinDev - Relatorio - 039/... Copias - IParameter - Icopies
Blog - WinDev - Relatorio - 040/... Pdf - Ler e Extrair Texto
Blog - WinDev - Relatorio - 041/... Imprimir Numero 000.001.500




Alinhar - Relatorio Alinhar Texto - Blog - WinDev - Relatorio - 009/... 
Borda - Iborder - Blog - WinDev - Relatorio - 034/...
Break - Pular Página Break - IpageEnd() - Blog - WinDev - Relatorio - 023/... 
Break e totalizadores de valores - Blog - WinDev - Relatorio - 012/...
Campo Vertical - Angle Blog - WinDev - Relatorio - 005/...
Caption Mudar - Blog - WinDev - Relatorio - 031/...  
Configura e Filtro - Blog - WinDev - Relatorio - 001/... 
Copias - IParameter - Icopies - Blog - WinDev - Relatorio - 039/...
Data - Pagina Inicial/Final - Data Hora - Blog - WinDev - Relatorio - 022/...
Destino - IDestination - Destino do Relatorio - Blog - WinDev - Relatorio - 027/...
Duas Paginas - Como fazer quando sai duas paginas? - Blog - WinDev - Relatorio - 006/...
Filtro - Blog - WinDev - Relatorio - 021/...
Impressoras - Mostrar impressoras/Selecionar e Imprimir - Blog - WinDev - Relatorio - 026/... 
Intervalo Bancos - Blog - WinDev - Relatorio - 032/...  
Configuracao - IParameterReport - Blog - WinDev - Relatorio - 002/... 
Fonte Alterar - Blog - WinDev - Relatorio - 018/...  
Fonte Seleciona - ISelectFont - Blog - WinDev - Relatorio - 037/...
Layout - Blog - WinDev - Relatorio - 004/... 
Linha Acrescentar - Blog - WinDev - Relatorio - 019/... Acrescentar -  
Linha Mais de 2 - Mais informacoes no Campo - Blog - WinDev - Relatorio - 038/...
Manual - Relatorio - Totalmente Manual - Blog - WinDev - Relatorio - 015/... 
Manual Linha - IHLine - Blog - WinDev - Relatorio - 033/...
Manual - Iprint - Relatorio Manual - Blog - WinDev - Relatorio - 028/...
Marca D´Agua - Blog - WinDev - Relatório - 003/...
Multi Line - Imprimir Linha Multi Line - Blog - WinDev - Relatorio - 007/... 
Numero Com Espaco - Blog - WinDev - Relatorio - 036/... 
Numero 000.001.500 - Blog - WinDev - Relatorio - 041/... Imprimir 
Orientação - Relatorio Mudar Orientação - Blog - WinDev - Relatorio - 025/... 
Pagina Numero - IPageNum - Blog - WinDev - Relatorio - 035/...  
Pdf - Relatorio - Gerar Pdf - Blog - WinDev - Relatorio - 020/... 
Pdf - Ler e Extrair Texto - Blog - WinDev - Relatorio - 040/...
Posicoes do Relatorio Alterar - Blog - WinDev - Relatorio - 017/... Alterar - 
Retorno de Relatorio - Result - Blog - WinDev - Relatorio - 013/...
Selecionados - Imprime Somente Selecionados/Todos Tabela - Blog - WinDev - Relatorio - 011/...
Tabela - Imprimir Tabela com TablePrint - Blog - WinDev - Relatorio - 024/...
Tabela - Dica Tabela e print - Blog - WinDev - Relatorio - 029/...
Totalizador - Colocar Totalizador - Blog - WinDev - Relatorio - 010/...
Totalizadores - Blog - WinDev - Relatorio - 030/...
Zebrada - Linha Zebrada - Blog - WinDev - Relatorio - 016/...
Zerar Totalizador - Blog - WinDev - Relatorio - 014/...
Zero - Relatorio Valor Zero deixar Branco - Blog - WinDev - Relatorio - 008/...





Teste

Teste
teste