關於辦公室打印機紙張方向的問題


  最近一直跟打印機在打交道,因為項目中使用的報表結構很復雜,需求也比較變態,所以尋求的簡單的第三方類庫基本上搞不定我的問題。沒辦法就自己去從零寫打印功能。因為項目是依據WPF框架的,所以第一個選擇就是使用WPF里面的打印支持,然后解決了各種技術上的問題,最后在測試的時候碰到了一個當時看來比較惡心的問題:打印機的紙張方向控制的問題。

  一般來說支持紙張方向的打印機都會支持兩種:縱向和橫向。因為自己是打印機方面的小白,當時就糾結了。這里面到底是如何操作的呢?最無恥的想法就是:打印機真牛逼,能根據紙張方向將自己要打印的內容直接旋轉某個角度進行打印。后來想想不太現實,畢竟版式是自己排的,打印機怎么知道你如何排版的,所以這個方法直接否決了。

  如果上面的想法不能成立,那么就得分析一下了,首先,紙張方向會影響到打印機的字體的方向。畢竟打印機吐紙的方向是不會改變的(普通的辦公室打印機)。然后自己寫程序做了下測試:

  測試一:報表的排版是否需要考慮到字體方向的問題

  我的測試是在排版的時候判斷紙張的方向,如果是橫向,手工將打印的版式整體旋轉了90度,順便修改了紙張的寬和高,打印出來的結果是:在紙上旋轉了90度后,再加上自己旋轉的90度,直接尼瑪轉了半圈。好吧,看來紙張方向會影響到打印機控制打印的方向。

  然后我去掉了旋轉的部分,只是單純的修改了打印范圍的寬和高,打印的結果跟預期的一模一樣,那么結果就呼之欲出了。。。

  結論:設置打印機紙張的方向會影響到打印機輸出的方向,需要根據實際情況調整打印范圍的寬和高,然后自己重新排版,交給打印機打印就OK了。說到這兒,忽然感覺自己貌似挺簡單的 一個問題整復雜了,T_T


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM