2010-04-07 26 views
5

Mi aplicación iPhone crea archivos PDF (en fuente Arial). La versión sencilla de iPhone 3.1.x funciona muy bien (aparte del conocido problema de que los archivos PDF creados en el iPhone no se pueden ver correctamente en Google Docs o en el BlackBerry).Los archivos PDF creados en iPad no se muestran correctamente en Windows

Como estoy actualizando mi proyecto para OS 3.2 y el iPad, funciona de la misma manera, y los archivos PDF aún se ven geniales en el iPhone, iPad y Mac OS X (aplicación de vista previa). Pero ahora en Windows (Vista), Acrobat 9.3.1 dice "No se puede extraer la fuente incrustada 'XYZABC + ArialMT'. Es posible que algunos caracteres no se muestren o no se impriman correctamente".

Y, de hecho, Acrobat utiliza una fuente genérica en lugar de Arial (o cualquier otra fuente que intente).

Quartz 3.2 parece generar estos nombres de fuente incrustados "aleatorios" cada vez que crea un archivo PDF (el XYZABC cambia cada vez). No puedo decir si el problema es solo el nombre de fuente incrustado "temporal" algo extraño con el signo más, o la forma en que Quartz 3.2 está incorporando fuentes.

He intentado mi código existente (usando las funciones CGPDFContext*), y también las funciones recientemente admitidas UIGraphics*, con los mismos resultados.

¿Cómo se pueden crear archivos PDF en el iPad para que se muestren correctamente en Windows?

+0

Por lo tanto, parece que una muestra de otros lectores de PDF (gratuitos) en Windows puede leer estos archivos muy bien, por lo que (jadeo) puede ser simplemente Acrobat 9.3.1. Eso sería irónico. – Morgan

+0

¡Estoy teniendo el mismo problema con Acrobat reader 9.4.0! – Icode4food

Respuesta

3

Actualización importante: a partir de iOS 4.2, Apple ha corregido el error que informé; Los archivos PDF generados desde Quartz en iOS ahora contienen fuentes correctamente integradas. Dejo el resto de esta respuesta como está, pero no utilizo este mecanismo en iOS 4.2 o posterior.

Adobe Reader está correctamente, si no es de gran ayuda, siguiendo las especificaciones de PDF. Investigué esto porque estaba afectando a una de mis aplicaciones y documenté mis hallazgos aquí: http://blog.nomzit.com/2010/08/18/annoying-bug-in-quartz-pdfcontext-font-handling/

Hay una solución simple documentada allí que hace que Adobe Reader se comporte igual que las alternativas más útiles.

que también han informado del error a Apple

+0

Gracias por esta publicación. Yo votaría su respuesta pero todavía no puedo. – Morgan

+0

¿quiere decir "... informó el error a Adobe"? –

+0

No, Adobe Reader se comporta correctamente en este caso, es el PDF producido en Quartz que está mal –

1

Intente utilizar Foxit Reader para la apertura de los archivos PDF en Windows en lugar de Adobe Reader. Funcionó para mí

0

Además del análisis de Phil, he encontrado que varios usuarios de Windows no tienen una o más de las fuentes estándar (como Helvetica) instalados. Los archivos PDF generados a través de Quartz harían referencia a una de estas fuentes estándar, que Adobe Reader representaría utilizando la siguiente fuente más cercana en su tabla de búsqueda, lo que daría lugar a archivos PDF de aspecto extraño. Las fuentes del sistema estándar de iPhone/iPad no se integraron correctamente, posiblemente debido a lo que Phil ha encontrado en los archivos PDF generados por Quartz.

En todos los casos que encontré, esto se solucionó haciendo que el usuario instalara Helvetica (o cualquier otra fuente faltante) en su máquina Windows, momento en el que los PDF se procesarían correctamente.

Cuestiones relacionadas