2012-08-15 100 views
1

我們有一個WPF應用程序,可以執行報告預覽或報告打印。 這兩個請求都使用相同的代碼。字符在打印時丟失

  • 調用從Microsoft報告服務獲取報告的報告服務。
  • 將報告轉換爲所需格式(本例中爲PDF)。
  • 然後以字節數組的形式返回報告。

然後將結果作爲二進制流寫入臨時文件,並彈出到窗口中以預覽或啓動要打印的進程。

在這兩種情況下都會傳遞臨時文件。

打印預覽完美無瑕!但打印報告將打印所有'ti'消失的消息。我看到ESC t NUL/SOH有一個打印機轉義序列,我假設,如果出於某種原因,轉義字符進入該流中,則會導致忽略的打印序列。因此缺少的字符。

我的第一個問題是,如果任何人有過使用生成的PDF報告的經驗? (顯然)我的第二個問題是,如果有人知道我可以用來查看正在打印的文件中的二進制數據的實用程序,以查看每個'ti'序列之前的文件中有什麼?

回答

3

經過大量搜索後,我在Adobe論壇上發現一篇文章,指出版本8有一個不打印字符組合的錯誤。一旦我挖得更深,似乎它已經返回並且建議的解決方法解決了我們的問題。

解決方法:將圖像打印爲圖像。

Adob​​e似乎無法做到他們的軟件必須做的最基本的事情,打印確切的內容!

2

回答您的問題:

  • 首先,做好以下兩兩件事之一:
    1. 設置Windows打印後臺處理程序的屬性不刪除打印作業。
    2. 暫停目標打印隊列。
  • 然後,抓住從Windows printspool目錄中的假脫機文件(其位置就是你可以通過查看(右鍵單擊)找出「屬性...」中的「打印機和傳真的對話'文件夾)。
+0

我發現的一件事是在http://mh-nexus.de/en/hxd/上的文件十六進制查看器,它讓我看看這些文件。 – 2012-08-22 17:07:46

+0

@SASS_Shooter:我的答案也是幫助你套索文件嗎? – 2012-08-22 17:49:48

+0

沒有。看到我的答案。 – 2012-09-05 15:11:58

1

我意識到這是一箇舊帖子,但我想從上面的評論中添加一些更新信息,指出這是Acrobat 8​​的一個問題。我們使用的是Acrobat 10.1.6,但仍然存在相同的問題。從我讀到的,這是Adobe產品本身的一個問題。我見過的唯一真正的修復(實際上是解決方法)是將其打印爲圖像。 LAME

0

從firefox(acrobat reader)直接打印時,我遇到了類似的問題。我下載了文件,然後打印。問題解決了。