2013-02-13 65 views
2

我正在使用ColdFusion 9創建包含多個QR碼的PDF。CFDocument顯示錯誤的圖像

在生成PDF文檔之前成功創建了圖像。這些圖像彼此不同,但它們具有相似的文件大小和分辨率。

現在我爲每個以前生成的圖像生成HTML並將其放入PDF文檔中。路徑是正確的 - 我檢查了它。

<cfset amount="6" /> 
<cfdocument 
    format="pdf" 
    unit="cm" 
    marginTop="0.5" 
    marginLeft="0.5" 
    marginRight="0.5" 
    marginBottom="0.5" 
    pageType="A4" 
    filename="#path##name#.pdf"> 
    <cfoutput> 
     <cfloop from="1" to="#amount#" index="i"> 
      <cfset filename = "#name#_#i#" /> 
      <img src="file://#path#codes/#filename#.png" style="width: 3.58cm; margin: 0 0.2cm 0.5cm;"> 
      #path#codes/#filename# 
     </cfloop> 
    </cfoutput> 
</cfdocument> 

但有一個問題:只有第一個圖像顯示正確。其他每張圖片都是第一張相同的副本。所以我在這個PDF文檔中有6個相同的圖像。

讓我指出路徑是正確的。這不是相同路徑的6倍。

pdf example

一些完全不同的圖像正常顯示。我認爲Coldfusion在顯示幾乎相同的(文件大小,分辨率)圖像方面存在一些問題。

有沒有辦法解決這個問題?

+0

如果您爲img src使用http鏈接會發生什麼? – 2013-02-13 12:54:07

+0

它會發生相同的事情。 – 2013-02-13 13:10:21

+1

如果在圖像之前輸出文件名變量,會發生什麼?每次都一樣嗎? – 2013-02-13 13:20:58

回答

2

解決了這個問題。

ColdFusion中存在CFDocument和PNG條形碼圖像的問題。我將它們轉換爲JPG格式,一切正常。

<cfset amount="6" /> 
<cfdocument 
    format="pdf" 
    unit="cm" 
    pageType="A4" 
    filename="#path##name#.pdf"> 
    <cfoutput> 
     <cfloop from="1" to="#amount#" index="i"> 
      <cfset filename = "#name#_#i#" /> 
      <cfimage 
       action="convert" 
       destination="#path#codes/#filename#.jpg" 
       source="#path#codes/#filename#.png" /> 
      <img src="file://#path#codes/#filename#.jpg" style="width: 3.58cm; margin: 0 0.2cm 0.5cm;"> 
     </cfloop> 
    </cfoutput> 
</cfdocument> 

謝謝你的幫忙!

+1

是的,我記得有人與燒烤類似的問題(在Adobe論壇中)。 cfdocument似乎沒有檢測到類似(但不同)的條形碼圖像之間的細微差異 - 導致重複。那個人最終也使用了.jpg。出於好奇,你有沒有遇到任何「官方」確認有PNG和JPG格式的問題?我只找到[open bug report](https://bugbase.adobe.com/index.cfm?event=bug&id=3155607) – Leigh 2013-02-13 16:31:23

+0

不,我沒有找到任何東西。但是,感謝你的這個鏈接。 – 2013-02-13 16:36:32

+0

好的。提交它的人提到了一個關於Adobe工程師的建議,暗示它可能與9.0.1中修復的問題有關。但沒有確定性。所以我仍然想知道它是否真的是cfdocument的確認問題 - =和= - 如果問題真的只限於png的* *或者jpg的最終可能會受到同樣的問題,換句話說,使用jpg真的會修復這個問題或似乎只是。如果有人聽到任何新消息,請發表評論 – Leigh 2013-02-13 16:45:17