移動計算裝置用戶打印文檔的系統和方法

            文檔序號:6369238閱讀:201來源:國知局
            專利名稱:移動計算裝置用戶打印文檔的系統和方法
            技術領域
            本發明一般涉及計算機打印,尤其涉及使移動計算裝置用戶能方便地打印文檔的一種方法。
            (2)背景技術隨著互聯網的成熟,諸如電子郵件、日歷、文件存儲、鑒別等越來越多的功能已經轉移到了互聯網的萬維網上。隨著接入高速互聯網的可用性在任何地方的發展,用戶把他們的優先選擇轉移到基于互聯網的移動方案,特別是與無線互聯網的連接。因此,現在許多移動計算裝置配備了無線互聯網接入能力,而且在較寬的波形因數(form factors)范圍內的新互聯網裝置激增,諸如上網小區電話(即,有能力無線地連接互聯網的小區電話)等。現在有成百萬在使用的人們從他們的小區電話和其它手持裝置接入他們的數據、文檔以及電子郵件。
            即使移動裝置向它們的用戶提供自由接入互聯網或其它網絡而無需束縛在他們的臺式計算機上,但是諸如PDA或上網小區電話之類的大多數小型移動裝置所具有的顯示器屏幕很小,多少有幾分不方便,通常難于在這種小型屏幕上閱讀正規的文檔(例如,電子制表)。為了這個原因,小型移動裝置的用戶可能要求把文檔打印出來而閱讀打印出來的文檔。畢竟,紙是可攜帶的、閱讀起來方便的、以及便于共享的大型觀看媒體。此外,它不需要電源。在互聯網上可得到大量內容以及小型裝置的物理限制意味著用戶需要在他們可以訪問內容的任何地方不時地打印內容。
            然而,當前當移動裝置用戶離開他們的臺式計算機時,他們沒有方便的方法來打印文檔。傳統上,即使是膝上計算機的用戶,當他們離開他們的辦公室時,打印也有困難。例如,當用戶帶她的膝上計算機到她公司的另一建筑物去參加會議時,即使她能夠登錄到共同的企業內部互聯網上并檢索她所需要的會議文檔,但是她會發現她不能夠方便地打印這個文檔。為了在該建筑物的打印機上打印這個文檔,她必須首先發現該建筑物中有那些打印機,選擇離她最近的打印機,并把該打印機的驅動程序下載到她的膝上計算機中。然后,她對該特定的文檔格式運行合適的應用程序(例如,Microsoft Word,Adobe AcrobatReader等),使文檔變成打印機-可接受的格式,并使用打印機驅動程序來打印該文檔。當用戶轉到一個新的位置和想在不同的打印機上打印時,她必須重復打印機安裝過程。
            與用膝上計算機打印相比較,小型互聯網裝置用戶打印文檔更困難。當前存在用于這些“細小-用戶”裝置的硬件和操作系統平臺的多種多樣的裝置。這種多樣性使開發用于每個硬件/操作系統平臺的打印驅動程序的健全裝置極為困難。此外,一般打印繪制需要較強的CPU能力和存儲器消耗。許多小型移動裝置很簡單地,不具備存儲用于打印操作的應用程序或打印機驅動程序或處理能力所需要的存儲器空間。
            因此,所需要的是提供一種有效的解決方案,使各種類型移動裝置的用戶在需要文檔時可在任何時候任何地方打印文檔,即使該裝置沒有直接連接到打印機,或甚至該裝置不具備處理打印任務的容量或軟件。
            (3)發明內容由于上述情況,本發明提供一種網絡打印服務,這種服務使諸如膝上計算機、個人數字助理(PDA)裝置、上網小區電話等之類的移動計算裝置能夠容易地打印文檔,即使這些裝置沒有直接連接到打印機或不支持應用程序和打印驅動程序。當移動計算裝置的用戶想要打印文檔時,使用移動裝置來接入諸如互聯網之類的網絡,打印服務就駐留在該網絡上。打印服務包括與用戶交互作用以接收打印請求數據的打印服務界面、用于處理打印請求的路由器部件、以及把文檔從源文檔格式轉換成用于打印的目標文檔格式的繪制部件。用戶使用打印服務界面輸入識別文檔在網絡上的位置(例如根據文檔的URL(統一資源定位符))的打印請求。另一方面,可以直接把文檔從移動裝置傳遞到打印服務。如果可適用的話,用戶還通過相同的界面規定目標打印機。當打印機服務接收到請求時,如果該請求給出文檔的URL,則它檢索相應于該URL的文檔,把文檔變成合適的目標格式,并按用戶的要求打印文檔。
            不僅可以在互聯網上實施本發明的網絡打印服務框架,而且還可以在不同大小的網絡上實施,諸如共同的企業內部互聯網、家庭局域網等。
            (4)


            在所附的權利要求書規定本發明的特征的同時,尤其,從下面結合附圖的詳細描述中,對本發明以及它的目的和優點將更好地理解圖1是方框圖,一般示出可以在其上實施本發明的一個示例計算機系統;圖2是示意圖,示出在互聯網上提供的打印服務的示例實施例,用于處理移動互聯網裝置的用戶的打印請求;圖3是示意圖,示出在互聯網上另一個打印服務的示例實施例;以及圖4是示意圖,示出駐留在用戶的個人計算機上和經過公式的企業內部網可訪問的打印服務網關。
            (5)具體實施方式
            轉到附圖,其中用相同的標記作相應的識別,所示出的本發明是在合適的計算機環境中實施的。雖然并不要求,但是將在諸如由個人計算機執行的程序模塊之類的計算機—可執行指令的一般情況中描述本發明。一般,程序模塊包括執行特定任務或執行特定抽象數據類型的例行程序、程序、目標、部件、數據結構等。此外,熟悉本技術領域的人員會理解,可以用其它計算機系統配置來實施本發明,包括手持裝置、多處理器系統、基于微處理器的或可編程的消費電子線路、網絡個人計算機、小型計算機、主計算機等。可以在分布式計算環境中實施本發明,在這種環境中,由通過通信網絡鏈接的遠程處理裝置來執行任務。在分布式計算環境中,可以把程序模塊置于本地和遠程存儲器存儲裝置兩者中。
            下面的描述從通用計算裝置的描述開始,所述通用計算裝置可以用于實施本發明的示例系統中,并將參考圖2-4更詳細地描述本發明。現在轉到圖1,以傳統個人計算機20的形式來示出通用計算裝置,它包括處理單元21、系統存儲器22以及系統總線23,所述總線把包括系統存儲器的各種系統部件耦合到處理單元21。系統總線23可以是數種總線類型中的任何一種,包括存儲器總線或存儲器控制器、外圍總線以及使用多種總線結構中的任何一種結構的本地總線。系統存儲器包括只讀存儲器(ROM)24以及隨機存取存儲器(RAM)25。把包括幫助在個人計算機20內的單元之間傳遞信息(諸如在起動期間)的基本例行程序的基本輸入/輸出系統(BIOS)26存儲在ROM 24中。個人計算機20進一步包括用于從硬盤60讀出和寫入的硬盤驅動器27、用于從可拆卸磁盤29讀出和寫入的磁盤驅動器28、以及用于從可拆卸光盤31(諸如CD ROM或其它光學媒體)讀出或寫入的光盤驅動器30。
            分別通過硬盤驅動接口32、磁盤驅動接口33以及光盤驅動接口34把硬盤驅動器27、磁盤驅動器28以及光盤驅動器30連接到系統總線23。驅動器和它們相關聯的計算機可讀出媒體提供計算機可讀出指令、數據結構、程序模塊和用于個人計算機20的其它數據的非易失性存儲。雖然這里描述的示例實施例使用硬盤60、可拆卸磁盤29和可拆卸光盤31,但是熟悉本技術領域的人員會理解,在示例操作環境中也可以使用可存儲計算機可訪問數據的其它類型計算機可讀出媒體,諸如盒式磁帶、快閃存儲器卡、數字視頻盤、Bernoulli磁帶盒、隨機存取存儲器、只讀存儲器、存儲區網絡等。
            可以把包括操作系統35、一個或多個應用程序36、其它程序模塊37以及程序數據38的許多程序模塊存儲在硬盤60、磁盤29、光盤31、ROM 24或RAM25上。用戶可以通過諸如鍵盤40和指示器42之類的輸入設備把命令和信息輸入個人計算機20。其它輸入設備(未示出)可以包括話筒、搖桿、游戲小鍵盤、衛星碟形天線、掃描器等。通常通過耦合到系統總線的串行端口接口46把這些和其它輸入設備連接到處理單元21,但是可能通過其它接口連接,諸如并行端口、游戲端口或通用串行總線(USB)或網絡接口卡。還通過諸如視頻適配器48之類的接口把監視器47或其它類型的顯示裝置連接到系統總線23。除了監視器之外,個人計算機一般包括未示出的其它外圍輸出設備,諸如揚聲器和打印機。
            個人計算機20可以在網絡化環境中操作,所述網絡化環境使用到諸如遠程計算機49之類的一個或多個遠程計算機的邏輯連接。雖然在圖1中只示出一個存儲器裝置50,但是遠程計算機可以是另外的個人計算機、服務器、路由器、網絡個人計算機、同等裝置或上述相對于個人計算機20描述的所有單元。在圖1中描繪的邏輯連接包括局域網(LAN)51和廣域網(WAN)52。在辦公室、全企業的計算機網、企業內部互聯網以及互聯網中,這種網絡環境是很平凡的。
            當在局域網網絡環境中使用時,通過網絡接口或適配器53把個人計算機20連接到本地網絡51。當在廣域網網絡環境中使用時,個人計算機20一般包括調制解調器54或在廣域網WAN 52上建立通信的其它手段。通過串行端口接口46把調制解調器54(可以是內部的或外部的)連接到系統總線23。在網絡化環境中,可以把相對于個人計算機20或其一部分描繪的程序模塊存儲在遠程存儲器存儲裝置中。可以理解,所示的網絡連接是示例,可以使用在計算機之間建立通信鏈路的其它手段。例如,計算機可以是膝上計算機的形式,并配備有無線連接到互聯網或其它網絡的無線發送和網絡能力。
            在下面的說明中,除非另有所指,將參考一臺或多臺計算機執行的操作的動作和符號表示來描述本發明。照這樣,可以理解,這些有時稱之為計算機執行的動作和操作包括通過電信號(所述電信號表示結構形式的數據)的計算機處理單元的操作。這種操作使數據變換或保持在它在計算機存儲器系統中的位置上,按熟悉本技術領域的人員理解的方式再配置或改變計算機的操作。保持數據的數據結構是存儲器的物理位置,所述存儲器具有由數據格式定義的特定特性。然而,在上述情況中描述本發明的時,并不意味著一種限制,熟悉本技術領域的人員會理解,此后描述的各種動作和操作也可以在硬件中實施。
            現在轉到圖2,本發明針對一種打印服務體系結構,這種打印服務體系結構允許諸如膝上計算機、PDA、上網小區電話(或“智能小區電話”)等的移動計算裝置的用戶能夠打印文檔,即使移動裝置沒有直接連接或控制打印機,或即使該裝置不能為執行打印操作所需要的應用程序和打印機驅動程序提供處理能力或存儲器容量。根據本發明,移動裝置不需要進行使文檔變成打印機可接受格式的處理,甚至不必知道打印機的位置在哪里。而是,移動裝置只要查找移動裝置所連接的網絡上的打印服務,告訴打印服務文檔在哪里,或把文檔傳遞給打印服務,打印服務會控制打印操作,按請求打印文檔。
            圖2示出一個實施例,其中執行打印服務70作為互聯網72上的網服務器的一部分。然而,可以理解,根據本發明的打印服務體系結構是可擴充的,以致可以在諸如處理打印任務的共同企業內部互聯網之類的其它網絡中使用,將在下面進行更詳細的描述。如在圖2中所示,把在本實施例中可以是上網小區電話76、PDA 78、膝上計算機80或任何其它互聯網裝置等的用戶的移動裝置連接到互聯網72上。
            作為一種情況中的例子,名字為“Jane”的用戶可能在她旅行時攜帶上網小區電話76。當她在一個旅館登記住宿時,把她的“互聯網憑證”給旅館。旅館有一個具有打印服務70的互聯網上的網站86。此后,當Jane準備一個用戶會議時,Jane要打印文檔。假定包括她要打印的那一個文檔的她的文檔92存儲在網上的網存儲器90中。她使用她的上網小區電話76與互聯網72連接,并訪問(經過無線應用協議(WAP))旅館的網站86,它代表包括打印任務的查詢和選擇的打印服務界面頁面88。Jane通過界面網頁88輸入有關打印任務的信息,包括文檔的位置、打印規格數據(例如,彩色或黑/白、常用的或加粗的、復制的份數等)以及任何其它需要的信息。在這個例子中,通過文檔的統一資源定位符(URL)來規定待打印文檔94的位置。她還可以規定是否把經打印的文檔傳送到她的旅館房間或發送到總臺由她去取。然后,她提出打印請求96,并通過上網小區電話76接收來自打印服務對于接收到打印請求的確認98。
            打印服務70包括部件100、此后稱之為打印服務網關(PSG),用于處理經過互聯網從不同用戶來的打印請求。當它接收到Jane的打印請求96時,它使用在旅館客人數據庫中的登記信息來驗證她的旅館客人狀態。如果有什么問題,則它會通過Jane的小區電話76立即通知她。如果用戶狀態和打印請求兩者都是有效的,則打印服務網關100使用Jane的互聯網憑證來訪問存儲了她的文檔的她的網存儲器90,并使用特定文檔94的URL來檢索該文檔。在檢索文檔之后,打印服務網關100從處理打印任務的打印機庫106選擇打印機,并把文檔變成適合于所選擇打印機的打印準備好格式。使用特定文檔格式(例如,微軟字處理)的合適應用程序來執行變換。為了該目的,打印服務可以保存用于處理不同類型文檔的多個應用程序110。另一方面,打印服務可以使用互聯網上的外部變換服務,諸如圖2中的變換服務112、114、116。然后把經變換的文檔發送到所選擇打印機進行打印,并按打印請求中的規定傳送經打印的文檔。
            雖然在本例子中的移動裝置是上網小區電話,但是可以理解,提出打印請求所用的特定類型的移動裝置是不嚴格的,膝上計算機和其它互聯網裝置的用戶可以按同樣方式使用打印服務70來打印文檔。
            從本例子可以看到,用戶的移動裝置不需要攜帶要打印的特定文檔。在本例子中,甚至上網小區電話76不必具有存儲文檔拷貝的存儲器容量。而是,用戶只需要規定在哪里可以找到文檔,打印服務會根據該信息和使用訪問該文檔所需要的用戶憑證自動地檢索該文檔。關于這一點,用戶的憑證是打印服務已經可得到的(例如,在旅館登記時提供),或是連同打印請求一起提供,諸如通過使用證明或互聯網“護照”。
            然而,有可能用戶的移動裝置已經攜帶了文檔。例如,可以是這樣的情況,用戶的移動裝置是諸如膝上計算機之類的“富有的用戶”。在該情況中,用戶可以直接從她的裝置把文檔作為打印請求數據的一部分發送到打印服務網關。
            可以理解,用戶的移動裝置不需要對文檔進行任何變換或控制打印操作。結果,移動裝置不須具有文檔特定格式的應用程序(例如,微軟字處理AdobeAcrobat Reader),而且不需要把打印驅動程序下載到裝置中。這是一個重要的優點,因為諸如PAD或上網小區電話之類的許多移動裝置不具備變換打印文檔的處理能力或保存應用程序或打印驅動程序的存儲器容量。此外,即使移動裝置是諸如膝上計算機之類具備實質處理能力和存儲容量的“富有的用戶”,但是尋找正確的驅動程序以下載到裝置然后使用裝置來控制打印機的操作也是一個極復雜的過程。通過把打印任務委托給輕量級移動裝置可訪問的網絡(例如,互聯網)上的打印服務,用戶可以在實質上她去的任何地方和她希望的任何時間(受到網絡連接的限制)使用移動裝置來打印文檔而無需關心打印操作的細節。
            為了說明本發明的打印服務體系結構的寬廣的應用性,下面參考圖3描述另一種情況。在這種情況中,Jane是房地產經紀人。在她去會見她的用戶的路上,她想從她的小區電話76打印最新的住房列表。為了這個,她在她的小區電話上顯示的菜單中點擊“尋找最近的打印中心”功能。在本例子中,Jane的小區電話提供者具有黃頁服務,該服務包括到商用打印中心網頁的網鏈接。當她點擊“尋找最近的打印中心”功能時,她的小區電話檢測她當前的位置,并搜索該位置的打印中心列表。它按離開她當前位置的距離增加的次序顯示出五種最佳選擇。Jane通過點擊一個打印中心的鏈接從該列表選出例如具有特許名稱“ABC”的打印中心124。然后她連接到ABC的網服務器120,并用所顯示的ABC網頁122來輸入她的請求。然后,她通過ABC網頁輸入她的打印請求和計費信息。
            與圖2的例子相似,接收打印請求的服務網關126駐宿在ABC打印中心網服務器120上。當用戶輸入打印請求時,打印服務網關檢索在請求中規定的URL處的文檔,把文檔改變成打印格式,并在Jane選擇的ABD打印中心124處的打印機上打印。在本實施例中,由于通過用戶選擇在打印中心處要打印的文檔,所以在網上的ABC的打印服務不需要本地打印機。
            本發明的打印服務框架是可擴充的,而且可以用于不同大小的網絡。作為例子,下面參考圖4描述另一種移動打印情況,圖4示出一個實施例,在該實施例中,在公司的企業內部互聯網上實施打印服務132。在這種情況中,名字為“Chris”的用戶到他公司中的另一建筑物中的會議室去開會,他隨身攜帶他的連接網絡的PDA 138。在會議室中,他意識到他必須打印一份會議的文檔。為了如此進行,Chris不需要知道共享的打印機在建筑物的什么地方或如何安裝打印驅動程序。他使用他的PDA通過共同的企業內部互聯網136訪問駐宿在他的辦公室中的臺式個人計算機(PC)132上的打印服務網關142。打印服務網關142已經訪問Chris的PC 132可用的所有的公司網絡打印機。它幫助Chris選擇一臺特定的打印機,諸如通過打印機定位圖。Chris使用PDA與打印服務網關142交互作用,并把打印請求148發送給打印服務網關。打印請求通過URL識別要打印的文檔,該文檔可能存儲在他的臺式PC中,或在企業內部互聯網的一個位置上。它還根據諸如打印機位置之類的信息識別目標打印機。如果需要的話,Chris的計算機根據要求安裝目標打印機所需要的打印機驅動程序。然后Chris走到所識別的打印機去選取經打印的文檔。
            回到圖2,在一個實施例中,打印服務70包括一個或多個服務器,每個服務器都駐宿有打印服務網關部件100,以及用于處理各種文檔格式的應用程序110的集合。例如,應用程序可以包括用于HTML(超文本標簽語言)文檔的Microsoft Internet Explorer、用于“.PDF”文件的Adobe Acrobat Reader以及用于“.DOC”的微軟字處理等。在示例實施例中,打印服務進一步包括打印機106的集合以及應用程序可以用來產生打印準備好輸出數據的相應的打印機驅動程序。打印機驅動程序的集合根據服務支持的特定打印機而變化。例如,旅館打印服務可以使用與管理相同的打印機型號,并且只需要一種打印機驅動程序,而企業的打印服務可能由于不同打印機型號的積累而需要許多打印機驅動程序。
            打印服務70包括提供用戶界面的打印服務用戶界面部件150,以允許用戶輸入打印請求和得到請求的確認。它還可以提供一般戶打印請求和打印服務的最新狀態。這個用戶界面部件根據服務以及用戶而變化(例如,與膝上個人計算機相比,PDA用小屏幕)。在用戶界面之后是打印服務網關的編程界面,它定義如何構成到打印服務的打印請求以及經過互聯網(或企業內部互聯網)接收反饋。在一種實施中,用戶界面部件創建實際打印請求軟件包,并把它發送到打印服務網關。在另一種實施中,用戶可以直接訪問打印服務網關的編程界面,并把打印請求(按XML(擴展標簽語言)格式)直接發送到打印服務。
            在一種實施中,打印請求的內容包括下列數據
            1.用戶的“互聯網憑證”或網站身份。需要這個信息來鑒別文檔訪問以及打印服務訪問的用戶。也可以在登錄或計費時使用。
            2.文檔的內容或它的URL。
            3.任選的文檔的格式。如果不提供這個信息,則打印服務將通過分析內容來確定格式,盡管這一般是效率不高的。
            4.任選的目標打印機的URL和諸如型號名稱、PnP ID(PnP識別號)、安全訪問代碼等的特征。
            5.任選的、用于選擇目標打印機的標準(例如,位置)。如果這個信息丟失以及沒有給出打印機URL,則打印服務會根據它自己的標準(諸如負載平衡和優先級)選擇目標打印機。
            6.任選的打印操作要求,諸如彩色、雙面、常用。如果丟失這個信息,則將使用缺省設置。
            打印服務70產生的響應的內容包括接受請求的確認或拒絕請求,如果接受請求,則一個在登錄和計費中使用的任務ID(識別號)。由于下列任何一個原因和/或其它原因可能拒絕打印請求沒有鑒別用戶能使用打印服務;打印服務離線;不能檢索文檔內容;不支持文檔格式;不支持規定的打印機;以及不能滿足規定的打印要求(諸如彩色打印)。
            諸如膝上計算機之類某些“富有的用戶”裝置具有更大的處理能力以及較大的應用程序庫。就提出打印請求而論,它們可能更高級,所以用戶可能得到較佳的打印質量和性能。例如,裝置可以查詢所支持文檔格式的列表(例如按照減少優先權的次序)。
            在經過圖2中示出的互聯網的移動打印實施例中,打印服務網關(PSG)100包括路由部件160、變換部件162、以及登錄和計費部件166。路由部件160執行下面的功能·分析輸入打印請求。
            ·鑒別要使用打印服務的用戶。
            ·與用戶協商有關的打印能力(例如,文檔格式)。這將允許強大的用戶提出最佳效果的較佳格式。
            ·如果需要的話,檢索文檔內容。如果文檔的訪問有限制,則使用所提供的用戶憑證。
            ·使用戶的請求有效,并給出反饋。如果支持從給定源格式到給定目標格式的轉換,則這包括調用PSG變換部件使之有效。
            ·使請求進行假脫機和調度以進一步處理(變換和/或打印)。
            ·如果合適的話,把打印請求再引導到另一個打印服務。可以把這用于打標記服務。例如,旅館打印服務可以簡單地使所有打印請求通過而到達實際處理和打印的打印服務承包人。
            打印服務網關100的變換部件162負責把源文檔格式轉換成一般是打印準備好格式的目標格式。它保持信息,使之約在所支持的輸入格式和輸出格式之間映射。這包括信息,所述信息有關格式是什么以及執行特定的映射需要什么應用程序軟件或外部變換服務。它使用數據驅動的方法來提供可伸展性。
            當在本地完成格式轉換時,在本地安裝合適的應用程序軟件和打印驅動程序。如果使用外部專用打印變換服務,則打印服務網關使內容(例如,.PS文件)簡單地通過而無需任何轉換。為了增加格式轉換的可靠性,具有一個正規的中間格式是極有利的,所有用戶可以使用它來提出文檔數據。這種格式將與裝置無關。缺少標準格式,打印服務可能使格式限制在滿足它的可靠性標準的設置上。
            網打印服務的另一個部件是登錄和計費部件,它處理打印請求服務的登錄和計費操作。為支持互聯網業務模型而提供,如果在不同類型的網絡中執行網絡打印服務,有可能不需要。例如,當旅館打印服務需要計費功能時,在公司的企業內部互聯網上的打印服務可能不需要。
            如上所述,打印服務提供編程界面,該編程界面允許用戶提出打印任務請求以及查詢任務狀態。在一種實施中,存在網打印服務支持的三種強制性方法CreatePrintJob(創建打印任務)允許用戶提出打印請求。
            CancelPrintJob(取消打印任務)允許用戶取消以前已經提出的打印請求。
            GetPrintJobData(得到打印任務數據)允許用戶查詢以前已經提出的打印請求的狀態。
            還有網打印服務可以選擇支持以使操作最優化的三種任選的方法IsFormatSupported(支持格式嗎)允許用戶找出打印服務是否支持特定文檔格式。用戶可以首先使用這種方法來驗證格式,特別當直接把文檔內容嵌入在打印請求中時。
            GetSupportedFormat(得到支持的格式)允許用戶得到支持文檔格式的列表。用戶可能要求使用這種方法來選擇一種最優格式以提出源文檔,特別當用戶(例如,膝上計算機)有能力進行格式轉換的某些形式時。
            GetPrinterModels(得到打印機型號)允許用戶找出打印服務使用的打印機型號列表以及它們相關聯的可安裝的設置(諸如是否安裝雙面器)。這將使富有的用戶(諸如膝上計算機)產生高保真度打印機準備數據,并通過打印服務直接到打印機。少數打印服務期望支持這種方法,正好是只接收打印機準備數據的那些服務。
            下面描述以上確定的方法中的每一種方法的細節。在每種方法的說明的后面是詳細說明所有參數的“變元”表。它具有如下的屬性Data Field(數據字段)參數的名稱。它跟隨在名稱約定VisualStudio.NET之后。
            Dir參數的方向,IN(入),OUT(出),或IN/OUT(入/出)(在C#中的‘ref’)。
            Type數據類型,如C#中所定義。
            M/O表示參數是強制性的(‘M’)還是任選的(‘O’)。
            Comment(注釋)定義參數的意思和它的用途。
            如果在多種方法中出現相同的參數,則該參數具有相同的意思并且只在一個地方定義。
            跟隨在“變元”表之后的是錯誤代碼列表。錯誤代碼返回到<SOAPfault>單元中。從IPP狀態代碼得到錯誤代碼,其名稱跟隨在C#名稱約定之后。
            1.CreatePrintJob當調用CreatePrintJob時,打印服務將創建新的打印任務以表示新打印請求以及分配唯一的任務ID(識別號)。它根據用戶的提供以及實際可得到的支持來更新任務數據。如果提供文檔URL鏈接,則它以用戶的名義檢索文檔內容。如果一切都有效,則它設置任務狀態為“接受”,并在繼續進行文檔打印的同時對用戶作出響應。用戶可以在較晚時間通過GetPrintJobData查詢打印請求的狀態,諸如估計完成時間或實際打印設置。在所有情況中,在它的響應中設置合適的操作錯誤代碼。
            注意,如果打印服務選擇接受打印準備好數據,則它應支持參數“jobTicket”,該參數封裝用于產生打印準備好數據的打印設置的整個集。“jobTicket”是基于標準視窗打印系統方案的。如果打印服務不能承受“jobTicket”中的所有設置,則它應拒絕打印請求和返回ClientErrorNotPossible(用戶錯誤不可能)。
            Arguments(變元)數據字段jobID方向OUT;類型單元;M/OM注釋打印服務在1到2^32-1的范圍中創建唯一的打印任務識別號。在保證沒有兩個有效的打印請求具有相同識別號的同時,打印服務可以使任務識別號再循環。在諸如CancelPrintJob(取消打印任務)和GetPrintJobData(得到打印任務數據)之類接著的操作中使用這個識別號。
            數據字段jobname(任務名稱)方向IN;類型字符串;M/OM注釋打印請求的名稱,諸如要打印的文檔的名稱。
            數據字段userName(用戶名稱)方向IN;類型字符串;M/OM注釋經編碼的用戶護照簽到識別號和口令。將使用這個憑證來鑒定打印服務的使用以及當使用文檔URL時使打印服務以用戶的名義檢索文檔內容。如果諸如商業打印店之類的打印服務需要用戶憑證,則用戶必須提供這個數據。否則,它將接收到“ClientErrorNotAuthenticated”(用戶錯誤未鑒定)。
            數據字段docLink(文檔鏈接)方向IN;類型字符串;M/OO注釋待打印文檔的URL。如果它丟失了,則打印服務應該假設用戶將通過“docContent”(文檔內容)參數直接發送文檔內容。在大多數情況中,提供“docLink”,即,通過參考打印。如果打印服務支持一個任務中接受多個文檔,則用戶可以在一個CreatPrintJob請求中提供多個URL。
            數據字段docContent(文檔內容)方向IN;類型字節[];M/OO
            注釋字節的序列表示待打印文檔的內容,如果這是零,并且“docLink”也是零,則打印服務將帶錯誤代碼“ClientErrorDocumentAccessError”(用戶錯誤文檔訪問錯誤)而返回。
            數據字段docFormat(文檔格式)方向IN;類型字符串;M/OO注釋文檔內容的格式,諸如“PostScript Level 2”或“DOC”。如果不提供該參數,則打印服務將分析文件名稱和/或內容,以便弄清楚格式。
            數據字段targetPrinter(目標打印機)方向IN;類型字符串;M/OO注釋目標打印機的名稱。
            數據字段numOfCopies(復制份數)方向IN;類型單元;M/OO注釋要打印的復制份數。缺省值是1。將核對所有打印頁面。
            數據字段duplex(雙面)方向IN;類型字符串;M/OO注釋定義在物理頁面上如何打印邏輯頁面。任選包括“單面打印”、“沿長邊雙面打印”以及“沿邊短雙面打印”。
            數據字段nUp(n向上)方向IN;類型字符串;M/OO注釋定義在物理頁面的一面上如何編排邏輯頁面。從“1-向上”、“2-向上”以及“4-向上”選擇。缺省值是“1-向上”。
            數據字段isColor(是彩色嗎)方向IN;類型布爾(bool);M/OO注釋如果“真”,則用彩色打印文檔。否則,用黑/白打印。缺省值是黑/白。
            數據字段paperType(紙型號)方向IN;類型字符串;M/OO注釋在打印文檔時使用的紙的型號,諸如“201b標準白紙”。由每個打印服務設置缺省值。如果是由用戶規定的,則將對照其它任務要求進行驗證。如果有沖突,則服務應根據它的優先級選取合適的紙型號,并相應地更新任務數據。
            數據字段bindingType(裝訂式樣)方向IN;類型字符串;M/OO注釋待使用的裝訂式樣,諸如“無”、“卷”、“梳狀”、“U形釘釘住”。缺省值是“無”。如果由用戶規定,則將對照其它任務要求進行驗證。如果有沖突,則服務應選取合適的裝訂式樣,并相應地更新任務數據。
            數據字段jobTicket()方向IN;類型字節[];M/OO注釋描述用于產生打印準備好數據的打印設置的整個集的XML氣泡。只在提出打印準備好(“原始”)文檔時使用。它遵循標準視窗打印系統方案。
            數據字段<custom fields>(定制字段)方向IN;類型N/A;M/OO注釋每個打印服務可以定義附加的字段,諸如“promotion code’(提升代碼)。
            錯誤代碼代碼0x0000;意義SuccessfulOK(成功同意);用途該操作成功。
            代碼0x0400;意義ClientErrorBadRequest(用戶錯誤不良請求);用途請求是形成不良的,諸如不良參數值。
            代碼0x0402;意義ClientErrorNotAuthenticated(用戶錯誤不鑒定);用途不鑒定用戶使用打印服務。
            代碼0x0403;意義ClientErrorNotAuthorized(用戶錯誤不授權);用途不授權用戶創建打印任務。
            代碼0x0404;意義ClientErrorNotPossible(用戶錯誤不可能);用途打印服務不能滿足要求,諸如當用戶提出打印準備好數據時不能承受在任務票(jobTicket)中的所有設置。
            代碼0x040a;意義ClientErrorDocumentFormatNotSupported(用戶錯誤溫度格式不支持);用途不支持源文檔格式。
            代碼0x0411;意義ClientErrorDocumentFormatError(用戶錯誤文檔格式錯誤);用途源文檔是形成不良的。
            代碼0x0412;意義ClientErrorDocumentAccessError(用戶錯誤文檔訪問錯誤);用途打印服務不能訪問文檔內容。
            代碼0x0500;意義ServerErrorInternalError(服務錯誤內部錯誤);用途這是所有內部錯誤的雜物箱錯誤代碼。
            代碼0x0506;意義ServerErrorNotAceptingJob(服務器錯誤不接受任務);用途由于某些原因打印服務不接受新的打印任務。
            代碼0x0509;意義ServerErrorMultipleDocumentJobNotSupported(服務器錯誤多個文檔任務不支持);用途打印服務不能接受包含多個文檔的打印請求。
            2.CANCELPRINTJOB(取消打印任務)在驗證用戶憑證之后打印服務刪除給定的打印任務。
            變元數據字段jobID(任務識別號)方向IN;類型單元;M/OM注釋在CreatePrintJob響應中返回的唯一的任務識別#。
            數據字段userCredential(用戶憑證)方向IN;類型字符串;M/OO注釋如果用用戶憑證創建任務,則取消該任務需要相同的憑證。
            錯誤代碼代碼0x0000;代碼意義SuccessfulOK(成功同意);用途成功地刪除任務。
            代碼0x0400;代碼意義ClientErrorBadRequest(用戶錯誤不良請求);用途請求是形成不良的,諸如無效的任務識別號或任務已經取消。
            代碼0x0402;代碼意義ClientErrorNotAuthenticated(用戶錯誤不鑒定);用途不鑒定用戶。
            代碼0x0403;代碼意義ClientErrorNotAuthorized(用戶錯誤不授權);用途不授權用戶刪除給定的打印任務(例如另外某個人的任務)。
            代碼0x0500;代碼意義ServerErrorInternalError(服務錯誤內部錯誤);用途所有內部錯誤的雜物箱錯誤代碼。
            3.GetPrintJobData這個方法返回與給定任務識別號相關聯的打印任務數據集,如下所列出。任務可以是任何狀態“接受”、“打印”、“取消”或“完成”。每個打印任務決定它要把打印任務的數據保持多久。
            注意,當打印請求包含與裝置無關的文檔格式(諸如.DOC)時,與請求一起來的打印設置作為“建議”來處理。服務可以根據它的能力調節設置,以便解決沖突(諸如“彩色”以及“雙面打印”)。用戶可以調用GetPrintJobData來找出打印中使用的實際設置,如果合適的話,就通知用戶。
            變元數據字段jobID(任務識別號)方向IN;類型單元;M/OM注釋在CreatePrintJob響應中返回的唯一的任務識別#。
            數據字段userCredential(用戶憑證)方向IN;類型字符串;M/OO注釋如果用用戶憑證創建打印任務,則需要。
            數據字段jobState(任務狀態)方向OUT;類型字符串;M/OM注釋任務的當前狀態“接受”、 打印”、“取消”或“完成”。
            數據字段timeOfSubmission(提出時間)方向OUT;類型字符串;M/OM注釋當接受任務時的經編碼的時間戳。格式是ISO 8601。本地時間表示為YYYYMMDDTHHMMSS,而UTC時間為YYYYMMDDTHHMMSSZ。
            數據字段jobName(任務名稱)方向OUT;類型字符串;M/OM注釋打印任務的名稱。
            數據字段userName(用戶名稱)方向OUT;類型字符串;M/OM注釋占有該任務的用戶名。
            數據字段printer(打印機)方向OUT;類型字符串;M/OM注釋打印任務發送到的打印機。
            數據字段numOfCopies(復制份數)方向OUT;類型單元;M/OM注釋要打印#份拷貝。
            數據字段nUp(n向上)方向OUT;類型字符串;M/OM注釋布局的說明。如果當創建打印任務時用戶已經規定布局格式,則有可能要修改來解決沖突和其它限制。
            數據字段duplex(雙面)方向IN;類型字符串;M/OM注釋雙面設置。如果當創建打印任務時用戶已經規定雙面設置,則有可能要修改來解決沖突和其它限制。
            數據字段isColor(是彩色嗎)方向OUT;類型布爾(bool);M/OM注釋表示是否為彩色任務。
            數據字段paperType(紙型號)方向OUT;類型字符串;M/OM注釋打印任務所使用的紙的型號。如果當創建打印任務時用戶已經規定紙的型號,則有可能要修改來解決沖突和其它限制。
            數據字段bindingType(裝訂式樣)方向OUT;類型字符串;M/OO注釋打印任務所使用的裝訂式樣,如果當創建打印任務時用戶已經規定裝訂式樣,則有可能要修改來解決沖突和其它限制。
            數據字段completionTime(完成時間)方向OUT;類型字符串;M/OO注釋期望完成打印任務的期限。格式是ISO 8601。本地時間表示為YYYYMMDDTHHMMSS,UTC時間表示為YYYYMMDDTHHMMSSZ。
            數據字段printCost(打印成本)方向OUT;類型字符串;M/OO注釋當服務對打印收費時使用。
            數據字段mailingCost(郵寄成本)方向OUT;類型字符串;M/OO注釋當把打印頁面郵寄給用戶時使用。
            錯誤代碼GetPrintJobData具有和CancelPrintJob相同的錯誤代碼集。
            4.IsFormatSupported(支持格式嗎)如果打印服務支持這種方法,則如果支持給定的文檔格式它就應該返回“真”。否則,返回“假”。
            變元數據字段docFormat(文檔格式)方向IN;類型字符串;M/OM注釋文檔格式名稱。
            數據字段supported(支持)方向OUT;類型布爾(bool);M/OM注釋真或假。
            錯誤代碼代碼0x0000;代碼意義SuccessfulOK(成功同意);用途成功地完成請求。
            代碼0x0400;代碼意義ClientErrorBadRequest(用戶錯誤不良請求);用途請求是形成不良的,諸如零‘docFormat’。
            代碼0x0500;代碼意義ServerErrorInternalError(服務錯誤內部錯誤);用途所有內部錯誤的雜物箱錯誤代碼。
            代碼0x0501;代碼意義ServerErrorOperationNotSupported(服務器錯誤操作不支持);用途打印服務不支持該方法。
            5.GETSUPPORTEDFORMATS(得到支持格式)如果打印服務支持這種方法,則它應該返回支持文檔格式的列表。
            變元數據字段supportedFormat(支持格式)方向OUT;類型字符串;M/OM注釋文檔格式的陣列。
            錯誤代碼具有同IsFormatSupported相同的錯誤代碼集。注意,如果用戶有轉換文檔格式的手段(諸如特定打印機驅動程序),則它可以使用GetSupportedFormats來找到最優化的提交格式。否則,它可以使用IsFormatSupported來查詢所牽涉的文檔是否可以打印。用戶不必調用任何方法使文檔格式有效。如果它不這樣,而且不支持所提出的格式,則打印服務將返回ClientErrordocumentFormatNotSupported(用戶錯誤文檔格式不支持)錯誤代碼。
            6.GETPRINTERMODELS(得到打印機型號)如果打印服務支持這種方法,則它應該返回正在使用的打印機名稱(諸如“HP LaserJet 8000”)的列表。這種方法針對富有的PC用戶,以最優化的打印變換質量把打印機準備好數據直接發送到打印服務。
            變元數據字段printerModel(打印機型號)方向OUT;類型字符串;M/OM注釋打印機型號名稱的陣列。
            錯誤代碼具有同IsFormatSupported相同的錯誤代碼集。
            WSD(網絡服務說明語言)定義根據本發明的一個實施例的特征,為了加強互聯網上的網打印服務的打印服務界面的通用性,提供根據XML(擴展標簽語言)的網服務說明語言(WSDL)來描述打印服務界面。它定義了在與網打印服務交換消息時用戶必須遵循的消息格式。注意,對于特定實施,根據需要和任選的參數(‘minOccurs’),WSDL說明可能稍有改變。還有,缺省值名稱空間和打印服務的位置將需要修改。
            <pre listing-type="program-listing"><?xml version="1.0"encoding="utf-8"?><definitionsxmlnshttp="http//schemas.xmlsoap.org/wsdl/http/"xmlnssoap="http//schemas.xmlsoap.org/wsdl/soap/"xmlnss="http//www.w3.org/2001/XMLSchema"xmlnss0="http//tempuri.org/"xmlnssoapenc="http//schemas.xmlsoap.org/soap/encoding/"xmlnstm="http//microsoft.com/wsdl/mime/textMatching/"xmlnsmime="http//schemas.xmlsoap.org/wsdl/mime/"targetNamespace="http//tempuri.org/"xmlns="http//schemas.xmlsoap.org/wsdl/"><types> <sschema elementFormDefault="qualified"targetNamespace="http//tempuri.org/"> <selement name="CreatePrintJob"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="jobName" type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="userName" type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/>&lt;dp n="d21"/&gt; <selement minOccurs="0"maxOccurs="1" name="docLink"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="docContent"type="sbase64Binary"/> <selementminOccurs="0"maxOccurs="1"name="docFormat"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="targetPrinter"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="numOfCopies"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="duplex"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="nUp"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="isColor"type="sboolean"/> <selement minOccurs="0"maxOccurs="1"name="paperType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="bindingType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="jobTicket"type="sbase64Binary"/></ssequence> </scomplexType></selement&gt;<selement name="CreatePrintJobResponse"> <scomplexType>&lt;dp n="d22"/&gt;<ssequence> <selement minOccurs="1"maxOccurs="1"name="CreatePrintJobResult" type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/></ssequence> </scomplexType></selement><selement name="CancelPrintJob"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/></ssequence> </scomplexType></selement><selement name="CancelPrintJobResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="CancelPrintJobResult"type="sunsignedInt"/></ssequence> </scomplexType></selement><selement name="GetPrintJobData">&lt;dp n="d23"/&gt; <scomplexType> <ssequence> <selement minOccurs="1"maxOccurs="1"name="jobID"type="sunsignedInt"/> <selement minOccurs="0"maxOccurs="1"name="userCredential"type="sstring"/></ssequence> </scomplexType></selement><selement name="GetPrintJobDataResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetPrintJobDataResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="jobState"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="errorCode"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="timeOfSubmission"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name ="jobName"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="userName"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="printer"type="sstring"/>&lt;dp n="d24"/&gt; <selement minOccurs="1"maxOccurs="1"name="numOfCopies"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="duplex"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="nUp"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="isColor"type="sboolean"/> <selement minOccurs="1"maxOccurs="1"name="paperType"type="sstring"/> <selement minOccurs="1"maxOccurs="1"name="bindingType"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="completionTime"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="printingCost"type="sstring"/> <selement minOccurs="0"maxOccurs="1"name="mailingCost"type="sstring"/></ssequence> </scomplexType ></selement><selement name="IsFormatSupported"> <scomplexType ><ssequence> <selement minOccurs="1"maxOccurs="1"name="docFormat"type="sstring"/> </ssequence>&lt;dp n="d25"/&gt; </scomplexType></selement><selement name="IsFormatSupportedResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="IsFormatSupportedResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="supported"type="sboolean"/> </ssequence> </scomplexType></selement><selement name="GetSupportedDocFormats"> <scomplexType/></selement><selement name="GetSupportedDocFormatsResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetSupportedDocFormatsResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="supportedDocFormats"type="s0ArrayOfString"/></ssequence> </scomplexType></selement&gt;<scomplexType name="ArrayOfString"> <ssequence>&lt;dp n="d26"/&gt;<selement minOccurs="0"maxOccurs="unbounded"name="string"nillable="true"type="sstring"/> </ssequence></scomplexType><selement name="GetPrinterModels"> <scomplexType/></selement><selement name="GetPrinterModelsResponse"> <scomplexType><ssequence> <selement minOccurs="1"maxOccurs="1"name="GetPrinterModelsResult"type="sunsignedInt"/> <selement minOccurs="1"maxOccurs="1"name="printerModels"type="s0ArrayOfString"/></ssequence> </scomplexType></selement><selement name="unsignedInt"type="sunsignedInt"/> </sschema></types><message name="CreatePrintJobSoapIn"> <part name="parameters"element="s0CreatePrintJob"/></message><message name="CreatePrintJobSoapOut"> <part name="parameters"element="s0CreatePrintJobResponse"/></message>&lt;dp n="d27"/&gt; <message name="CancelPrintJobSoapIn"><part name="parameters"element="s0CancelPrintJob"/> </message> <message name="CancelPrintJobSoapOut"><part name="parameters"element="s0CancelPrintJobResponse"/> </message> <message name="GetPrintJobDataSoapIn"><part name="parameters"element="s0GetPrintJobData"/> </message> <message name="GetPrintJobDataSoapOut"><part name="parameters"element="s0GetPrintJobDataResponse"/> </message> <message name="IsFormatSupportedSoapIn"><part name="parameters"element="s0IsFormatSupported"/> </message> <message name="IsFormatSupportedSoapOut"><part name="parameters"element="s0IsFormatSupportedResponse"/> </message> <message name="GetSupportedDocFormatsSoapIn"><part name="parameters"element="s0GetSupportedDocFormats"/> </message> <message name="GetSupportedDocFormatsSoapOut">&lt;dp n="d28"/&gt;<part name="parameters"element="s0GetSupportedDocFormatsResponse"/> </message> <message name="GetPrinterModelsSoapIn"><part name="parameters"element="s0GetPrinterModels"/> </message> <message name="GetPrinterModelsSoapOut"><part name="parameters"element="s0GetPrinterModelsResponse"/> </message> <portType name="WebPrintServiceSoap"> <operation name="CreatePrintJob"> <input message="s0CreatePrintJobSoapIn"/> <output message="s0CreatePrintJobSoapOut"/> </operation> <operation name="CancelPrintJob"> <input message="s0CancelPrintJobSoapIn"/> <output message="s0CancelPrintJobSoapOut"/> </operation> <operation name="GetPrintJobData"> <input message="s0GetPrintJobDataSoapIn"/> <output message="s0GetPrintJobDataSoapOut"/> </operation> <operation name="IsFormatSupported"> <input message="s0IsFormatSupportedSoapIn"/> <output message="s0IsFormatSupportedSoapOut"/>&lt;dp n="d29"/&gt;</operation><operation name="GetSupportedDocFormats"> <input message="s0GetSupportedDocFormatsSoapIn"/> <output message="s0GetSupportedDocFormatsSoapOut"/></operation><operation name="GetPrinterModels"> <input message="s0GetPrinterModelsSoapIn"/> <output message="s0GetPrinterModelsSoapOut"/></operation> </portType> <binding name="WebPrintServiceSoap"type="s0WebPrintServiceSoap"><soapbindingtransport="http//schemas.xmlsoap.org/soap/http" style="document"/><operation name="CreatePrintJob"> <soapoperationsoapAction="http//tempuri.org/CreatePrintJob"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation>&lt;dp n="d30"/&gt;<operation name="CancelPrintJob"> <soapoperationsoapAction="http//tempuri.org/CancelPrintJob"style="document"/> <input> <soapbody use="literal"/> </input> <output> <soapbody use="literal"/> </output> </operation> <operation name="GetPrintJobData"> <soapoperationsoapAction="http//tempuri.org/GetPrintJobData"style="document"/> <input> <soapbody use="literal"/> </input> <output> <soapbody use="literal"/> </output> </operation> <operation name="IsFormatSupported"> <soapoperationsoapAction="http//tempuri.org/IsFormatSupported"style="document"/> <input>&lt;dp n="d31"/&gt; <soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation><operation name="GetSupportedDocFormats"> <soapoperationsoapAction="http//tempuri.org/GetSupportedDocFormats"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output></operation><operation name="GetPrinterModels"> <soapoperationsoapAction="http//tempuri.org/GetPrinterModels"style="document"/> <input><soapbody use="literal"/> </input> <output><soapbody use="literal"/> </output>&lt;dp n="d32"/&gt;</operation> </binding> <service name="WebPrintService"><documentation>web print service.</documentation><port name="WebPrintServiceSoap"binding="s0WebPrint ServiceSoap"> <soapaddresslocation="http//localhost/PCPrintPortal/WebPrintService.asmx"/> </port> </service></definitions></pre>由于有許多實施例可以應用本發明的原理,應該理解,這里描述的根據附圖的實施例意味著僅作為示例而不是作為對本發明的限制。因此,這里所描述的本發明設想在下面權利要求書的范圍內的所有如此的實施例以及其等效物。
            權利要求
            1.具有計算機可執行指令以執行在網絡上提供打印服務的步驟的一種計算機可讀出媒體,其特征在于,它包括顯示一個服務界面,供用戶經過網絡與打印服務通信,以輸入打印請求的打印請求數據,所述打印請求數據包括識別待打印文檔的數據;使打印請求有效和向用戶提供反饋;得到待打印的文檔;把所述文檔變換成用于打印的格式;以及根據所述打印請求打印經變換的文檔。
            2.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述網絡是互聯網。
            3.如權利要求2所述的一種計算機可讀出媒體,其特征在于,所述服務界面包括網頁,用戶通過所述網頁輸入打印請求數據。
            4.如權利要求2所述的一種計算機可讀出媒體,其特征在于,識別所述待打印文檔的數據包括待打印文檔的URL(統一資源定位符),并且其中,計算機可讀出媒體進一步包括計算機可執行指令,用于執行從所述URL檢索出待打印文檔的步驟。
            5.如權利要求4所述的一種計算機可讀出媒體,其特征在于,檢索所述待打印文檔的步驟包括使用用戶憑證來得到對所述URL的訪問。
            6.如權利要求2所述的一種計算機可讀出媒體,其特征在于,得到所述待打印文檔的步驟包括在互聯網上檢索出來自用戶的待打印文檔的發送。
            7.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述變換步驟包括運行相應于待打印文檔格式的本地應用程序以變換所述文檔。
            8.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述變換步驟包括調用遠程打印變換服務來變換待打印文檔。
            9.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述打印步驟包括在打印服務的本地打印機上打印文檔。
            10.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述打印步驟包括在遠程打印機上打印文檔。
            11.如權利要求1所述的一種計算機可讀出媒體,其特征在于,所述網絡是企業內部網。
            12.供移動計算裝置的用戶打印文檔的一種方法,其特征在于,它包含使用移動計算裝置來連接其上駐留有打印服務的一個網絡;訪問打印服務提供的服務界面,用于接收打印請求;通過服務界面輸入打印文檔的打印請求數據,所述打印請求數據包括識別待打印文檔的數據;以及接收來自打印服務的、確認接收的打印請求數據的確認。
            13.如權利要求12所述的方法,其特征在于,所述網絡是互聯網。
            14.如權利要求13所述的方法,其特征在于,所述服務界面包括網頁,用戶通過所述網頁輸入打印請求數據。
            15.如權利要求12所述的方法,其特征在于,所述輸入打印請求數據步驟包括輸入待打印文檔的URL。
            16.如權利要求15所述的方法,其特征在于,所述輸入步驟進一步包括為訪問URL而提供用戶的憑證。
            17.如權利要求12所述的方法,其特征在于,所述輸入步驟進一步包括經過互聯網把待打印文檔發送到打印服務。
            18.如權利要求12所述的方法,其特征在于,所述網絡是企業內部網。
            19.如權利要求12所述的方法,其特征在于,所述移動計算裝置是網絡蜂窩電話。
            20.如權利要求12所述的方法,其特征在于,所述移動計算裝置是膝上計算機。
            21.如權利要求12所述的方法,其特征在于,所述移動計算裝置是個人數字助理(PDA)裝置。
            22.一種可通過網絡訪問的打印服務系統,其特征在于,它包括界面部件,用于向用戶提供經過所述網絡可訪問的服務界面,供用戶輸入打印請求的打印請求數據,所述打印請求數據包括識別待打印文檔的數據;請求處理部件,用于使打印請求有效而得到待打印文檔,并根據打印請求打印經變換的文檔。
            23.如權利要求22所述的打印服務系統,其特征在于,進一步包括變換部件,用于把文檔變換成打印格式。
            24.如權利要求23所述的打印服務系統,其特征在于,進一步包括相應于待打印文檔格式和所述變換部件可調用的至少一個應用程序,用于把所述文檔變換成打印格式。
            25.如權利要求23所述的打印服務系統,其特征在于,對所述變換部件編程以調用遠程打印變換服務,把所述文檔變換成打印格式。
            26.如權利要求22所述的打印服務系統,其特征在于,所述網絡是互聯網,其中,所述服務界面包括網頁,用戶可以通過所述網頁輸入打印請求數據。
            27.如權利要求22所述的打印服務系統,其特征在于,配置服務界面以接收識別待打印文檔位置的URL作為打印請求數據的參數。
            28.如權利要求27所述的打印服務系統,其特征在于,對所述請求處理部件進行編程以訪問檢索待打印文檔的URL。
            29.如權利要求28所述的打印服務系統,其特征在于,對所述請求處理部件進行編程,以使用用戶憑證以便得到對所述URL的訪問。
            30.如權利要求22所述的打印服務系統,其特征在于,配置所述服務界面以經過網絡接收來自用戶的待打印文檔。
            31.如權利要求22所述的打印服務系統,其特征在于,進一步包括打印文檔的可選擇的打印機庫。
            32.如權利要求22所述的打印服務系統,其特征在于,進一步包括登錄和計費部件,用于處理打印請求處理的登錄和計費。
            全文摘要
            在諸如互聯網或共同的企業內部互聯網之類的網絡上提供一種打印服務,用于諸如膝上計算機、PDA和上網小區電話等的移動計算裝置。當移動裝置的用戶要打印文檔時,使用移動裝置來訪問打印服務,并發送打印請求,所述打印請求根據URL(統一資源定位符)而規定文檔在網絡上的位置。作為響應,打印服務使打印請求有效,檢索文檔、把文檔變換成可打印、并按用戶的請求打印文檔。另一方面,可以通過移動裝置直接把文檔提供給打印服務。
            文檔編號G06K9/00GK1495601SQ0314524
            公開日2004年5月12日 申請日期2003年6月25日 優先權日2002年6月26日
            發明者Z·吳, Z 吳 申請人:微軟公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品