Pdf.js: IOS no puede procesar ciertos archivos PDF

Creado en 16 mar. 2018  ·  4Comentarios  ·  Fuente: mozilla/pdf.js

16391_49885.pdf

Configuración:

Navegador web y su versión: Safari Latest
Sistema operativo y eso
s versión: iOS 11.1.1
Versión de PDF.js: última
Pasos para reproducir el problema:

Cargue el archivo adjunto en cualquier visualizador o renderizador de pdf.js.
¿Cuál es el comportamiento esperado? (agregar captura de pantalla)
Representación de PDF

¿Qué salió mal? (agregar captura de pantalla)
Se muestra un lienzo blanco en blanco en lugar del pdf.
Esto solo ocurre en los navegadores iOS. Funciona en todos los navegadores para Windows y en todos los navegadores para MacOS. También funciona en Google Chrome en un dispositivo Android.

1-core 4-os-ios

Todos 4 comentarios

Revisé el pdf que figura arriba en el visor web

Primero verifico si funciona con otros pdf con este pdf :

En Safari:

En Google Chrome:

Luego, intento abrir el documento especificado en Safari:

Intente abrir el documento especificado en Google Chrome

También descubrí que si intento abrir el pdf de trabajo con el visor web después de haber intentado abrir el pdf de hanyan123, el pdf de trabajo ya no se muestra.

En Safari:

29634560_10208553894044613_2131570870_o

En Google Chrome:

También nos encontramos con este problema con otro documento en iOS: https://tcpdf.org/files/examples/example_033.pdf (PDF de 1 página)

Después de investigar, obtuvimos información adicional sobre este error:

  • También se puede reproducir en Safari de escritorio (v. 11.0.3 (12604.5.6.1.1), macOS 10.12.6) utilizando el visor alojado en https://mozilla.github.io/pdf.js/web/viewer.html .
  • Los documentos se cargan (tanto el vinculado arriba como el vinculado por @ hanyan123) pero lleva mucho tiempo (aproximadamente 5-10 minutos).

He observado algo similar, aunque en mi caso, nunca he visto la pantalla del documento ni siquiera después de esperar. Describí mis observaciones sobre StackOverflow ; repetiré mi pregunta aquí, junto con la respuesta convincente de alguien:

Tengo un documento pdf de dos páginas que no se procesa ni en Safari ni en Chrome en iOS, usando pdf.js; hay dos páginas, pero ambas están en blanco. Si "imprimo" el documento con CutePDF en otro pdf, ¡se procesa! Pero si optimizo con Acrobat PRO, no se procesa. Leí en alguna parte que si renderizo como PostScript con Acrobat PRO, y luego vuelvo a guardar como PDF, eso se linealiza; todavía no hay amor. Muestro los cuatro sabores aquí : la miniatura muestra los metadatos del pdf, junto con el tamaño del archivo. Solo se renderiza la versión CutePDF, aunque no es la más pequeña. Aparte de simplemente reimprimir todos los PDF que tengo en mi sitio web con CutePDF, ¿alguien puede decirme con qué está descontento pdf.js?

NB: Los cuatro sabores se procesan bajo Windows. Solo iOS tiene el problema, con tres de los cuatro.

Esta es la respuesta:

Todas las versiones que no funcionan tienen el mapa de bits dibujado como un solo XObject grande envuelto en un patrón. La versión de trabajo tiene el mapa de bits cortado en muchas imágenes más pequeñas dibujadas directamente en el contenido de la página. Es posible que desee buscar problemas de pdf.js relacionados con esos factores.

CutePDF no ofrece la opción de controlar el mapa de bits de esa manera, simplemente lo hace. ¿Qué pasa con un "XObject grande único envuelto en un patrón" que no le gusta a pdf.js y cómo puedo controlar, por ejemplo, Acrobat PRO para que se renderice como lo hace CutePDF (si esa es la solución)?

He observado algo similar, aunque en mi caso, nunca he visto la pantalla del documento ni siquiera después de esperar. Describí mis observaciones sobre StackOverflow ; repetiré mi pregunta aquí, junto con la respuesta convincente de alguien:

Tengo un documento pdf de dos páginas que no se procesa ni en Safari ni en Chrome en iOS, usando pdf.js; hay dos páginas, pero ambas están en blanco. Si "imprimo" el documento con CutePDF en otro pdf, ¡se procesa! Pero si optimizo con Acrobat PRO, no se procesa. Leí en alguna parte que si renderizo como PostScript con Acrobat PRO, y luego vuelvo a guardar como PDF, eso se linealiza; todavía no hay amor. Muestro los cuatro sabores aquí : la miniatura muestra los metadatos del pdf, junto con el tamaño del archivo. Solo se renderiza la versión CutePDF, aunque no es la más pequeña. Aparte de simplemente reimprimir todos los PDF que tengo en mi sitio web con CutePDF, ¿alguien puede decirme con qué está descontento pdf.js?
NB: Los cuatro sabores se procesan bajo Windows. Solo iOS tiene el problema, con tres de los cuatro.

Esta es la respuesta:

Todas las versiones que no funcionan tienen el mapa de bits dibujado como un solo XObject grande envuelto en un patrón. La versión de trabajo tiene el mapa de bits cortado en muchas imágenes más pequeñas dibujadas directamente en el contenido de la página. Es posible que desee buscar problemas de pdf.js relacionados con esos factores.

CutePDF no ofrece la opción de controlar el mapa de bits de esa manera, simplemente lo hace. ¿Qué pasa con un "XObject grande único envuelto en un patrón" que no le gusta a pdf.js y cómo puedo controlar, por ejemplo, Acrobat PRO para que se renderice como lo hace CutePDF (si esa es la solución)?

¿Alguna actualización sobre este tema? También lo he encontrado.

¿Fue útil esta página
0 / 5 - 0 calificaciones