es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Buscar y reemplazar el carácter de imagen generado por pdftotext en el archivo .txt

Utilicé pdftotext de PHP para crear muchos archivos .txt a partir de los pdf.

Lo utilicé de la siguiente manera, lo cual funcionó perfectamente para todas las partes de texto en todos los archivos:

system("pdftotext -raw dir/$pdf_file 2>1");

EL PROBLEMA

Sin embargo, en el nuevo archivo .txt, todas las imágenes de los pdf aparecen como:

  • ‘FF’ al abrir el archivo en FTP
  • el carácter ‘%0C’ con urlencode en el navegador (fopen)
  • una flecha hacia arriba sin urlencode (fopen)
  • ^L, al usar less en la línea de comandos (en CentOs 7), donde incluso sed ‘s/^L//g’ en un solo nombre de archivo no funciona.

Entonces, en todas esas visualizaciones, obtengo diferentes formas de trabajar con este extraño carácter.

LA PREGUNTA

Después de intentar tantos códigos durante una semana, todavía estoy buscando una manera de encontrar y eliminar este carácter de imagen extraño de todos los archivos .txt.

¿Existe alguna solución para esto?

O, ¿qué es lo más inteligente que se puede hacer aquí? ¿Trabajar con un archivo PHP con código o en la línea de comandos? Estoy un poco perdido en este tema ahora.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para eliminar caracteres extraños de imágenes de archivos convertidos de PDF a texto

    Existen diferentes formas de eliminar los caracteres extraños de imágenes de archivos convertidos de PDF a texto. A continuación, se presentan algunas sugerencias:

    1. Usando funciones de PHP

    Puedes utilizar funciones de PHP como str_replace() o preg_replace() para encontrar y reemplazar los caracteres extraños. Por ejemplo:

    $texto = file_get_contents('ruta/al/archivo.txt');
    $texto = str_replace('FF', '', $texto);
    file_put_contents('ruta/al/archivo.txt', $texto);
    

    Esto eliminará todas las ocurrencias de ‘FF’ en el archivo y guardará el texto actualizado.

    2. Usando herramientas de línea de comandos

    También puedes utilizar herramientas de línea de comandos como sed o awk para eliminar los caracteres extraños. Por ejemplo:

    sed -i 's/FF//g' ruta/al/archivo.txt
    

    Esto eliminará todas las ocurrencias de ‘FF’ en el archivo y guardará el texto actualizado.

    3. Usando expresiones regulares

    Puedes utilizar expresiones regulares para encontrar y reemplazar los caracteres extraños de manera más flexible. Por ejemplo:

    $texto = file_get_contents('ruta/al/archivo.txt');
    $texto = preg_replace('/[\x00-\x1F\x7F-\xFF]/', '', $texto);
    file_put_contents('ruta/al/archivo.txt', $texto);
    

    Esto eliminará todos los caracteres de control y especiales del archivo, lo cual debería incluir los caracteres extraños de las imágenes.

    Conclusión

    La mejor solución dependerá de tus necesidades y preferencias específicas. Usar funciones de PHP puede ser más conveniente y personalizable, pero puede ser más lento para procesar archivos grandes. Usar herramientas de línea de comandos puede ser más rápido y eficiente, pero puede requerir más habilidades técnicas. Usar expresiones regulares puede ser más poderoso y confiable, pero también puede requerir un conocimiento más avanzado.

Comments are closed.