Os arquivos

Os arquivos

Esta questão não contém nenhuma referência direta ao TeX; no entanto, me deparei com o problema ao trabalhar com pdflatex, especificamente ao incluir epsa saída em um pdfarquivo. Além disso, espero o maior conhecimento em relação aos formatos de epsarquivo pdfneste SE. Então, espero que esta questão esteja no tópico. Pesquisei algumas outras questões sobre a conversão da saída do MATLAB; no entanto, nenhum deles parecia lidar com o problema específico que enfrento, ou a quantidade de detalhes da pergunta era extremamente limitada.

Meu problema é: alguns elementos gráficos não são exibidos no Acrobat Reader. O texto é mostrado corretamente e se os elementos são exibidos ou não depende da rotina de exportação e do seu tamanho. Não parece ser um problema de cultivo. Não vejo esse problema em outros espectadores. Então vou tentar a solução deCertos arquivos EPS não são convertidos com epstopdf, mas ...

... minha pergunta é: por que isso acontece, afinal? Isso é um bug no Acrobat Reader? Em epstopdf? No MATLAB? Ou essa cadeia de ferramentas está usando um recurso que devo evitar porque é conhecido por causar problemas?

Como eu disse, reduzi o problema a um que é independente de pdflatex.

É assim que eu gero os arquivos no MATLAB, espero que o código seja compreensível para qualquer pessoa.

for dim = 32 : 33
    im = rand(dim);
    suf = sprintf('_%d.eps', dim);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    saveas(gcf, ['saveas' suf]);
    system(['epstopdf saveas' suf]);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    print(gcf, ['print-d' suf], '-deps');
    system(['epstopdf print-d' suf]);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    print(gcf, ['print' suf]);
    system(['epstopdf print' suf]);
end

Os arquivos

saveas_32.pdfe print-d_32.pdfos arquivos são exibidos incorretamente. Isto é o que parece:

insira a descrição da imagem aqui

Minhas observações

  • Todos os arquivos EPS ficam bem no GSview.
  • Todos os arquivos PDF ficam bem no Google Chrome.
  • savease print-dos arquivos parecem idênticos em todos os lugares; isso não é surpreendente; é bastante surpreendente que printos arquivos tenham uma borda feia que eu precisaria cortar manualmente; Eu não gostaria de fazer isso.
  • Todos os outros arquivos (não print) PDF parecem perfeitos em termos de composição.
  • Todos 33os arquivos PDF ficam bem no Acrobat Reader.
  • O print_32arquivo pdf fica bem no Acrobat Reader (mas aquela borda feia...).
  • Todos os outros arquivos PDF (não print) 32não têm a imagem. O texto está na posição esperada.
  • Nos 32arquivos eps, os dados da imagem são armazenados como um “padrão”.
  • Em 33arquivos eps, os dados da imagem são armazenados como java.awt.image.BufferedImage.

Versão informação

GSView 5.0

GPL Ghostscript 9.20 (2016-09-26)

MATLAB Version: 9.1.0.441655 (R2016b)
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 14393)
Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 
64-Bit Server VM mixed mode

MATLAB's Ghostscript:
It seems that MATLAB does not ship with Ghostscript any longer. 
From pdf files saved with MATLAB, I find this:
Apache FOP Version 2.2.0-SNAPSHOT: PDFDocumentGraphics2D
I cannot see if this is used to generate eps output, too.

C:\>which epstopdf
/Program Files/MiKTeX 2.9/miktex/bin/x64/epstopdf

C:\>epstopdf --version
MiKTeX EPS-to-PDF Converter 2.9.6200 (MiKTeX 2.9.6210 64-bit)

From EPS files, which are converted using this tool:
MiKTeX GPL Ghostscript 9.19

Adobe Acrobat Reader DC 2015.023.20056

Chrome Version 55.0.2883.87 m (64-bit)

Responder1

A resposta é simples, e o comentário de @samcarter me fez encontrá-la. Foram as configurações de exibição na minha instalação do Adobe Reader. Eu tinha "Substituir cores do documento" ativado (lembro-me de ter brincado com essas configurações uma vez) e, embora isso não mude muito em um documento normal (e certamente não remove imagens), remove meu exemplo 32x32 (ou imagens menores). Acho que a diferença entre 32x32 e 33x33 é que os últimos são codificados como bitmaps (e não substituídos), enquanto os primeiros são codificados como padrões de forma (e substituídos). Esta deve ser uma distinção que o codificador inicial (neste caso, MATLAB) faz, como você vê essa diferença nos arquivos eps.

Desativar essa opção traz de volta minhas imagens!

insira a descrição da imagem aqui

informação relacionada