Adjunte (recomendado) o enlace al archivo PDF aquí:
EMG8 -Cambridge Essentail Gold Maths 8-B 117.pdf
Configuración:
Pasos para reproducir el problema:
¿Cuál es el comportamiento esperado? (agregar captura de pantalla)
En cualquier otro lector de PDF funciona bien:
Enlace a un visor (si está alojado en un sitio que no sea mozilla.github.io/pdf.js o como extensión de Firefox / Chrome):
Visor de páginas de github actual: https://mozilla.github.io/pdf.js/web/viewer.html
Notas:
Logramos que funcione editando las fuentes dentro del PDF. Actualmente es "Times New Roman PS", volver a renderizarlo con solo "Times New Roman" parece arreglarlo.
No hay errores de consola ni ningún otro signo visible de soluciones, como CMaps faltantes.
Lamentablemente, no se nos permite alterar los archivos PDF, por lo que volver a renderizar cada uno no es una solución viable.
Si alguien puede darnos una idea de esto y una posible solución, se lo agradecería enormemente 🤠
El PDF define las mismas fuentes muchas veces. Por ejemplo, la fuente LULQLP+TimesLTStd-Roman
se define nueve veces. Cada uno se refiere al mismo FontDescriptor y al mismo flujo de datos CFF incrustado.
Hay un cálculo de hash de fuente en PartialEvaluator.prototype.preEvaluateFont()
en core / evaluator.js. Agrega entradas Codificación, ToUnicode y Anchuras en el hash. Algunas fuentes en el PDF obtienen códigos hash idénticos porque todas las entradas mencionadas son idénticas, incluso anchos. Solo las entradas FirstChar y LastChar difieren. Si las fuentes obtienen códigos hash idénticos, ¿podría hacer que se omita una fuente para que no se convierta a OpenType?
Aquí hay un PDF reducido que contiene dos fuentes del PDF original
número10665_reduced.pdf
Hay un cálculo de hash de fuente en
PartialEvaluator.prototype.preEvaluateFont()
en core / evaluator.js. Agrega entradas Codificación, ToUnicode y Anchuras en el hash. Algunas fuentes en el PDF obtienen códigos hash idénticos porque todas las entradas mencionadas son idénticas, incluso anchos. Solo las entradas FirstChar y LastChar difieren.
Realmente excelente análisis, gracias; ¡Esto hizo que el error fuera fácil de solucionar!
Si las fuentes obtienen códigos hash idénticos, ¿podría hacer que se omita una fuente para que no se convierta a OpenType?
En algunos archivos PDF mal generados puede haber grandes cantidades de fuentes idénticas, y el propósito de preEvaluateFont
era simplemente evitar tener que cargar / analizar los duplicados. Por lo tanto, loadFont
comparará hash
es y, si es posible, utilizará una fuente ya cargada / analizada.
Obviamente, todo esto depende del hecho de que los hash
es en realidad son correctos / únicos, pero afortunadamente ha habido relativamente pocos errores en ese código a lo largo de los años.
¡Esto es increíble, muchas gracias por la ayuda!
Comentario más útil
El PDF define las mismas fuentes muchas veces. Por ejemplo, la fuente
LULQLP+TimesLTStd-Roman
se define nueve veces. Cada uno se refiere al mismo FontDescriptor y al mismo flujo de datos CFF incrustado.Hay un cálculo de hash de fuente en
PartialEvaluator.prototype.preEvaluateFont()
en core / evaluator.js. Agrega entradas Codificación, ToUnicode y Anchuras en el hash. Algunas fuentes en el PDF obtienen códigos hash idénticos porque todas las entradas mencionadas son idénticas, incluso anchos. Solo las entradas FirstChar y LastChar difieren. Si las fuentes obtienen códigos hash idénticos, ¿podría hacer que se omita una fuente para que no se convierta a OpenType?Aquí hay un PDF reducido que contiene dos fuentes del PDF original
número10665_reduced.pdf