2011-01-12 59 views
2

我對面的一個問題運行嘗試打印,所有的文字被用小方塊字符替換Java中的水晶報表的PDF文件。報告blob存儲在Oracle數據庫中,我可以使用adobe reader進行預覽,並查看它是否使用實際文本正確形成。這個blob被傳遞給一個使用PDFRenderer打印它的java applet。問題與印刷用java PDFRenderer

我的理論是,問題在於這樣一個事實:水晶報表,我們生成PDF的使用1.2版本。還有一些jasper報告生成爲1.4版本,並且這些打印是正確的 - 只有1.2版本的pdf纔有這個問題。

不PDFRenderer不支持打印這個版本還是有我需要成功打印的一些額外的步驟?

任何幫助,非常感謝。

回答

1

您很可能不會遇到由於PDF版本而導致的問題。

特別是隨着文本內容的PDF規範獲取的非常複雜的可能性是高的水晶報表產生,要麼

  • 依賴於一些奇怪的編碼內容
  • 使用CID(多字節)字體技術

和pdf渲染器在那裏有一個盲點。

你可以試試關於

  • 編碼
  • 字體(類型1/TrueType9)玩弄在報告上側設置
  • 字體嵌入

,也許你發現了選項更適合。

+0

似乎PDFRenderer不喜歡嵌入字體。我無法找到讓Crystal Reports不嵌入它們的方法,因此我將報告轉換爲jasper。謝謝您的幫助。 – JDS

0

不PDFRenderer顯示PDF文件,如果你使用它作爲一個觀衆? PDFRenderer不支持以後的PDF版本(即壓縮對象),但1.2相當簡單。

+0

查看pdf時,文本也不正確。我認爲mtraut是正確的,因爲水晶報告正在做PDFRenderer發現可怕的事情。 – JDS