Recientemente comencé a desarrollar una aplicación con React. Soy realmente nuevo en JS y, en general, en el desarrollo web, por lo que probablemente suene novato: D
Mi objetivo es descargar y renderizar algunos pdf desde alguna url. El principal problema es que la página web a la que solicito el pdf ejecuta un código javascript para identificarme, por lo que no puedo procesar directamente el pdf desde la URL como se suele hacer con react-pdf . Específicamente, lo que sucede es que cuando solicito el pdf directamente desde react-pdf a la url, la página web no logra ejecutar sus scripts JS, por lo que muestra otra página que es diferente del pdf que me gustaría obtener. Por lo tanto, react-pdf arroja un error que dice que no logró cargar el pdf.
Como solución alternativa, escribí algunas api usando puppeteer y express que descarga el pdf de la url a alguna carpeta local. Realmente no pretende ser solo una solución alternativa, en realidad preferiría descargar los archivos PDF en alguna carpeta local para no volver a descargarlos en caso de que ya los tenga (y en mi caso de uso, sucederá mucho !). Entonces, el problema es que no puedo renderizarlo desde la carpeta local usando react-pdf , porque necesitaría una declaración de import al comienzo del código para algo que aún no está allí.
¿Alguien sabe si hay una manera, usando react-pdf , para representar un archivo pdf local sin usar una declaración de import ? Leí en la documentación que también se puede usar una etiqueta de input en el medio del código. Específicamente, entre los props de la clase Document , dicen que file "el valor puede ser un archivo importado usando import ... from ... o desde el elemento de formulario de entrada de archivo". Todavía no he encontrado ningún ejemplo en línea que pueda ayudarme a entender cómo hacerlo, y estoy bastante luchando. De lo contrario, ¿puede sugerir otra biblioteca para renderizar archivos PDF (locales) que también brinde la posibilidad de agregar anotaciones con bastante facilidad?
Editar: resolví el problema al final. Puse los archivos descargados en la carpeta public de mi proyecto React y luego llamé a los archivos con http://localhost:3000/ + file.pdf .