文件

文件

這個問題不包含任何對 TeX 的直接引用;但是,我在使用 時遇到了這個問題pdflatex,特別是在eps將輸出包含到pdf文件中時。另外,我希望獲得有關此 SE 的最專業知識eps和文件格式。pdf所以我希望這個問題是切題的。我研究了一些有關 MATLAB 輸出轉換的其他問題;然而,他們似乎都沒有解決我面臨的具體問題,或者問題中的細節數量極為有限。

我的問題是:某些圖形元素未在 Acrobat Reader 中顯示。文字顯示良好,元素是否顯示取決於導出例程及其大小。這似乎不是一個裁剪問題。我在其他觀眾身上沒有看到這個問題。所以我會嘗試以下解決方案某些 EPS 檔案無法使用 epstopdf 進行轉換, 但 ...

……我的問題是,為什麼會發生這種情況?這是 Acrobat Reader 中的錯誤嗎?在epstopdf?在 MATLAB 中?或者該工具鍊是否使用了我應該最好避免的功能,因為已知它會導致問題?

正如我所說,我已將問題簡化為獨立於 的問題pdflatex

這就是我在 MATLAB 中產生檔案的方法,我希望任何人都可以理解程式碼。

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

文件

saveas_32.pdf以及print-d_32.pdf顯示錯誤的檔案。看起來是這樣的:

在此輸入影像描述

我的觀察

  • 所有 eps 檔案在 GSview 中看起來都很好。
  • 所有 pdf 檔案在 Google Chrome 中看起來都很好。
  • saveas文件print-d看起來到處都是一樣的;這並不奇怪;令人驚訝的是,print文件有一個醜陋的邊框,我需要手動裁剪;我不想那樣做。
  • 所有其他(非print)pdf 文件在結構方面看起來都非常完美。
  • 所有33pdf 檔案在 Acrobat Reader 中看起來都很好。
  • pdf檔案print_32在 Acrobat Reader 中看起來不錯(但那個醜陋的邊框...)。
  • 所有其他(非print32pdf 檔案都缺少圖像。文字位於預期位置。
  • 32eps 檔案中,影像資料儲存為「圖案」。
  • 33eps 檔案中,影像資料儲存為 java.awt.image.BufferedImage。

版本資訊

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)

答案1

答案很簡單,@samcarter 的評論讓我找到了答案。這是我安裝的 Adob​​e Reader 中的顯示設定。我打開了“替換文檔顏色”(我記得曾經使用過此設置),儘管這在常規文檔中沒有太大變化(並且當然不會刪除圖像),但它確實刪除了我的示例 32x32 (或較小)圖像。我猜 32x32 和 33x33 之間的區別在於後者被編碼為點陣圖(並且不被替換),而前者被編碼為形狀的圖案(並且被替換)。這一定是初始編碼器(在本例中為 MATLAB)造成的區別,正如您在 eps 檔案中看到的那樣。

關閉該選項會恢復我的圖像!

在此輸入影像描述

相關內容