Os arquivos PDF criados no iPad não são exibidos corretamente no Windows
-
25-09-2019 - |
Pergunta
Meu aplicativo para iPhone cria arquivos PDF (na fonte Arial). A versão simples do iPhone 3.1.x funciona muito bem (exceto o problema conhecido que os arquivos PDF criados no iPhone não podem ser visualizados corretamente no Google Docs ou no BlackBerry).
Enquanto estou atualizando meu projeto para o OS 3.2 e o iPad, ele funciona da mesma forma, e os arquivos PDF ainda ficam ótimos no iPhone, iPad e Mac OS X (aplicativo de visualização). Mas agora no Windows (Vista), o Acrobat 9.3.1 diz que "não pode extrair a fonte incorporada 'xyzabc+arialmt'. Alguns caracteres podem não exibir ou imprimir corretamente".
E, de fato, o Acrobat usa alguma fonte genérica em vez de arial (ou qualquer outra fonte que eu tente).
O Quartz 3.2 parece gerar esses nomes de fontes incorporados "aleatórios" cada vez que cria um arquivo PDF (o XYZABC muda em torno de cada vez). Não sei dizer se o problema é apenas o nome de fonte "temporário" um tanto estranho com o sinal de plus, ou a maneira como o Quartz 3.2 está incorporando fontes.
Eu tentei meu código existente (usando CGPDFContext*
funções), e também o recém -suportado UIGraphics*
funções, com os mesmos resultados.
Como os arquivos PDF podem ser criados no iPad para exibir corretamente no Windows?
Solução
Atualização Importante: A partir do iOS 4.2, a Apple corrigiu o bug que relatei; Os PDFs gerados a partir do quartzo no iOS agora contêm fontes incorporadas corretamente. Estou deixando o restante desta resposta como está, mas Não use esse mecanismo no iOS 4.2 ou posterior.
O Adobe Reader está corretamente, se inútil, seguindo a especificação PDF. Eu investigei isso porque estava afetando um dos meus aplicativos e documentei minhas descobertas aqui: http://blog.nomzit.com/2010/08/18/annoying-bug-in-quartz-pdfcontext-font-handling/
Há uma solução alternativa simples, que faz com que o Adobe Reader se comporte o mesmo que as alternativas mais úteis.
Eu também relatei o bug para a Apple
Outras dicas
Tente usar Foxit Reader Para abrir seus arquivos PDF no Windows em vez do Adobe Reader. Funcionou para mim.
Usando páginas em um iPad, ocorre o mesmo problema. Eu estaria interessado em encontrar uma resposta:
http://discussions.apple.com/thread.jspa?threadid=2389034&tstart=0
Além da análise de Phil, descobri que vários usuários do Windows não tinham uma ou mais das fontes padrão (como o Helvetica) instaladas. Os PDFs gerados via Quartz referenciariam uma dessas fontes padrão, que o Adobe Reader renderizaria usando a próxima fonte mais próxima em sua tabela de pesquisa, levando a PDFs de aparência estranha. As fontes do sistema padrão do iPhone / iPad não estavam sendo incorporadas corretamente, possivelmente devido ao que Phil encontrou nos PDFs gerados por quartzo.
Em todos os casos que eu deparei, isso foi resolvido com o usuário instalar o Helvetica (ou qualquer outra fonte ausente) em sua máquina Windows, momento em que os PDFs renderizavam corretamente.