1. 程式人生 > >java實現列印功能並控制列印方向

java實現列印功能並控制列印方向

  • AttributeSet方法,其實就是列印屬性的設定,其實在一個列印過程中子介面有四個,其對應的實現類也有四個(貌似有5個,一個是總類)。詳細見連線。這裡需要提一下需要這麼多列印屬性設定介面的原因:

    a. 包含 DocAttribute 的 DocAttributeSet 指定單個文件的特徵和應用到單個文件的列印作業的設定。

    b. 包含 PrintRequestAttribute 的 PrintRequestAttributeSet 指定應用到整個列印作業和列印作業中的所有文件的設定。

    c. 包含 PrintJobAttribute 的 PrintJobAttributeSet 報告列印作業的狀態。

    d. 包含 PrintServiceAttribute 的 PrintServiceAttributeSet 報告 Print Service 例項的狀態。

    可見這裡有四個是需要使用在不同的應用場合和配合不同需求的。

    • 控制列印方向
      :用於控制列印方向的設定就在這些屬性中。首先講一下這些屬性的使用方法:其實也很簡單,就是在例項化之後,直接.add();就可以了。例如例項化後實現控制列印方向和彩打支援:

      DocAttributeSet attrs = new HashDocAttributeSet();
      attrs.add(OrientationRequested.PORTRAIT);
      attrs.add(ColorSupported.SUPPORTED);


    • 而print所支援的所有序列化欄位都在該序列化表格連結中可以找到。至於為什麼需要序列化這一步,粗略可以理解為:

      把物件轉換為位元組序列的過程稱為物件的序列化。

      把位元組序列恢復為物件的過程稱為物件的反序列化。

      物件的序列化主要有兩種用途:

      1) 把物件的位元組序列永久地儲存到硬碟上,通常存放在一個檔案中;

      2) 在網路上傳送物件的位元組序列。

      有興趣的朋友,可以翻看這篇詳細講解序列化與反序列化的文章:Java基礎學習總結——Java物件的序列化和反序列化