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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top