2023-07-04 12:22:10 來自:122.116.120.46
 回覆
1樓. 回覆 : 1550 時間 : 2023-07-26 16:46:20
Chrome Printer Management API 總覽
bookmark_border
Chrome Printer Management API 是一種符合 REST 樣式的 API,可用來為 Chrome 或 Google Workspace 客戶建立及管理印表機和列印伺服器。您的使用者可以使用您透過 API 設定的印表機,直接從機構的 Chrome OS 裝置進行列印。
下列為 Chrome Printer Management API 中常用的字詞:
CUPS
CUPS 是一款開放原始碼列印系統,使用網際網路列印通訊協定 (IPP) 來管理多種印表機的網路列印工作和佇列,而不需要使用特定裝置的驅動程式。
列印伺服器
機構網路中的虛擬列印佇列或實體伺服器,可將列印工作轉送至個別印表機。
印表機
連線至機構網路的實體印表機。
後續步驟
- 如要瞭解如何設定 Chrome Printer Management API,包括管理控制台需求和服務帳戶設定,請參閱入門指南指南。
2樓. 回覆 : 1550 時間 : 2023-07-07 12:54:06
關於 雲端列印 IPP 印表機 網路印表機 簡介
將機器設為 IPP 印表機 新增機器至電腦並作為 IPP 印表機
關於 雲端列印
雲端列印一項列印服務,此服務讓您可透過行動電話、智慧型手機、電腦或其他網路裝置將資料輸出至印表機。
透過 雲端列印,您可從任何位置將文件或影像傳送至指定的印表機。 例如,您可在家用電腦傳送至辦公室的印表機列印,或用您經常使用的應用程式傳送至家裡的印表機,如此便能輕鬆完成列印。 而且不需要安裝驅動程式或下載軟體。
3樓. 回覆 : 1550 時間 : 2023-07-06 15:11:18
PHP PrintIPP 使用
https://www.nongnu.org/phpprintipp/usage#c1
4樓. 回覆 : 1550 時間 : 2023-07-05 17:27:25
https://www.nongnu.org/phpprintipp/
5樓. 回覆 : 1550 時間 : 2023-07-05 11:04:48
phplib-ipp 是一個 PHP 庫,用於與 IPP 伺服器進行通訊。它提供了對 IPP 協議的封裝,使開發者可以輕鬆地發送 IPP 請求和處理 IPP 響應。
phplib-ipp 的下載和使用可以通過以下步驟進行:
訪問 phplib-ipp 的 GitHub 倉庫頁面:https://github.com/alexkob/php-ipp
在倉庫頁面中,你可以找到關於 phplib-ipp 的原始碼和說明文件。
如果你使用 Git,可以通過以下命令克隆倉庫到本地:
bash
Copy code
git clone https://github.com/alexkob/php-ipp.git
如果你不使用 Git,可以點擊 "Code" 按鈕,並選擇 "Download ZIP" 下載原始碼的壓縮文件。
下載並提取原始碼後,你可以將 phplib-ipp 目錄複製到你的 PHP 專案中,並使用 require 或 include 語句導入相關文件,以便在你的程式碼中使用 phplib-ipp 庫。
詳細的使用方法和示例可以在 phplib-ipp 的 GitHub 頁面中找到。你可以參考該庫的文件和示例程式碼,了解如何構建 IPP 請求、解析 IPP 響應以及其他相關操作。
請注意,phplib-ipp 是第三方開發的庫,因此在使用過程中可能會涉及到與庫作者或開發者社群的交流和支援。建議在使用之前仔細閱讀文件和了解庫的特性、功能和使用方式。
6樓. 回覆 : 1550 時間 : 2023-07-05 10:53:43
Gutenprint(原名Gimp-Print)是一個開源的列印驅動程式集,旨在提供對各種印表機品牌和型號的支援。它提供了一個通用的驅動程式架構,可以與不同的印表機兼容。
以下是Gutenprint的一些特點和功能:
多品牌支援:Gutenprint支援多種印表機品牌,包括Canon、Epson、HP、Lexmark等。它旨在提供通用的驅動程式,以支援廣泛的印表機型號。
多功能支援:Gutenprint支援不同印表機的列印和掃描功能,並且可以與相應的應用程式集成,以實現列印和掃描操作。
高質量輸出:Gutenprint致力於提供高質量的列印輸出,包括細膩的圖像細節和準確的顏色再現。
改進的功能:Gutenprint還提供了一些改進的功能,例如印表機校準、墨水消耗監控和打印作業管理等。
Gutenprint最初是為GNU Image Manipulation Program(GIMP)開發的,但它現在也可作為獨立的列印驅動程式使用。您可以訪問Gutenprint的官方網站(http://gimp-print.sourceforge.net)以獲取更多關於項目的信息、驅動程式的下載和相關資源。
請注意,Gutenprint的重點是提供印表機驅動程式,並非專門針對IPP協議的實現。如果您需要專注於IPP的功能和通信,則CUPS可能是更適合的選擇,因為它是一個完整的IPP實現和列印管理系統。
7樓. 回覆 : 1550 時間 : 2023-07-05 08:29:55
<?php
require_once 'phplib/ipp.php';
// 要列印的文件路徑
$file = '/path/to/file.pdf';
// IPP服務器的URL
$ippServer = 'http://localhost:631/printers/YourPrinter';
// 創建IPP請求
$request = new IPPRequest();
$request->setOperation('Print-Job');
$request->addAttribute('document-format', 'application/pdf');
$request->addAttribute('job-name', 'My Print Job');
// 讀取文件內容
$fileContent = file_get_contents($file);
// 將文件內容添加到IPP請求中
$request->setData($fileContent);
// 創建IPP客戶端並發送請求
$client = new IPPClient();
$response = $client->sendRequest($ippServer, $request);
// 解析IPP響應
$jobId = $response->getAttribute('job-id');
$status = $response->getAttribute('job-state');
if ($status === 9) {
echo '列印作業已成功提交,作業ID:' . $jobId;
} else {
echo '列印作業失敗。';
}
8樓. 回覆 : 1550 時間 : 2023-07-05 08:27:40
這個範例使用了第三方庫「phplib」,它提供了IPP客戶端的實現,並簡化了與IPP服務器進行通信的過程。請確保在您的代碼中包含了這個庫的正確路徑和文件。
您可以在https://github.com/novell/php-ipp 中找到「phplib」庫的源代碼和文檔,以了解更多關於其使用方法的詳細信息。
9樓. 回覆 : 1550 時間 : 2023-07-05 08:23:13
<?php
// 要列印的文件路徑
$file = '/path/to/file.pdf';
// IPP服務器的URL
$ippServer = 'http://localhost:631/printers/YourPrinter';
// 用於發送IPP請求的函數
function sendIPPRequest($url, $request) {
$ch = curl_init();
// 設置URL和其他選項
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
// 執行請求並獲取響應
$response = curl_exec($ch);
// 檢查是否發生錯誤
if(curl_errno($ch)) {
$error = curl_error($ch);
curl_close($ch);
throw new Exception("IPP request failed: " . $error);
}
// 關閉curl連接
curl_close($ch);
return $response;
}
// 創建IPP請求
$request = new stdClass();
$request->operation = 'Print-Job';
$request->attributes = new stdClass();
$request->attributes->documentFormat = 'application/pdf';
$request->attributes->jobName = 'My Print Job';
// 讀取文件內容
$fileContent = file_get_contents($file);
// 發送IPP請求
$response = sendIPPRequest($ippServer, $request);
// 解析IPP響應
$ippResponse = simplexml_load_string($response);
// 檢查響應狀態
$status = (string)$ippResponse->job_attributes->job_state;
if ($status === 'completed') {
echo '列印作業已成功完成。';
} else {
echo '列印作業失敗。';
}
10樓. 回覆 : 1550 時間 : 2023-07-05 06:30:16
-
CUPS IPP(Internet Printing Protocol) API:CUPS是基於IPP協議的,而IPP是一種用於列印和傳輸列印數據的標準協議。CUPS提供了一個用於與IPP服務器進行通信的API,開發人員可以使用這個API來訪問和控制列印作業。
11樓. 回覆 : 1550 時間 : 2023-07-05 06:23:42
<?php
// 設置CUPS伺服器的IP地址和端口
$serverIP = '192.168.13.132';
$serverPort = 631;
// 列印文件
$file = 'path/to/file.pdf';
$printerURI = 'ipp://' . $serverIP . ':' . $serverPort . '/printers/printer_name';
$jobName = 'Print Job';
// 創建IPP連接
$ipp = new IPP();
// 開始IPP會話
$ipp->startSession($serverIP, $serverPort);
// 列印文件
$ipp->printFile($printerURI, $file, $jobName);
// 結束IPP會話
$ipp->endSession();
?>
12樓. 回覆 : 1550 時間 : 2023-07-04 23:24:18
根據需求和資源,以下是一些適合的第三方解決方案來實現網路雲端印表機服務和打印 PDF 文件的指導:
Google Cloud Print:Google Cloud Print 是一個提供雲端列印服務的解決方案。它支援各種平台和設備,包括網頁、Chrome 瀏覽器、Android 和 iOS 裝置等。你可以使用 Google Cloud Print 的 API 和文件,來開發你自己的應用程式來管理和控制雲端印表機,以及處理和打印 PDF 文件。
CUPS(Common Unix Printing System):CUPS 是一個開源的列印系統,提供了網路列印和管理印表機的功能。它支援多種列印協議,包括 IPP、RAW 和 LPR。你可以使用 CUPS 的 API 和工具,來開發你自己的應用程式來實現網路雲端印表機服務,以及處理和打印 PDF 文件。
Adobe Document Cloud API:Adobe Document Cloud 提供了一個開發者 API,可以讓你使用他們的雲端印表機服務和 PDF 文件處理功能。你可以使用這個 API 來集成雲端印表機功能到你的應用程式中,以及處理和打印 PDF 文件。
PrintNode:PrintNode 是一個提供雲端列印服務的平台,它提供了一個 API 和客戶端程式庫,可以讓你控制和管理雲端印表機,以及處理和打印 PDF 文件。你可以使用 PrintNode 的 API 和文件,來開發你自己的應用程式來實現網路雲端印表機服務。
請注意,這些解決方案都提供了相關的文檔和支援資源,以協助你開發和實現網路雲端印表機服務,並處理和打印 PDF 文件。你可以訪問它們的官方網站和開發者門戶網站,以獲取更多詳細資訊和指導。
13樓. 回覆 : 1550 時間 : 2023-07-04 14:45:38
Request::OPERATION_PRINT_JOB
: 指定列印請求的操作類型為「列印作業」。
1
: 指定請求的版本號,這裡使用的是版本 1。
[]
: 這是一個陣列,用於設定列印請求的屬性(Attributes)。
new Charset('utf-8')
: 指定要使用的字符集為 UTF-8。
new DocumentFormat('text/plain')
: 指定要列印的文件格式為純文字格式。
new JobHoldUntil('no-hold')
: 指定作業不要暫停,即不要等待其他條件滿足再開始列印。
new JobName('Print Job')
: 指定作業的名稱為「Print Job」。
new JobPriority(50)
: 指定作業的優先順序為 50。
new JobSheets('none')
: 指定不需要額外的作業表單。
new Media('iso-a4-white')
: 指定要使用的媒體(紙張)為 ISO A4 白色。
$data
: 列印的資料,這裡是指定的文字資料。
14樓. 回覆 : 1550 時間 : 2023-07-04 14:18:10
Google Cloud Print API 已於2021年12月31日停用。
由於 Google Cloud Print API 不再可用,你可能需要考慮其他解決方案來實現網路雲端印表機和打印 PDF 文件的功能。以下是一些替代方案:
硬件提供商的解决方案:許多打印機和印表機供應商提供自己的軟體和服務,以實現網路列印和雲端列印功能。你可以查看打印機供應商的官方文檔和支援頁面,以尋找相關的解決方案。
第三方列印服務:有許多第三方列印服務提供商可以協助實現網路列印和雲端列印功能。這些服務通常提供 API 或軟體開發工具包(SDK),使你能夠集成他們的服務到你的應用程序中。一些知名的第三方列印服務提供商包括 PrinterOn、ezeep、PrintNode 等。
自行開發解決方案:如果你有足夠的開發資源和能力,你可以考慮自行開發一個網路雲端印表機服務。這需要涉及網路通訊協定(如IPP)、列印協議(如RAW或LPR)、PDF 文件處理等方面的開發工作。
請根據你的需求和資源選擇適合的解決方案。記得查閱相關供應商的文檔和支援資源,以獲取更多關於如何實現網路雲端印表機和打印 PDF 文件的指導。