Esta es una pregunta muy general, pero se basa en un problema específico. Creé una aplicación de lector de PDF para el iPad y funciona bien, excepto en algunas páginas en pdf que siempre bloquean la aplicación. Ahora descubrimos que las mismas páginas causan que Safari se bloquee también, por lo que comencé a sospechar que el problema está en algún lugar del código de procesamiento de PDF de Apple.¿Qué elementos de pdf podrían causar bloqueos?
Por lo que he podido ver, las páginas bloqueadas provocan que las bibliotecas de renderizado comiencen a asignar memoria como loca hasta que la aplicación muera. No tengo nada más para ayudarme a identificar qué desencadena este proceso.
No necesariamente sucede con los documentos más grandes, o los que tienen más formas. De hecho, no hemos encontrado ningún parámetro que nos ayude a predecir qué páginas fallarán y cuáles no.
Ahora descubrimos que ejecutar las páginas a través de un programa para el consumidor que permite fusionar documentos elimina el problema, pero no he podido detectar qué atributo o elemento es la clave. Cambiar los documentos a mano tampoco es una opción para nosotros a largo plazo. Necesitamos ejecutar un proceso automatizado en nuestro servidor.
Espero que alguien con un conocimiento más profundo sobre el formato de archivo PDF pueda orientarme en una dirección razonable para buscar las características del documento que podrían causar este tipo de comportamiento. Todo lo que he encontrado hasta ahora es algo acerca de las imágenes JBIG2, y no creo que tengamos ninguna de esas.
Gracias por esta información. ¿Qué programa/biblioteca usaste para hacer la conversión de PS/PDF? Sugerí a mi cliente que utilizara Ghost Script para modificar los archivos, pero al final ellos hicieron su propia solución. – Felixyz
No hay programas/bibliotecas especiales de código abierto. Utilicé Adobe Distiller 6.0 ya que estaba disponible en el trabajo. – soliosg