次のコードを使用して、RAW データ (エスケープ コード) をプリンターに送信しています。
PrintService pservice = this.getPrintService();
DocPrintJob job = pservice.createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(printdata, flavor, null);
job.addPrintJobListener(this);
try {
job.print(doc, null);
...
これはWindowsで正しく機能し、プリンターはエスケープコードを解釈して、期待どおりに印刷します。
Linux (ドライバーの CUPS バージョンをインストールしました) では、生データを送信すると、空のページが印刷され、印刷エラーが報告されます。奇妙なことに、システムlprコマンドを使用してデータを送信すると、すべてが正しく機能します。
何がうまくいかないのかについての手がかりはありますか?
[注] 自由にタイトルを編集してください。より良いタイトルが思いつきませんでした
[編集] これは私が得るエラーログです: LOGS
[edit2]私があまり好きではない解決策を持つ同様のスレッド: JavaでのLinux印刷
[編集 3] さまざまな DocFlavors を試してみると、新しいエラーが発生しました。
E [07/Dec/2012:17:45:44 +0100] Unknown directive SystemGroup on line 4 of /etc/cups/cupsd.conf.
E [07/Dec/2012:17:45:44 +0100] Unknown directive JobPrivateAccess on line 85 of /etc/cups/cupsd.conf.
E [07/Dec/2012:17:45:44 +0100] Unknown directive JobPrivateValues on line 86 of /etc/cups/cupsd.conf.
E [07/Dec/2012:17:45:44 +0100] Unknown directive SubscriptionPrivateAccess on line 87 of /etc/cups/cupsd.conf.
E [07/Dec/2012:17:45:44 +0100] Unknown directive SubscriptionPrivateValues on line 88 of /etc/cups/cupsd.conf.
W [07/Dec/2012:17:45:44 +0100] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id 'LabelWriter-400-Gray..' already exists
W [07/Dec/2012:17:45:44 +0100] CreateDevice failed: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-LabelWriter-400' already exists
これは CUPS 構成エラーを示している可能性がありますか?