Nessa aula , vou ensinar como :
Varrer um Diretorio, pegando somente os pdf
ler cada pdf, e extrair somente Matricula e Nome
//Nessa aula , vou ensinar como :
//Varrer um Diretorio, pegando somente os pdf
//ler cada pdf, e extrair somente Matricula e Nome
//Seleciona Diretorio
EDT_diretorio=fSelectDir("", "")
// Estou Selecionando todos os Pdf do Diretorio
s_arquivos_todos is string=fListFile(EDT_diretorio+"\*.pdf")
//d:\amarildo\_sebastiao\\FOLHA 01.pdf
//d:\amarildo\_sebastiao\\FOLHA 43.pdf
//d:\amarildo\_sebastiao\\FOLHA 46.pdf
// vai ler a string e separar tudo que contiver cr
FOR EACH STRING s_arquivo_individual OF s_arquivos_todos SEPARATED BY CR
s_nome_arquivo is string=fExtractPath(s_arquivo_individual,fFileName+fExtension)
//Estou Pegando o Nome do Arquivo com Extensão //FOLHA 01.pdf
IF s_nome_arquivo<>"" THEN // Se s_nome_arquivo for diferente de Branco
s_texto is string = PDFToText(EDT_diretorio+"\"+s_nome_arquivo,"1") // extrai texto pg 1
FOR EACH STRING s_linha_texto OF s_texto SEPARATED BY CR
//Vou Percorrer Toda string separando cada linha = _coluna
IF s_linha_texto[[1 TO 27]]="CONTROLE DE PONTO Matrícula" THEN
n_tamanho is int=0 // Criar uma variavel tamanho
FOR EACH STRING s_matricula OF s_linha_texto SEPARATED BY "-"
TableAddLine(TABLE_pdf) // Adiciono Linha Tabela
TABLE_pdf.COL_Matricula[TABLE_pdf..Occurrence]=s_matricula[[28 TO Length(s_matricula)]] // 47528
n_tamanho=Length(s_matricula[[28 TO Length(s_matricula)]]) // pegando tamanho
BREAK // finalizo loop
END //percorrer string linha texto e pegar matricula
FOR EACH STRING _nome OF s_linha_texto SEPARATED BY "Trabalho:"
TABLE_pdf.COL_Nome[TABLE_pdf..Occurrence]=_nome[[28+n_tamanho+2 TO Length(_nome)]]
BREAK // finalizo loop
END
//percorrer string linha texto e pegar nome
END
//CONTROLE DE PONTO Matrícula 47528 - Irisvaldo Manoel De Oliveira Trabalho: Horario:
END
END
END
//Relatório: Usuário:
//FPJ1073 JOYCERDS 14/12/2016 09:06:26 1
//MUNICIPIO DE CARAPICUIBA
//Data: Hora: Página:
//CONTROLE DE PONTO Matrícula 47528 - Irisvaldo Manoel De Oliveira Trabalho: Horario: H/Semana: Horário Padrão 08.00 as 40 Unidade: Descrição da Unidade:
//18 - 18.009
//Cargo: Assessor
//Carteira Profissional: 87653 - 92 MÊS 01 / 2017 Vínculo:
//Em Comissão
//Secretaria Municipal De Seguranca E Controle Urbano - Seseg
//FREQUÊNCIA - Período de 14/12/2016 DIA 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
//* FECHAMENTO MENSAL * DIAS A PAGAR H.EXTRA 50% H.EXTRA 100% :__________ :__________ :__________
//a
//16/01/2017 ASSINATURA
//1º PERÍODO Entrada Saída
//2º PERÍODO Entrada Saída
//PLANTONISTA Entrada Saída
//HORAS EXTRAS Entrada Saída
//SÁBADO DOMINGO
//SÁBADO DOMINGO
//SÁBADO DOMINGO
//SÁBADO DOMINGO
//SÁBADO DOMINGO
//CARAPICUIBA,____/___________________/________
//H.EXTRA NOTURNA :__________
//
//
//CONTROLE DE PONTO Matrícula 47528 - Irisvaldo Manoel De Oliveira Trabalho: Horario: H/Semana: Horário Padrão 08.00 as 40 Unidade: Descrição da Unidade:
//123456789012345678901234567890123456