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.

Resultado extraño de un carácter de 1 byte con pdftotext al convertir de .pdf a .txt.

Tengo este resultado extraño al transferir un solo archivo PDF sin contenido a un archivo .txt.

Estoy utilizando este código PHP en un bucle foreach para todos los archivos encontrados en el directorio. Funciona increíblemente bien con la opción -raw si hay texto disponible en el PDF.

system("pdftotext -raw $page_name 2>1");

Sin embargo, si no hay contenido o el archivo solo contiene una imagen, produce este código en el archivo .txt:

Windows screenshot from the line produced

(vista de la línea 1 en el archivo .txt)

He probado múltiples configuraciones de pdftotext, pero no logro deshacerme de eso.

¿Hay alguna forma de solucionarlo con pdftotext?

Alguna información adicional: con ese carácter, el archivo producido siempre tiene 1 byte. Me gustaría que se mostrara como 0 bytes en el directorio.

(p.d. primera vez que agrego una imagen. ¡Espero que quede claro!)

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una solución para abordar este problema con pdftotext es utilizar la opción “-q”, que suprime toda la salida a stdout y stderr. Esto ayudará a evitar que el resultado extraño se imprima en el archivo .txt.

    Puede modificar el código PHP existente de la siguiente manera:

    system("pdftotext -raw -q $page_name");
    

    Esto debería evitar que se imprima cualquier salida en el archivo .txt y asegurarse de que el tamaño del archivo se liste como 0 bytes en el directorio.

Comments are closed.