2012-01-30 66 views
0

我們有如下方式的系統的工作:在服務器上使用mPDF library產生mPDF:如何創建不使用嵌入字體的PDF?

  1. PDF文件。
  2. 用戶在瀏覽器中查看生成的PDF文件,有時將其打印到創建EMF文件的虛擬打印機。
  3. 分析EMF文件以提取文本信息。
  4. 進一步處理提取的文本信息。

這個過程的一部分是從EMF文件中提取文本信息。當EMF文件包含文本信息時,我的算法正常工作。但是,當PDF文件被打印到虛擬打印機時,打印軟件會用線條和曲線替換文本信息的某些部分,從而無法從EMF中提取文本信息。

我調查了這個問題很多時間,並得出結論,每個印刷的PDF都沒有共同的結構。但同時我發現打印軟件只會替換那些使用嵌入式OpenType字體的文本部分。

因此,在這種特殊情況下,如果我可以配置mPDF不使用嵌入式OpenType字體,則問題將得到解決。

我的問題是,如果有可能以不使用嵌入式OpenType字體的方式配置mPDF?

+0

您能否指定您引用哪種EMF文件? – hakre 2012-01-30 13:36:00

+0

@hakre我們使用標準的EMF文件。它們不是假脫機文件。由我們的虛擬打印機創建的標準EMF。 [增強圖元文件](http://en.wikipedia.org/wiki/Windows_Metafile) – 2012-01-30 14:29:01

回答

1

我收到的答案從伊恩後退,MPDF的作者指出,當前版本(5.3)是不能沒有嵌入字體創建文檔:

MPDF沒有選擇這樣做。我曾嘗試在一個階段,但 發現很大的問題,讓它的工作,然後決定它不是 值得,因爲它依賴於用戶在他們的計算機上安裝正確的文件(和 文件版本)。

0

由於mPDF是建立在FPDF之上的,所以我想可以這樣做。 FPDF的字體必須準備爲.php文件,因此刪除這些字體應使mPDF在沒有它們的情況下呈現文檔。

嘗試重命名TTF文件夾:/ttfontdata/

這是一個黑客,但它應該工作。 (注:我還沒有嘗試過)

+0

我試圖在我的web服務器的根目錄中重命名/ mpdf/ttfontdata。但沒有任何改變。實際上,該目錄不包含除dummy.txt佔位符之外的文件。 – 2012-01-30 15:06:10