Buenas tarde a todo en s:
Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para extraer
información de archivos en pdf actualice la versión 3.6.1 y ya no reconoce la
paquetería alguien que me pueda ayudar. Prácticamente no reconoce las funciones
de pdftools
library(pdftools)
library(stringr)?
library(NLP)?
library(tm)?
library(tesseract)?
library(magick)?
install.packages("magick")?
install.packages("pdftools")?
?
txt <- system.file("texts", "txt", package =
"tm")?
?
rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"?
#poliza_rg <-
"(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"?
poliza_rg <-
"(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"?
registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"?
subgrupo_rg <- "_([0-9]){1,3}."?
mon_rg <- "SMGM|UMAM|MN"?
?
?
ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'?
archivos<-list.files(path=ruta,pattern = '*.pdf')?
?
?
imagen <-
image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))?
prueba <-image_ocr(imagen, language = 'eng')?
lineas<-unlist(str_split(prueba,pattern = "\n"))?
lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))?
?
newnom <- NULL?
renglones <- NULL?
for (nombre in archivos){?
  subgrupo <- str_extract(str_extract(nombre,pattern = subgrupo_rg),pattern =
"[0-9]{1,3}")?
  imagen <-
image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))?
  prueba <-image_ocr(imagen, language = 'eng')?
  lineas<-unlist(str_split(prueba,pattern = "\n"))?
  poliza <- NULL?
  poliza<-str_extract(lineas[1],poliza_rg)?
  newnom <-
c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))?
  ?
  registro <- NULL?
  registro<-str_extract(lineas[49],registro_rg)?
  ?
  rfc <- NULL?
  rfc <- str_extract(lineas[5],rfc_rg)?
  ?
  ?
  #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))?
  #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))?
  ?
  cobertura <- NA?
  extranjera <- NA?
  suma_str   <- NA?
  deducible_str <- NA?
  ?
  suma <- NA?
  coaseguro <- NA?
  deducible <- NA?
  tope <- NA?
  mon <- NA?
  mondedu <- NA?
  ?
  cobertura  <- grep("Cobertura en el
Extranjero",lineas,value=TRUE)?
  extranjera <- grep("Emergencia en el
Extranjero",lineas,value=TRUE)?
  suma_str   <- grep("SUMA ASEGURADA:",lineas,value=TRUE)?
  deducible_str   <- grep("DEDUCIBLE:",lineas,value=TRUE)?
  sumacob <- NA?
  sumaext <- NA?
  ?
  pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)?
  dnprimariaa <- grep("Nombre de la Aseguradora Primaria:", lineas,
value = TRUE)?
  ?
  #cer<- grep("Certificado No. ",lineas, value=TRUE)?
  #ntit<- grep("Ramo", lineas, value=TRUE)?
  ?
  sumacob<-as.numeric(str_extract(cobertura[1],pattern =
"[0-9]{1,}"))?
  if (length(sumacob)==0){?
    sumacob = NA?
  }?
  ?
  sumaext<-as.numeric(str_extract(extranjera[17],pattern =
"[0-9]{1,}"))?
  if (length(sumaext)==0){?
    sumaext = NA?
  }?
  valores <- NULL?
  monedas <- NULL?
  valores <- str_extract_all(suma_str[17],pattern =
"[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)?
  monedas <- str_extract(suma_str,pattern = mon_rg)?
  if (length(valores[1])==0){?
    suma = NA?
    mon = NA?
  }else{?
    suma = as.numeric(gsub(pattern = ",*",replacement =
"",valores[1]))?
    mon <- as.character(monedas[1])?
  }?
  ?
  if (length(valores[2])==0){?
    coaseguro = NA?
  }else{?
    coaseguro = as.numeric(valores[2])?
  }?
  valores <- NULL?
  valores <- str_extract_all(deducible_str[1],pattern =
"[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)?
  ?
  if (length(valores[1])==0){?
    deducible <- NA?
  }else{?
    deducible <- as.numeric(gsub(pattern = ",",replacement =
"",valores[1]))?
  }?
  ?
  monedas <- NULL  ?
  monedas <- str_extract(deducible_str[1],pattern = mon_rg)?
  ?
  if (length(monedas)==0){?
    mondedu <- NA?
  }else{?
    mondedu <- monedas?
  }?
  ?
  ?
  if (length(valores[2])==0){?
    tope = NA?
  }else{?
    tope = as.numeric(gsub(pattern = ",",replacement =
"",valores[2]))?
  }?
  ?
  renglon <-
data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo,
cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]),
titu=as.character(lineasdos[10]))?
  renglones <- rbind(renglones,renglon)?
}?
?
# Con los datos del data frame renombra los archivos hay que crear los
subdirectorios?
?
noms <- data.frame(archivo=archivos,poliza=newnom)?
?
noms <-
renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]?
ungrupo<-sqldf("select poliza,count(cert) from noms group by 1  having
count(cert) <= 1 ")?
noms<-sqldf("select * from noms where poliza in (select poliza from
ungrupo)")?
length(noms$archivo)?
salida <- "/renombra/"?
?
for (i in 1:length(noms[,1])){?
  if (!is.na(noms[i,'cer_tit'])){?
    pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
    pto <-
paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')?
    if (!file.exists(pto)){?
      file.copy(from = pfrom,to=pto)?
    }?
  }?
}?
?
#Ahora las polizas con subgrupos?
noms <-
renglones[!is.na(renglones$poliza),c('archivo','poliza','subgrupo')]?
ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 
having count(subgrupo) > 1 ")?
noms<-sqldf("select * from noms where poliza in (select poliza from
ungrupo) order by poliza")?
length(noms$archivo)?
salida <- "/Renombra/ConGrupos/"?
?
for (i in 1:length(noms[,1])){?
  if (!is.na(noms[i,'poliza'])){?
    pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
    pto <-
paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')?
    if (!file.exists(pto)){?
      file.copy(from = pfrom,to=pto)?
    }?
  }?
}?
?
salida <- "/Renombra/Grupos/"?
dirActual <- getwd()?
polizas_con_grupos <- as.character(sqldf("select poliza from
ungrupo")$poliza)?
setwd(ruta)?
for (policita in polizas_con_grupos){?
  archivos <- as.character(sqldf(paste("select archivo from renglones
where poliza like
'%",policita,"%'",sep=''))$archivo)?
  staple_pdf(input_files = archivos,output_filepath =
paste(ruta,salida,policita,".pdf",sep='')) ?
}?
setwd(dirActual)?
?
#Ahora los PDf sin poliza?
noms <-
renglones[is.na(renglones$poliza),c('archivo','poliza')]?
salida <- "/renombra/SinPoliza/"?
for (i in 1:length(noms[,1])){?
  pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
  pto <- paste(ruta,salida,noms[i,'archivo'],sep='')?
  if (!file.exists(pto)){?
    file.copy(from = pfrom,to=pto)?
  }?
}?
?
View(renglones)?
write.csv(renglones,
file='//192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv')?
?
?
?
	[[alternative HTML version deleted]]
Hola Berenice, ¿Qué quires decir con que no reconoce el paquete? ¿Te da algún mensaje de error? No sé si has probado a instalar de nuevo el paquete, si no hazlo. Para poder reproducir el error con tu código haría falta alguno de los pdfs que utilizas (puedes compartir un enlace a dropbox o similar). Un saludo, Emilio> El 24 sept 2019, a las 1:49, BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> escribió: > > Buenas tarde a todo en s: > > Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para extraer información de archivos en pdf actualice la versión 3.6.1 y ya no reconoce la paquetería alguien que me pueda ayudar. Prácticamente no reconoce las funciones de pdftools > > library(pdftools) > library(stringr)? > library(NLP)? > library(tm)? > library(tesseract)? > library(magick)? > install.packages("magick")? > install.packages("pdftools")? > ? > txt <- system.file("texts", "txt", package = "tm")? > ? > rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"? > #poliza_rg <- "(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"? > poliza_rg <- "(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"? > registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"? > subgrupo_rg <- "_([0-9]){1,3}."? > mon_rg <- "SMGM|UMAM|MN"? > ? > ? > ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'? > archivos<-list.files(path=ruta,pattern = '*.pdf')? > ? > ? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))? > ? > newnom <- NULL? > renglones <- NULL? > for (nombre in archivos){? > subgrupo <- str_extract(str_extract(nombre,pattern = subgrupo_rg),pattern = "[0-9]{1,3}")? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > poliza <- NULL? > poliza<-str_extract(lineas[1],poliza_rg)? > newnom <- c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))? > ? > registro <- NULL? > registro<-str_extract(lineas[49],registro_rg)? > ? > rfc <- NULL? > rfc <- str_extract(lineas[5],rfc_rg)? > ? > ? > #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))? > #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))? > ? > cobertura <- NA? > extranjera <- NA? > suma_str <- NA? > deducible_str <- NA? > ? > suma <- NA? > coaseguro <- NA? > deducible <- NA? > tope <- NA? > mon <- NA? > mondedu <- NA? > ? > cobertura <- grep("Cobertura en el Extranjero",lineas,value=TRUE)? > extranjera <- grep("Emergencia en el Extranjero",lineas,value=TRUE)? > suma_str <- grep("SUMA ASEGURADA:",lineas,value=TRUE)? > deducible_str <- grep("DEDUCIBLE:",lineas,value=TRUE)? > sumacob <- NA? > sumaext <- NA? > ? > pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)? > dnprimariaa <- grep("Nombre de la Aseguradora Primaria:", lineas, value = TRUE)? > ? > #cer<- grep("Certificado No. ",lineas, value=TRUE)? > #ntit<- grep("Ramo", lineas, value=TRUE)? > ? > sumacob<-as.numeric(str_extract(cobertura[1],pattern = "[0-9]{1,}"))? > if (length(sumacob)==0){? > sumacob = NA? > }? > ? > sumaext<-as.numeric(str_extract(extranjera[17],pattern = "[0-9]{1,}"))? > if (length(sumaext)==0){? > sumaext = NA? > }? > valores <- NULL? > monedas <- NULL? > valores <- str_extract_all(suma_str[17],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > monedas <- str_extract(suma_str,pattern = mon_rg)? > if (length(valores[1])==0){? > suma = NA? > mon = NA? > }else{? > suma = as.numeric(gsub(pattern = ",*",replacement = "",valores[1]))? > mon <- as.character(monedas[1])? > }? > ? > if (length(valores[2])==0){? > coaseguro = NA? > }else{? > coaseguro = as.numeric(valores[2])? > }? > valores <- NULL? > valores <- str_extract_all(deducible_str[1],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > ? > if (length(valores[1])==0){? > deducible <- NA? > }else{? > deducible <- as.numeric(gsub(pattern = ",",replacement = "",valores[1]))? > }? > ? > monedas <- NULL ? > monedas <- str_extract(deducible_str[1],pattern = mon_rg)? > ? > if (length(monedas)==0){? > mondedu <- NA? > }else{? > mondedu <- monedas? > }? > ? > ? > if (length(valores[2])==0){? > tope = NA? > }else{? > tope = as.numeric(gsub(pattern = ",",replacement = "",valores[2]))? > }? > ? > renglon <- data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo, cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]), titu=as.character(lineasdos[10]))? > renglones <- rbind(renglones,renglon)? > }? > ? > # Con los datos del data frame renombra los archivos hay que crear los subdirectorios? > ? > noms <- data.frame(archivo=archivos,poliza=newnom)? > ? > noms <- renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]? > ungrupo<-sqldf("select poliza,count(cert) from noms group by 1 having count(cert) <= 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo)")? > length(noms$archivo)? > salida <- "/renombra/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'cer_tit'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > #Ahora las polizas con subgrupos? > noms <- renglones[!is.na(renglones$poliza),c('archivo','poliza','subgrupo')]? > ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 having count(subgrupo) > 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo) order by poliza")? > length(noms$archivo)? > salida <- "/Renombra/ConGrupos/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'poliza'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > salida <- "/Renombra/Grupos/"? > dirActual <- getwd()? > polizas_con_grupos <- as.character(sqldf("select poliza from ungrupo")$poliza)? > setwd(ruta)? > for (policita in polizas_con_grupos){? > archivos <- as.character(sqldf(paste("select archivo from renglones where poliza like '%",policita,"%'",sep=''))$archivo)? > staple_pdf(input_files = archivos,output_filepath = paste(ruta,salida,policita,".pdf",sep='')) ? > }? > setwd(dirActual)? > ? > #Ahora los PDf sin poliza? > noms <- renglones[is.na(renglones$poliza),c('archivo','poliza')]? > salida <- "/renombra/SinPoliza/"? > for (i in 1:length(noms[,1])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'archivo'],sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > ? > View(renglones)? > write.csv(renglones, file='//192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv')? > ? > ? > ? > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola, Una cosa que puedes hacer temporalmente es desinstalar la versión 3.6.1 y volver a la anterior 3.6.0. Los paquetes tardan un tiempo, suele ser poco, en adaptarse a las nuevas versiones. Pero vaya, en cualquier caso, 3.6.1 ya lleva un tiempo liberada y esta adaptación se debiera de haber producido. Si nos das más detalles del error que tienes y en qué paso de tu script aparece el error, podríamos ayudarte más. Gracias, Carlos Ortega www.qualityexcellence.es El mar., 24 sept. 2019 a las 1:49, BERENICE DOMINGUEZ SANCHEZ (< ds_bere en hotmail.com>) escribió:> Buenas tarde a todo en s: > > Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para > extraer información de archivos en pdf actualice la versión 3.6.1 y ya no > reconoce la paquetería alguien que me pueda ayudar. Prácticamente no > reconoce las funciones de pdftools > > library(pdftools) > library(stringr)? > library(NLP)? > library(tm)? > library(tesseract)? > library(magick)? > install.packages("magick")? > install.packages("pdftools")? > ? > txt <- system.file("texts", "txt", package = "tm")? > ? > rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"? > #poliza_rg <- > "(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"? > poliza_rg <- "(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"? > registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"? > subgrupo_rg <- "_([0-9]){1,3}."? > mon_rg <- "SMGM|UMAM|MN"? > ? > ? > ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'? > archivos<-list.files(path=ruta,pattern = '*.pdf')? > ? > ? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))? > ? > newnom <- NULL? > renglones <- NULL? > for (nombre in archivos){? > subgrupo <- str_extract(str_extract(nombre,pattern > subgrupo_rg),pattern = "[0-9]{1,3}")? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > poliza <- NULL? > poliza<-str_extract(lineas[1],poliza_rg)? > newnom <- c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))? > ? > registro <- NULL? > registro<-str_extract(lineas[49],registro_rg)? > ? > rfc <- NULL? > rfc <- str_extract(lineas[5],rfc_rg)? > ? > ? > #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))? > #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))? > ? > cobertura <- NA? > extranjera <- NA? > suma_str <- NA? > deducible_str <- NA? > ? > suma <- NA? > coaseguro <- NA? > deducible <- NA? > tope <- NA? > mon <- NA? > mondedu <- NA? > ? > cobertura <- grep("Cobertura en el Extranjero",lineas,value=TRUE)? > extranjera <- grep("Emergencia en el Extranjero",lineas,value=TRUE)? > suma_str <- grep("SUMA ASEGURADA:",lineas,value=TRUE)? > deducible_str <- grep("DEDUCIBLE:",lineas,value=TRUE)? > sumacob <- NA? > sumaext <- NA? > ? > pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)? > dnprimariaa <- grep("Nombre de la Aseguradora Primaria:", lineas, value > = TRUE)? > ? > #cer<- grep("Certificado No. ",lineas, value=TRUE)? > #ntit<- grep("Ramo", lineas, value=TRUE)? > ? > sumacob<-as.numeric(str_extract(cobertura[1],pattern = "[0-9]{1,}"))? > if (length(sumacob)==0){? > sumacob = NA? > }? > ? > sumaext<-as.numeric(str_extract(extranjera[17],pattern = "[0-9]{1,}"))? > if (length(sumaext)==0){? > sumaext = NA? > }? > valores <- NULL? > monedas <- NULL? > valores <- str_extract_all(suma_str[17],pattern > "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > monedas <- str_extract(suma_str,pattern = mon_rg)? > if (length(valores[1])==0){? > suma = NA? > mon = NA? > }else{? > suma = as.numeric(gsub(pattern = ",*",replacement = "",valores[1]))? > mon <- as.character(monedas[1])? > }? > ? > if (length(valores[2])==0){? > coaseguro = NA? > }else{? > coaseguro = as.numeric(valores[2])? > }? > valores <- NULL? > valores <- str_extract_all(deducible_str[1],pattern > "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > ? > if (length(valores[1])==0){? > deducible <- NA? > }else{? > deducible <- as.numeric(gsub(pattern = ",",replacement > "",valores[1]))? > }? > ? > monedas <- NULL ? > monedas <- str_extract(deducible_str[1],pattern = mon_rg)? > ? > if (length(monedas)==0){? > mondedu <- NA? > }else{? > mondedu <- monedas? > }? > ? > ? > if (length(valores[2])==0){? > tope = NA? > }else{? > tope = as.numeric(gsub(pattern = ",",replacement = "",valores[2]))? > }? > ? > renglon <- > data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo, > cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]), > titu=as.character(lineasdos[10]))? > renglones <- rbind(renglones,renglon)? > }? > ? > # Con los datos del data frame renombra los archivos hay que crear los > subdirectorios? > ? > noms <- data.frame(archivo=archivos,poliza=newnom)? > ? > noms <- renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]? > ungrupo<-sqldf("select poliza,count(cert) from noms group by 1 having > count(cert) <= 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from > ungrupo)")? > length(noms$archivo)? > salida <- "/renombra/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'cer_tit'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > #Ahora las polizas con subgrupos? > noms <- renglones[!is.na > (renglones$poliza),c('archivo','poliza','subgrupo')]? > ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 having > count(subgrupo) > 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from > ungrupo) order by poliza")? > length(noms$archivo)? > salida <- "/Renombra/ConGrupos/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'poliza'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- > paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > salida <- "/Renombra/Grupos/"? > dirActual <- getwd()? > polizas_con_grupos <- as.character(sqldf("select poliza from > ungrupo")$poliza)? > setwd(ruta)? > for (policita in polizas_con_grupos){? > archivos <- as.character(sqldf(paste("select archivo from renglones > where poliza like '%",policita,"%'",sep=''))$archivo)? > staple_pdf(input_files = archivos,output_filepath > paste(ruta,salida,policita,".pdf",sep='')) ? > }? > setwd(dirActual)? > ? > #Ahora los PDf sin poliza? > noms <- renglones[is.na(renglones$poliza),c('archivo','poliza')]? > salida <- "/renombra/SinPoliza/"? > for (i in 1:length(noms[,1])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'archivo'],sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > ? > View(renglones)? > write.csv(renglones, file='// > 192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv') > ? > ? > ? > ? > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Emilio Buen día, si me manda un error muy especifico que no reconoce una función de pdftools> imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))Error in normalizePath(path.expand(path), winslash, mustWork) : ? path[1]="C:\Users\bdominguez\Documents\H0711\Bond\1907\2\.pdf": El sistema no puede encontrar el archivo especificado?> prueba <-image_ocr(imagen, language = 'eng')?Error in assert_image(image) : object 'imagen' not found?> lineas<-unlist(str_split(prueba,pattern = "\n"))?Error in stri_split_regex(string, pattern, n = n, simplify = simplify, : ? object 'prueba' not found?> lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))?Error in stri_split_regex(string, pattern, n = n, simplify = simplify, : ? object 'prueba' not found Error in normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:\Users\bdominguez\Documents\H0711\Bond\1907\2\caratula_340007195-01-C_6158_22_07_2019_162916.pdf.pdf": El sistema no puede encontrar el archivo especificad? Adjunto el archivo, respecto a la versión fue solo una hipótesis Hice dos cosas: Lo volví a instalar pero no tuve éxito, adjunto archivo. Saludos. ________________________________ De: Emilio L. Cano <emilopezcano en gmail.com> Enviado: lunes, 23 de septiembre de 2019 11:56 p. m. Para: BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> CC: Lista R <r-help-es en r-project.org> Asunto: Re: [R-es] Consulta Hola Berenice, ¿Qué quires decir con que no reconoce el paquete? ¿Te da algún mensaje de error? No sé si has probado a instalar de nuevo el paquete, si no hazlo. Para poder reproducir el error con tu código haría falta alguno de los pdfs que utilizas (puedes compartir un enlace a dropbox o similar). Un saludo, Emilio> El 24 sept 2019, a las 1:49, BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> escribió: > > Buenas tarde a todo en s: > > Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para extraer información de archivos en pdf actualice la versión 3.6.1 y ya no reconoce la paquetería alguien que me pueda ayudar. Prácticamente no reconoce las funciones de pdftools > > library(pdftools) > library(stringr)? > library(NLP)? > library(tm)? > library(tesseract)? > library(magick)? > install.packages("magick")? > install.packages("pdftools")? > ? > txt <- system.file("texts", "txt", package = "tm")? > ? > rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"? > #poliza_rg <- "(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"? > poliza_rg <- "(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"? > registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"? > subgrupo_rg <- "_([0-9]){1,3}."? > mon_rg <- "SMGM|UMAM|MN"? > ? > ? > ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'? > archivos<-list.files(path=ruta,pattern = '*.pdf')? > ? > ? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))? > ? > newnom <- NULL? > renglones <- NULL? > for (nombre in archivos){? > subgrupo <- str_extract(str_extract(nombre,pattern = subgrupo_rg),pattern = "[0-9]{1,3}")? > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > prueba <-image_ocr(imagen, language = 'eng')? > lineas<-unlist(str_split(prueba,pattern = "\n"))? > poliza <- NULL? > poliza<-str_extract(lineas[1],poliza_rg)? > newnom <- c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))? > ? > registro <- NULL? > registro<-str_extract(lineas[49],registro_rg)? > ? > rfc <- NULL? > rfc <- str_extract(lineas[5],rfc_rg)? > ? > ? > #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))? > #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))? > ? > cobertura <- NA? > extranjera <- NA? > suma_str <- NA? > deducible_str <- NA? > ? > suma <- NA? > coaseguro <- NA? > deducible <- NA? > tope <- NA? > mon <- NA? > mondedu <- NA? > ? > cobertura <- grep("Cobertura en el Extranjero",lineas,value=TRUE)? > extranjera <- grep("Emergencia en el Extranjero",lineas,value=TRUE)? > suma_str <- grep("SUMA ASEGURADA:",lineas,value=TRUE)? > deducible_str <- grep("DEDUCIBLE:",lineas,value=TRUE)? > sumacob <- NA? > sumaext <- NA? > ? > pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)? > dnprimariaa <- grep("Nombre de la Aseguradora Primaria:", lineas, value = TRUE)? > ? > #cer<- grep("Certificado No. ",lineas, value=TRUE)? > #ntit<- grep("Ramo", lineas, value=TRUE)? > ? > sumacob<-as.numeric(str_extract(cobertura[1],pattern = "[0-9]{1,}"))? > if (length(sumacob)==0){? > sumacob = NA? > }? > ? > sumaext<-as.numeric(str_extract(extranjera[17],pattern = "[0-9]{1,}"))? > if (length(sumaext)==0){? > sumaext = NA? > }? > valores <- NULL? > monedas <- NULL? > valores <- str_extract_all(suma_str[17],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > monedas <- str_extract(suma_str,pattern = mon_rg)? > if (length(valores[1])==0){? > suma = NA? > mon = NA? > }else{? > suma = as.numeric(gsub(pattern = ",*",replacement = "",valores[1]))? > mon <- as.character(monedas[1])? > }? > ? > if (length(valores[2])==0){? > coaseguro = NA? > }else{? > coaseguro = as.numeric(valores[2])? > }? > valores <- NULL? > valores <- str_extract_all(deducible_str[1],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > ? > if (length(valores[1])==0){? > deducible <- NA? > }else{? > deducible <- as.numeric(gsub(pattern = ",",replacement = "",valores[1]))? > }? > ? > monedas <- NULL ? > monedas <- str_extract(deducible_str[1],pattern = mon_rg)? > ? > if (length(monedas)==0){? > mondedu <- NA? > }else{? > mondedu <- monedas? > }? > ? > ? > if (length(valores[2])==0){? > tope = NA? > }else{? > tope = as.numeric(gsub(pattern = ",",replacement = "",valores[2]))? > }? > ? > renglon <- data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo, cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]), titu=as.character(lineasdos[10]))? > renglones <- rbind(renglones,renglon)? > }? > ? > # Con los datos del data frame renombra los archivos hay que crear los subdirectorios? > ? > noms <- data.frame(archivo=archivos,poliza=newnom)? > ? > noms <- renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]? > ungrupo<-sqldf("select poliza,count(cert) from noms group by 1 having count(cert) <= 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo)")? > length(noms$archivo)? > salida <- "/renombra/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'cer_tit'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > #Ahora las polizas con subgrupos? > noms <- renglones[!is.na(renglones$poliza),c('archivo','poliza','subgrupo')]? > ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 having count(subgrupo) > 1 ")? > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo) order by poliza")? > length(noms$archivo)? > salida <- "/Renombra/ConGrupos/"? > ? > for (i in 1:length(noms[,1])){? > if (!is.na(noms[i,'poliza'])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > }? > ? > salida <- "/Renombra/Grupos/"? > dirActual <- getwd()? > polizas_con_grupos <- as.character(sqldf("select poliza from ungrupo")$poliza)? > setwd(ruta)? > for (policita in polizas_con_grupos){? > archivos <- as.character(sqldf(paste("select archivo from renglones where poliza like '%",policita,"%'",sep=''))$archivo)? > staple_pdf(input_files = archivos,output_filepath = paste(ruta,salida,policita,".pdf",sep='')) ? > }? > setwd(dirActual)? > ? > #Ahora los PDf sin poliza? > noms <- renglones[is.na(renglones$poliza),c('archivo','poliza')]? > salida <- "/renombra/SinPoliza/"? > for (i in 1:length(noms[,1])){? > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > pto <- paste(ruta,salida,noms[i,'archivo'],sep='')? > if (!file.exists(pto)){? > file.copy(from = pfrom,to=pto)? > }? > }? > ? > View(renglones)? > write.csv(renglones, file='//192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv')? > ? > ? > ? > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Hola, Estos mensajes de error no son por el paquete pdftools. Las funciones image_read_pdf e image_ocr son del paquete magick. ¿Lo tienes instalado? ¿Lo tienes cargado? Según el script sí, pero asegúrate de que library(magick) no da ningún error. La otra función ?str_split? es del paquete stringr, pasa lo mismo: tiene que estar cargado para poder utilizar sus funciones. Saludos, Emilio> El 24 sept 2019, a las 16:20, BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> escribió: > > Emilio > > Buen día, si me manda un error muy especifico que no reconoce una función de pdftools > > <image.png> > > Adjunto el archivo, respecto a la versión fue solo una hipótesis > > Hice dos cosas: > > Lo volví a instalar pero no tuve éxito, adjunto archivo. > > Saludos. > > > De: Emilio L. Cano <emilopezcano en gmail.com <mailto:emilopezcano en gmail.com>> > Enviado: lunes, 23 de septiembre de 2019 11:56 p. m. > Para: BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> > CC: Lista R <r-help-es en r-project.org> > Asunto: Re: [R-es] Consulta > > Hola Berenice, > > ¿Qué quires decir con que no reconoce el paquete? ¿Te da algún mensaje de error? > No sé si has probado a instalar de nuevo el paquete, si no hazlo. > > Para poder reproducir el error con tu código haría falta alguno de los pdfs que utilizas (puedes compartir un enlace a dropbox o similar). > > Un saludo, > Emilio > > > El 24 sept 2019, a las 1:49, BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com> escribió: > > > > Buenas tarde a todo en s: > > > > Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para extraer información de archivos en pdf actualice la versión 3.6.1 y ya no reconoce la paquetería alguien que me pueda ayudar. Prácticamente no reconoce las funciones de pdftools > > > > library(pdftools) > > library(stringr)? > > library(NLP)? > > library(tm)? > > library(tesseract)? > > library(magick)? > > install.packages("magick")? > > install.packages("pdftools")? > > ? > > txt <- system.file("texts", "txt", package = "tm")? > > ? > > rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"? > > #poliza_rg <- "(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"? > > poliza_rg <- "(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"? > > registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"? > > subgrupo_rg <- "_([0-9]){1,3}."? > > mon_rg <- "SMGM|UMAM|MN"? > > ? > > ? > > ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'? > > archivos<-list.files(path=ruta,pattern = '*.pdf')? > > ? > > ? > > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > > prueba <-image_ocr(imagen, language = 'eng')? > > lineas<-unlist(str_split(prueba,pattern = "\n"))? > > lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))? > > ? > > newnom <- NULL? > > renglones <- NULL? > > for (nombre in archivos){? > > subgrupo <- str_extract(str_extract(nombre,pattern = subgrupo_rg),pattern = "[0-9]{1,3}")? > > imagen <- image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))? > > prueba <-image_ocr(imagen, language = 'eng')? > > lineas<-unlist(str_split(prueba,pattern = "\n"))? > > poliza <- NULL? > > poliza<-str_extract(lineas[1],poliza_rg)? > > newnom <- c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))? > > ? > > registro <- NULL? > > registro<-str_extract(lineas[49],registro_rg)? > > ? > > rfc <- NULL? > > rfc <- str_extract(lineas[5],rfc_rg)? > > ? > > ? > > #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))? > > #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))? > > ? > > cobertura <- NA? > > extranjera <- NA? > > suma_str <- NA? > > deducible_str <- NA? > > ? > > suma <- NA? > > coaseguro <- NA? > > deducible <- NA? > > tope <- NA? > > mon <- NA? > > mondedu <- NA? > > ? > > cobertura <- grep("Cobertura en el Extranjero",lineas,value=TRUE)? > > extranjera <- grep("Emergencia en el Extranjero",lineas,value=TRUE)? > > suma_str <- grep("SUMA ASEGURADA:",lineas,value=TRUE)? > > deducible_str <- grep("DEDUCIBLE:",lineas,value=TRUE)? > > sumacob <- NA? > > sumaext <- NA? > > ? > > pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)? > > dnprimariaa <- grep("Nombre de la Aseguradora Primaria:", lineas, value = TRUE)? > > ? > > #cer<- grep("Certificado No. ",lineas, value=TRUE)? > > #ntit<- grep("Ramo", lineas, value=TRUE)? > > ? > > sumacob<-as.numeric(str_extract(cobertura[1],pattern = "[0-9]{1,}"))? > > if (length(sumacob)==0){? > > sumacob = NA? > > }? > > ? > > sumaext<-as.numeric(str_extract(extranjera[17],pattern = "[0-9]{1,}"))? > > if (length(sumaext)==0){? > > sumaext = NA? > > }? > > valores <- NULL? > > monedas <- NULL? > > valores <- str_extract_all(suma_str[17],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > > monedas <- str_extract(suma_str,pattern = mon_rg)? > > if (length(valores[1])==0){? > > suma = NA? > > mon = NA? > > }else{? > > suma = as.numeric(gsub(pattern = ",*",replacement = "",valores[1]))? > > mon <- as.character(monedas[1])? > > }? > > ? > > if (length(valores[2])==0){? > > coaseguro = NA? > > }else{? > > coaseguro = as.numeric(valores[2])? > > }? > > valores <- NULL? > > valores <- str_extract_all(deducible_str[1],pattern = "[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)? > > ? > > if (length(valores[1])==0){? > > deducible <- NA? > > }else{? > > deducible <- as.numeric(gsub(pattern = ",",replacement = "",valores[1]))? > > }? > > ? > > monedas <- NULL ? > > monedas <- str_extract(deducible_str[1],pattern = mon_rg)? > > ? > > if (length(monedas)==0){? > > mondedu <- NA? > > }else{? > > mondedu <- monedas? > > }? > > ? > > ? > > if (length(valores[2])==0){? > > tope = NA? > > }else{? > > tope = as.numeric(gsub(pattern = ",",replacement = "",valores[2]))? > > }? > > ? > > renglon <- data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo, cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]), titu=as.character(lineasdos[10]))? > > renglones <- rbind(renglones,renglon)? > > }? > > ? > > # Con los datos del data frame renombra los archivos hay que crear los subdirectorios? > > ? > > noms <- data.frame(archivo=archivos,poliza=newnom)? > > ? > > noms <- renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]? > > ungrupo<-sqldf("select poliza,count(cert) from noms group by 1 having count(cert) <= 1 ")? > > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo)")? > > length(noms$archivo)? > > salida <- "/renombra/"? > > ? > > for (i in 1:length(noms[,1])){? > > if (!is.na(noms[i,'cer_tit'])){? > > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > > pto <- paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')? > > if (!file.exists(pto)){? > > file.copy(from = pfrom,to=pto)? > > }? > > }? > > }? > > ? > > #Ahora las polizas con subgrupos? > > noms <- renglones[!is.na(renglones$poliza),c('archivo','poliza','subgrupo')]? > > ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 having count(subgrupo) > 1 ")? > > noms<-sqldf("select * from noms where poliza in (select poliza from ungrupo) order by poliza")? > > length(noms$archivo)? > > salida <- "/Renombra/ConGrupos/"? > > ? > > for (i in 1:length(noms[,1])){? > > if (!is.na(noms[i,'poliza'])){? > > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > > pto <- paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')? > > if (!file.exists(pto)){? > > file.copy(from = pfrom,to=pto)? > > }? > > }? > > }? > > ? > > salida <- "/Renombra/Grupos/"? > > dirActual <- getwd()? > > polizas_con_grupos <- as.character(sqldf("select poliza from ungrupo")$poliza)? > > setwd(ruta)? > > for (policita in polizas_con_grupos){? > > archivos <- as.character(sqldf(paste("select archivo from renglones where poliza like '%",policita,"%'",sep=''))$archivo)? > > staple_pdf(input_files = archivos,output_filepath = paste(ruta,salida,policita,".pdf",sep='')) ? > > }? > > setwd(dirActual)? > > ? > > #Ahora los PDf sin poliza? > > noms <- renglones[is.na(renglones$poliza),c('archivo','poliza')]? > > salida <- "/renombra/SinPoliza/"? > > for (i in 1:length(noms[,1])){? > > pfrom <- paste(ruta,"/",noms[i,'archivo'],sep='')? > > pto <- paste(ruta,salida,noms[i,'archivo'],sep='')? > > if (!file.exists(pto)){? > > file.copy(from = pfrom,to=pto)? > > }? > > }? > > ? > > View(renglones)? > > write.csv(renglones, file='//192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv')? > > ? > > ? > > ? > > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es> > > <caratula_34008612-01-B_6370_20_09_2019_141619.pdf>[[alternative HTML version deleted]]
Emilio
Ahora cuando quiero instalar los paquetes pdftools, magick y otros más me salen
el siguiente error
WARNING: Rtools is required to build R packages but is not currently installed.
Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ?C:/Users/bdominguez/Documents/R/win-library/3.6?
(as ?lib? is unspecified)
trying URL
'https://cran.rstudio.com/bin/windows/contrib/3.6/magick_2.2.zip'
Content type 'application/zip' length 20112845 bytes (19.2 MB)
downloaded 19.2 MB
package ?magick? successfully unpacked and MD5 sums checked
The downloaded binary packages are in
        C:\Users\bdominguez\AppData\Local\Temp\RtmpsrfGjz\downloaded_packages
________________________________
De: Emilio L. Cano <emilopezcano en gmail.com>
Enviado: martes, 24 de septiembre de 2019 10:19 a. m.
Para: BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com>
CC: Lista R <r-help-es en r-project.org>
Asunto: Re: [R-es] Consulta
Hola,
Estos mensajes de error no son por el paquete pdftools. Las funciones
image_read_pdf e image_ocr son del paquete magick. ¿Lo tienes instalado? ¿Lo
tienes cargado? Según el script sí, pero asegúrate de que library(magick) no da
ningún error.
La otra función ?str_split? es del paquete stringr, pasa lo mismo: tiene que
estar cargado para poder utilizar sus funciones.
Saludos,
Emilio
El 24 sept 2019, a las 16:20, BERENICE DOMINGUEZ SANCHEZ <ds_bere en
hotmail.com<mailto:ds_bere en hotmail.com>> escribió:
Emilio
Buen día, si me manda un error muy especifico que no reconoce una función de
pdftools
<image.png>
Adjunto el archivo, respecto a la versión fue solo una hipótesis
Hice dos cosas:
Lo volví a instalar pero no tuve éxito, adjunto archivo.
Saludos.
________________________________
De: Emilio L. Cano <emilopezcano en gmail.com<mailto:emilopezcano en
gmail.com>>
Enviado: lunes, 23 de septiembre de 2019 11:56 p. m.
Para: BERENICE DOMINGUEZ SANCHEZ <ds_bere en hotmail.com<mailto:ds_bere en
hotmail.com>>
CC: Lista R <r-help-es en r-project.org<mailto:r-help-es en
r-project.org>>
Asunto: Re: [R-es] Consulta
Hola Berenice,
¿Qué quires decir con que no reconoce el paquete? ¿Te da algún mensaje de error?
No sé si has probado a instalar de nuevo el paquete, si no hazlo.
Para poder reproducir el error con tu código haría falta alguno de los pdfs que
utilizas (puedes compartir un enlace a dropbox o similar).
Un saludo,
Emilio
> El 24 sept 2019, a las 1:49, BERENICE DOMINGUEZ SANCHEZ <ds_bere en
hotmail.com<mailto:ds_bere en hotmail.com>> escribió:
>
> Buenas tarde a todo en s:
>
> Tenia la versión de R 3.6 y utilizaba la paquetería de pdftools para
extraer información de archivos en pdf actualice la versión 3.6.1 y ya no
reconoce la paquetería alguien que me pueda ayudar. Prácticamente no reconoce
las funciones de pdftools
>
> library(pdftools)
> library(stringr)?
> library(NLP)?
> library(tm)?
> library(tesseract)?
> library(magick)?
> install.packages("magick")?
> install.packages("pdftools")?
> ?
> txt <- system.file("texts", "txt", package =
"tm")?
> ?
> rfc_rg <- "([A-Z]{3,})([0-9]{6})([A-Z]|[0-9]){0,3}"?
> #poliza_rg <-
"(34|36|37|39)(ME|MEC|CH|MB|TF|GI|VE|TS|IM|ER|VE)*([0-9]{6,})[-]([0-9]){2}[-][A-Z]"?
> poliza_rg <-
"(ME|CH|MB|TF|GI|gi|VE|TS|IM|ER|VE)*([0-9]{8,})[-]([0-9]){2}"?
> registro_rg <- "(CNSF-H0711-)([0-9]{4})[- ]([0-9]){4}"?
> subgrupo_rg <- "_([0-9]){1,3}."?
> mon_rg <- "SMGM|UMAM|MN"?
> ?
> ?
> ruta <- 'C:/Users/bdominguez/Documents/H0711/Bond/1909/'?
> archivos<-list.files(path=ruta,pattern = '*.pdf')?
> ?
> ?
> imagen <-
image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))?
> prueba <-image_ocr(imagen, language = 'eng')?
> lineas<-unlist(str_split(prueba,pattern = "\n"))?
> lineasp<-unlist(str_split(prueba[2],pattern = "\r\n"))?
> ?
> newnom <- NULL?
> renglones <- NULL?
> for (nombre in archivos){?
>  subgrupo <- str_extract(str_extract(nombre,pattern =
subgrupo_rg),pattern = "[0-9]{1,3}")?
>  imagen <-
image_read_pdf(path=paste(ruta,"/",nombre,".pdf",sep=""))?
>  prueba <-image_ocr(imagen, language = 'eng')?
>  lineas<-unlist(str_split(prueba,pattern = "\n"))?
>  poliza <- NULL?
>  poliza<-str_extract(lineas[1],poliza_rg)?
>  newnom <-
c(newnom,paste(poliza[1],substr(nombre,5,6),".pdf",sep=''))?
>  ?
>  registro <- NULL?
>  registro<-str_extract(lineas[49],registro_rg)?
>  ?
>  rfc <- NULL?
>  rfc <- str_extract(lineas[5],rfc_rg)?
>  ?
>  ?
>  #lineasnew<-unlist(str_split(lineas[2],pattern = "\r\n"))?
>  #lineasdosnew<-unlist(str_split(lineas[1],pattern = "\r\n"))?
>  ?
>  cobertura <- NA?
>  extranjera <- NA?
>  suma_str   <- NA?
>  deducible_str <- NA?
>  ?
>  suma <- NA?
>  coaseguro <- NA?
>  deducible <- NA?
>  tope <- NA?
>  mon <- NA?
>  mondedu <- NA?
>  ?
>  cobertura  <- grep("Cobertura en el
Extranjero",lineas,value=TRUE)?
>  extranjera <- grep("Emergencia en el
Extranjero",lineas,value=TRUE)?
>  suma_str   <- grep("SUMA ASEGURADA:",lineas,value=TRUE)?
>  deducible_str   <- grep("DEDUCIBLE:",lineas,value=TRUE)?
>  sumacob <- NA?
>  sumaext <- NA?
>  ?
>  pprimaria <- grep("Numero de Póliza:", lineas, value = TRUE)?
>  dnprimariaa <- grep("Nombre de la Aseguradora Primaria:",
lineas, value = TRUE)?
>  ?
>  #cer<- grep("Certificado No. ",lineas, value=TRUE)?
>  #ntit<- grep("Ramo", lineas, value=TRUE)?
>  ?
>  sumacob<-as.numeric(str_extract(cobertura[1],pattern =
"[0-9]{1,}"))?
>  if (length(sumacob)==0){?
>    sumacob = NA?
>  }?
>  ?
>  sumaext<-as.numeric(str_extract(extranjera[17],pattern =
"[0-9]{1,}"))?
>  if (length(sumaext)==0){?
>    sumaext = NA?
>  }?
>  valores <- NULL?
>  monedas <- NULL?
>  valores <- str_extract_all(suma_str[17],pattern =
"[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)?
>  monedas <- str_extract(suma_str,pattern = mon_rg)?
>  if (length(valores[1])==0){?
>    suma = NA?
>    mon = NA?
>  }else{?
>    suma = as.numeric(gsub(pattern = ",*",replacement =
"",valores[1]))?
>    mon <- as.character(monedas[1])?
>  }?
>  ?
>  if (length(valores[2])==0){?
>    coaseguro = NA?
>  }else{?
>    coaseguro = as.numeric(valores[2])?
>  }?
>  valores <- NULL?
>  valores <- str_extract_all(deducible_str[1],pattern =
"[0-9]{0,3},*[0-9]{0,3},*[0-9]{1,3}(.[0-9]{1,}){0,1}",simplify=TRUE)?
>  ?
>  if (length(valores[1])==0){?
>    deducible <- NA?
>  }else{?
>    deducible <- as.numeric(gsub(pattern = ",",replacement =
"",valores[1]))?
>  }?
>  ?
>  monedas <- NULL  ?
>  monedas <- str_extract(deducible_str[1],pattern = mon_rg)?
>  ?
>  if (length(monedas)==0){?
>    mondedu <- NA?
>  }else{?
>    mondedu <- monedas?
>  }?
>  ?
>  ?
>  if (length(valores[2])==0){?
>    tope = NA?
>  }else{?
>    tope = as.numeric(gsub(pattern = ",",replacement =
"",valores[2]))?
>  }?
>  ?
>  renglon <-
data.frame(archivo=nombre,poliza=as.character(poliza[1]),cobertura=sumacob,emergencia=sumaext,registro=registro[1],suma=suma,coaseguro=coaseguro,deducible=deducible,tope=tope,rfc=rfc,mon=mon,mondedu=mondedu,subgrupo=subgrupo,
cert=as.character(cer[1]), cer_tit=as.character(lineasdos[14]),
titu=as.character(lineasdos[10]))?
>  renglones <- rbind(renglones,renglon)?
> }?
> ?
> # Con los datos del data frame renombra los archivos hay que crear los
subdirectorios?
> ?
> noms <- data.frame(archivo=archivos,poliza=newnom)?
> ?
> noms <-
renglones[!is.na(renglones$poliza),c('archivo','cer_tit')]?
> ungrupo<-sqldf("select poliza,count(cert) from noms group by 1 
having count(cert) <= 1 ")?
> noms<-sqldf("select * from noms where poliza in (select poliza from
ungrupo)")?
> length(noms$archivo)?
> salida <- "/renombra/"?
> ?
> for (i in 1:length(noms[,1])){?
>  if (!is.na(noms[i,'cer_tit'])){?
>    pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
>    pto <-
paste(ruta,salida,noms[i,'cer_tit'],'.pdf',sep='')?
>    if (!file.exists(pto)){?
>      file.copy(from = pfrom,to=pto)?
>    }?
>  }?
> }?
> ?
> #Ahora las polizas con subgrupos?
> noms <-
renglones[!is.na(renglones$poliza),c('archivo','poliza','subgrupo')]?
> ungrupo<-sqldf("select poliza,count(subgrupo) from noms group by 1 
having count(subgrupo) > 1 ")?
> noms<-sqldf("select * from noms where poliza in (select poliza from
ungrupo) order by poliza")?
> length(noms$archivo)?
> salida <- "/Renombra/ConGrupos/"?
> ?
> for (i in 1:length(noms[,1])){?
>  if (!is.na(noms[i,'poliza'])){?
>    pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
>    pto <-
paste(ruta,salida,noms[i,'poliza'],'_',noms[i,'subgrupo'],'.pdf',sep='')?
>    if (!file.exists(pto)){?
>      file.copy(from = pfrom,to=pto)?
>    }?
>  }?
> }?
> ?
> salida <- "/Renombra/Grupos/"?
> dirActual <- getwd()?
> polizas_con_grupos <- as.character(sqldf("select poliza from
ungrupo")$poliza)?
> setwd(ruta)?
> for (policita in polizas_con_grupos){?
>  archivos <- as.character(sqldf(paste("select archivo from
renglones where poliza like
'%",policita,"%'",sep=''))$archivo)?
>  staple_pdf(input_files = archivos,output_filepath =
paste(ruta,salida,policita,".pdf",sep='')) ?
> }?
> setwd(dirActual)?
> ?
> #Ahora los PDf sin poliza?
> noms <-
renglones[is.na(renglones$poliza),c('archivo','poliza')]?
> salida <- "/renombra/SinPoliza/"?
> for (i in 1:length(noms[,1])){?
>  pfrom <-
paste(ruta,"/",noms[i,'archivo'],sep='')?
>  pto <- paste(ruta,salida,noms[i,'archivo'],sep='')?
>  if (!file.exists(pto)){?
>    file.copy(from = pfrom,to=pto)?
>  }?
> }?
> ?
> View(renglones)?
> write.csv(renglones,
file='//192.168.1.83/share/CERT/CERTIFICADOS_INDIVIDUALES_295_UMAM/Renombra/CERTIFICADOS_INDIVIDUALES_295_UMAM.csv')?
> ?
> ?
> ?
>
>
>        [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org<mailto:R-help-es en r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
<caratula_34008612-01-B_6370_20_09_2019_141619.pdf>
	[[alternative HTML version deleted]]